(file) Return to Core_Collection.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2