1 karl 1.1 // ===================================================================
2 // Title: Core Collections 2.7
3 // Filename: Core27_Collection.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 07/01/02
7 // ===================================================================
8 // Copyright 2002 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 karl 1.1 // 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 karl 1.1 // ===================================================================
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 // CR684 - Add SystemSpecificCollection and HostedCollection
54 // CR760 - Add OrderedMemberOfCollection
55 // ==================================================================
56
57 #pragma locale ("en_US")
58
59
60 // ==================================================================
61 // Collection
62 // ==================================================================
63 [Abstract, Version ("2.6.0"), Description (
64 karl 1.1 "Collection is an abstract class that provides a common "
65 "superclass for data elements that represent collections of "
66 "ManagedElements and its subclasses.") ]
67 class CIM_Collection : CIM_ManagedElement {
68 };
69
70
71 // ==================================================================
72 // MemberOfCollection
73 // ==================================================================
74 [Association, Aggregation, Version ("2.6.0"), Description (
75 "CIM_MemberOfCollection is an aggregation used to establish "
76 "membership of ManagedElements in a Collection." ) ]
77 class CIM_MemberOfCollection {
78
79 [Key, Aggregate, Description (
80 "The Collection that aggregates members.") ]
81 CIM_Collection REF Collection;
82
83 [Key, Description (
84 "The aggregated member of the Collection.") ]
85 karl 1.1 CIM_ManagedElement REF Member;
86 };
87
88
89 // ==============================================================
90 // OrderedMemberOfCollection
91 // ==============================================================
92 [Association, Aggregation, Experimental, Version ("2.7.0"),
93 Description (
94 "CIM_OrderedMemberOfCollection is an aggregation used to "
95 "establish an ordered membership of ManagedElements in a "
96 "Collection." ) ]
97 class CIM_OrderedMemberOfCollection : CIM_MemberOfCollection {
98
99 [Description (
100 "AssignedSequence is an unsigned integer 'n' that indicates "
101 "the relative position of members within a Collection. When "
102 "'n' is a positive integer, it indicates a place in the "
103 "sequence of members, with smaller integers indicating earlier "
104 "positions in the sequence. The special value '0' indicates "
105 "'don't care'. If two or more members have the same non-zero "
106 karl 1.1 "sequence number, then the ordering between those members is "
107 "irrelavent, but they must all be ordered at the appropriate "
108 "place in the overall sequence.\n"
109 "\n"
110 "A series of examples will make ordering of members "
111 "clearer: \n"
112 " o If all members have the same sequence number,\n"
113 " regardless of whether it is '0' or non-zero, any\n"
114 " order is acceptable.\n"
115 " o The values: \n"
116 " 1:MEMBER A \n"
117 " 2:MEMBER B \n"
118 " 1:MEMBER C \n"
119 " 3:MEMBER D \n"
120 " indicate two acceptable orders: A,C,B,D or C,A,B,D,\n"
121 " since A and C can be ordered in either sequence, but\n"
122 " only at the '1' position. \n"
123 "\n"
124 "Note that the non-zero sequence numbers need not start with "
125 "'1', and they need not be consecutive. All that matters is "
126 "their relative magnitude.") ]
127 karl 1.1 uint64 AssignedSequence;
128 };
129
130
131 // ==================================================================
132 // SystemSpecificCollection
133 // ==================================================================
134 [Experimental, Version ("2.7.0"), Description (
135 " SystemSpecificCollection represents the general "
136 "concept of a collection which is scoped (or contained) by a "
137 "System. It represents a Collection that only has meaning "
138 "in the context of a System, and/or whose elements are "
139 "restricted by the definition of the System. This is explicitly "
140 "described by the (required) association, HostedCollection. \n"
141 " An example of a SystemSpecificCollection is a "
142 "Fibre Channel zone that collects network ports, port "
143 "groupings and aliases (as required by a customer) in the "
144 "context of an AdminDomain. The Collection is not a part "
145 "of the domain, but merely an arbitrary grouping of the devices "
146 "and other Collections in the domain. In other words, the "
147 "context of the Collection is restricted to the domain, and its "
148 karl 1.1 "members are also limited by the domain.") ]
149 class CIM_SystemSpecificCollection : CIM_Collection {
150
151 [Key, Description (
152 "InstanceID opaquely identifies a unique instance of "
153 "collection that is scoped (contained) by a System. "
154 "The InstanceID must be unique within a namespace. "
155 "In order to ensure uniqueness, the value of InstanceID "
156 "should be constructed in the following manner: \n"
157 "<Vendor ID><ID> \n"
158 " <Vendor ID> MUST include a copyrighted, trademarked "
159 "or otherwise unique name that is owned by the business "
160 "entity or a registered ID that is assigned to the business "
161 "entity that is defining the InstanceID. (This is similar to "
162 "the <Schema Name>_<Class Name> structure of Schema class "
163 "names.) The purpose of <Vendor ID> is to ensure that <ID> "
164 "is truly unique across multiple vendor implementations. "
165 "If such a name is not used, the defining entity MUST assure "
166 "that the <ID> portion of the Instance ID is unique when "
167 "compared with other instance providers. For DMTF defined "
168 "instances, the <Vendor ID> is 'CIM'. \n"
169 karl 1.1 " <ID> MUST include a vendor specified unique "
170 "identifier.") ]
171 string InstanceID;
172 };
173
174
175 // ==================================================================
176 // HostedCollection
177 // ==================================================================
178 [Association, Experimental, Version ("2.7.0"), Description (
179 "HostedCollection defines a SystemSpecificCollection "
180 "in the context of a scoping System. It represents a "
181 "Collection that only has meaning in the context of a "
182 "System, and/or whose elements are restricted by the "
183 "definition of the System.") ]
184 class CIM_HostedCollection : CIM_Dependency {
185
186 [Override ("Antecedent"), Min (1), Max (1), Description (
187 "The scoping system.") ]
188 CIM_System REF Antecedent;
189
190 karl 1.1 [Override ("Dependent"), Description (
191 "The collection defined in the context of a system.") ]
192 CIM_SystemSpecificCollection REF Dependent;
193 };
194
195
196 // ===================================================================
197 // CollectionOfMSEs
198 // ===================================================================
199 [Abstract, Version ("2.6.0"), Description (
200 " The CollectionOfMSEs object allows the grouping of Managed"
201 "SystemElements for various identification purposes and to "
202 "reduce the complexity of associating Settings and "
203 "Configurations. It is abstract to require further definition "
204 "and semantic refinement in subclasses. The CollectionOfMSEs "
205 "object does not carry any state or status information, but "
206 "only represents a grouping or 'bag' of Elements. For this "
207 "reason, it is incorrect to subclass groups that have state/"
208 "status from CollectionOfMSEs - an example is CIM_Redundancy"
209 "Group (which is subclassed from LogicalElement). \n"
210 " Collections typically aggregate 'like'objects, but are "
211 karl 1.1 "not required to do so. They simply identify 'bags' and "
212 "may represent an optimization. This is especially true "
213 "with respect to their association to Settings and "
214 "Configurations. Without Collections, one is forced to "
215 "define individual ElementSetting andElementConfiguration "
216 "associations, to tie Settings and Configuration objects to "
217 "individual ManagedSystemElements. There may be much "
218 "duplication in assigning the same Setting to multiple objects. "
219 "In addition, using the Collection object allows the "
220 "determination that the Setting and Configuration associations "
221 "are indeed the same for the Collection's members. This "
222 "information would otherwise be obtained by defining the "
223 "Collection in a proprietary manner, and then querying "
224 "the ElementSetting and ElementConfiguration associations to "
225 "determine ifthe Collection set is completely covered.") ]
226 class CIM_CollectionOfMSEs : CIM_Collection {
227
228 [MaxLen (256), Description (
229 "The identification of the Collection object. When subclassed, "
230 "the CollectionID property can be overridden to be a Key "
231 "property.") ]
232 karl 1.1 string CollectionID;
233 };
234
235
236 // ==================================================================
237 // CollectedCollections
238 // ==================================================================
239 [Association, Aggregation, Version ("2.6.0"), Description (
240 "CIM_CollectedCollections is an aggregation association "
241 "representing that a CollectionOfMSEs may itself be contained "
242 "in a CollectionOfMSEs.") ]
243 class CIM_CollectedCollections {
244 [Aggregate, Key, Description (
245 "The 'higher level' or parent element in the aggregation.") ]
246 CIM_CollectionOfMSEs REF Collection;
247
248 [Key, Description (
249 "The 'collected' Collection.") ]
250 CIM_CollectionOfMSEs REF CollectionInCollection;
251 };
252
253 karl 1.1
254 // ==================================================================
255 // CollectedMSEs
256 // ==================================================================
257 [Association, Aggregation, Version ("2.6.0"), Description (
258 "CIM_CollectedMSEs is a generic association used to "
259 "establish the members of the grouping object, CollectionOf"
260 "MSEs.") ]
261 class CIM_CollectedMSEs : CIM_MemberOfCollection {
262 [Aggregate, Override("Collection"), Description (
263 "The grouping or 'bag' object that represents the "
264 "Collection.") ]
265 CIM_CollectionOfMSEs REF Collection;
266
267 [Override("Member"), Description (
268 "The members of the Collection.") ]
269 CIM_ManagedSystemElement REF Member;
270 };
271
272
273 // ===================================================================
274 karl 1.1 // end of file
275 // ===================================================================
|