1 kumpf 1.2 // ===================================================================
2 // Title: Core Collections 2.7
3 // Filename: Core27_Collection.mof
4 // Version: 2.7.0
5 // Release: Final
6 // Date: 03/31/03
7 // ===================================================================
8 // Copyright 2000-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 kumpf 1.2 // ===================================================================
44 // Description: The Core Model defines basic management concepts.
45 // This file defines the concepts and classes in support
46 // of Collections.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.7
53 // CR968 - Remove the Experimental qualifier
54 // - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
55 // and ExtraCapacitySet experimental for 2.8
56 // CR994 - Update description for InstanceID
57 //
58 // Change Log for v2.7
59 // CR684 - Add SystemSpecificCollection and HostedCollection
60 // CR760 - Add OrderedMemberOfCollection
61 // ==================================================================
62
63 #pragma locale ("en_US")
64 kumpf 1.2
65
66 // ==================================================================
67 // Collection
68 // ==================================================================
69 [Abstract, Version ("2.6.0"), Description (
70 "Collection is an abstract class that provides a common "
71 "superclass for data elements that represent collections of "
72 "ManagedElements and its subclasses.") ]
73 class CIM_Collection : CIM_ManagedElement {
74 };
75
76
77 // ==================================================================
78 // MemberOfCollection
79 // ==================================================================
80 [Association, Aggregation, Version ("2.6.0"), Description (
81 "CIM_MemberOfCollection is an aggregation used to establish "
82 "membership of ManagedElements in a Collection." ) ]
83 class CIM_MemberOfCollection {
84
85 kumpf 1.2 [Key, Aggregate, Description (
86 "The Collection that aggregates members.") ]
87 CIM_Collection REF Collection;
88
89 [Key, Description (
90 "The aggregated member of the Collection.") ]
91 CIM_ManagedElement REF Member;
92 };
93
94
95 // ==============================================================
96 // OrderedMemberOfCollection
97 // ==============================================================
98 [Association, Aggregation, Version ("2.7.0"),
99 Description (
100 "CIM_OrderedMemberOfCollection is an aggregation used to "
101 "establish an ordered membership of ManagedElements in a "
102 "Collection." ) ]
103 class CIM_OrderedMemberOfCollection : CIM_MemberOfCollection {
104
105 [Description (
106 kumpf 1.2 "AssignedSequence is an unsigned integer 'n' that indicates "
107 "the relative position of members within a Collection. When "
108 "'n' is a positive integer, it indicates a place in the "
109 "sequence of members, with smaller integers indicating earlier "
110 "positions in the sequence. The special value '0' indicates "
111 "'don't care'. If two or more members have the same non-zero "
112 "sequence number, then the ordering between those members is "
113 "irrelavent, but they must all be ordered at the appropriate "
114 "place in the overall sequence.\n"
115 "\n"
116 "A series of examples will make ordering of members "
117 "clearer: \n"
118 " o If all members have the same sequence number,\n"
119 " regardless of whether it is '0' or non-zero, any\n"
120 " order is acceptable.\n"
121 " o The values: \n"
122 " 1:MEMBER A \n"
123 " 2:MEMBER B \n"
124 " 1:MEMBER C \n"
125 " 3:MEMBER D \n"
126 " indicate two acceptable orders: A,C,B,D or C,A,B,D,\n"
127 kumpf 1.2 " since A and C can be ordered in either sequence, but\n"
128 " only at the '1' position. \n"
129 "\n"
130 "Note that the non-zero sequence numbers need not start with "
131 "'1', and they need not be consecutive. All that matters is "
132 "their relative magnitude.") ]
133 uint64 AssignedSequence;
134 };
135
136
137 // ==================================================================
138 // SystemSpecificCollection
139 // ==================================================================
140 [Version ("2.7.0"), Description (
141 " SystemSpecificCollection represents the general "
142 "concept of a collection which is scoped (or contained) by a "
143 "System. It represents a Collection that only has meaning "
144 "in the context of a System, and/or whose elements are "
145 "restricted by the definition of the System. This is explicitly "
146 "described by the (required) association, HostedCollection. \n"
147 " An example of a SystemSpecificCollection is a "
148 kumpf 1.2 "Fibre Channel zone that collects network ports, port "
149 "groupings and aliases (as required by a customer) in the "
150 "context of an AdminDomain. The Collection is not a part "
151 "of the domain, but merely an arbitrary grouping of the devices "
152 "and other Collections in the domain. In other words, the "
153 "context of the Collection is restricted to the domain, and its "
154 "members are also limited by the domain.") ]
155 class CIM_SystemSpecificCollection : CIM_Collection {
156
157 [Key, Description (
158 "Within the scope of the instantiating Namespace, InstanceID "
159 "opaquely and uniquely identifies an instance of this class. "
160 "In order to ensure uniqueness within the NameSpace, the "
161 "value of InstanceID SHOULD be constructed using the "
162 "following 'preferred' algorithm: \n"
163 " <OrgID>:<LocalID> \n"
164 "Where <OrgID> and <LocalID> are separated by a colon ':', "
165 "and where <OrgID> MUST include a copyrighted, trademarked "
166 "or otherwise unique name that is owned by the business entity "
167 "creating/defining the InstanceID, or is a registered ID that is "
168 "assigned to the business entity by a recognized global "
169 kumpf 1.2 "authority (This is similar to the <Schema Name>_<Class Name> "
170 "structure of Schema class names.) In addition, to ensure "
171 "uniqueness <OrgID> MUST NOT contain a colon (':'). When using "
172 "this algorithm, the first colon to appear in "
173 "InstanceID MUST appear between <OrgID> and <LocalID>. \n"
174 " <LocalID> is chosen by the business entity and SHOULD not be "
175 "re-used to identify different underlying (real-world) elements. "
176 "If the above 'preferred' algorithm is not used, the defining "
177 "entity MUST assure that the resultant InstanceID is not "
178 "re-used across any InstanceIDs produced by this or other "
179 "providers for this instance's NameSpace. \n"
180 "For DMTF defined instances, the 'preferred' algorithm MUST be "
181 "used with the <OrgID> set to 'CIM'.") ]
182 string InstanceID;
183 };
184
185
186 // ==================================================================
187 // HostedCollection
188 // ==================================================================
189 [Association, Version ("2.7.0"), Description (
190 kumpf 1.2 "HostedCollection defines a SystemSpecificCollection "
191 "in the context of a scoping System. It represents a "
192 "Collection that only has meaning in the context of a "
193 "System, and/or whose elements are restricted by the "
194 "definition of the System.") ]
195 class CIM_HostedCollection : CIM_Dependency {
196
197 [Override ("Antecedent"), Min (1), Max (1), Description (
198 "The scoping system.") ]
199 CIM_System REF Antecedent;
200
201 [Override ("Dependent"), Description (
202 "The collection defined in the context of a system.") ]
203 CIM_SystemSpecificCollection REF Dependent;
204 };
205
206
207 // ===================================================================
208 // CollectionOfMSEs
209 // ===================================================================
210 [Abstract, Version ("2.6.0"), Description (
211 kumpf 1.2 " The CollectionOfMSEs object allows the grouping of Managed"
212 "SystemElements for various identification purposes and to "
213 "reduce the complexity of associating Settings and "
214 "Configurations. It is abstract to require further definition "
215 "and semantic refinement in subclasses. The CollectionOfMSEs "
216 "object does not carry any state or status information, but "
217 "only represents a grouping or 'bag' of Elements. For this "
218 "reason, it is incorrect to subclass groups that have state/"
219 "status from CollectionOfMSEs - an example is CIM_Redundancy"
220 "Group (which is subclassed from LogicalElement). \n"
221 " Collections typically aggregate 'like'objects, but are "
222 "not required to do so. They simply identify 'bags' and "
223 "may represent an optimization. This is especially true "
224 "with respect to their association to Settings and "
225 "Configurations. Without Collections, one is forced to "
226 "define individual ElementSetting andElementConfiguration "
227 "associations, to tie Settings and Configuration objects to "
228 "individual ManagedSystemElements. There may be much "
229 "duplication in assigning the same Setting to multiple objects. "
230 "In addition, using the Collection object allows the "
231 "determination that the Setting and Configuration associations "
232 kumpf 1.2 "are indeed the same for the Collection's members. This "
233 "information would otherwise be obtained by defining the "
234 "Collection in a proprietary manner, and then querying "
235 "the ElementSetting and ElementConfiguration associations to "
236 "determine ifthe Collection set is completely covered.") ]
237 class CIM_CollectionOfMSEs : CIM_Collection {
238
239 [MaxLen (256), Description (
240 "The identification of the Collection object. When subclassed, "
241 "the CollectionID property can be overridden to be a Key "
242 "property.") ]
243 string CollectionID;
244 };
245
246
247 // ==================================================================
248 // CollectedCollections
249 // ==================================================================
250 [Association, Aggregation, Version ("2.6.0"), Description (
251 "CIM_CollectedCollections is an aggregation association "
252 "representing that a CollectionOfMSEs may itself be contained "
253 kumpf 1.2 "in a CollectionOfMSEs.") ]
254 class CIM_CollectedCollections {
255 [Aggregate, Key, Description (
256 "The 'higher level' or parent element in the aggregation.") ]
257 CIM_CollectionOfMSEs REF Collection;
258
259 [Key, Description (
260 "The 'collected' Collection.") ]
261 CIM_CollectionOfMSEs REF CollectionInCollection;
262 };
263
264
265 // ==================================================================
266 // CollectedMSEs
267 // ==================================================================
268 [Association, Aggregation, Version ("2.6.0"), Description (
269 "CIM_CollectedMSEs is a generic association used to "
270 "establish the members of the grouping object, CollectionOf"
271 "MSEs.") ]
272 class CIM_CollectedMSEs : CIM_MemberOfCollection {
273 [Aggregate, Override("Collection"), Description (
274 kumpf 1.2 "The grouping or 'bag' object that represents the "
275 "Collection.") ]
276 CIM_CollectionOfMSEs REF Collection;
277
278 [Override("Member"), Description (
279 "The members of the Collection.") ]
280 CIM_ManagedSystemElement REF Member;
281 };
282
283
284 // ===================================================================
285 // end of file
286 // ===================================================================
|