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

  1 a.dunfey 1.1 // ===================================================================
  2              // Title: Core_Collection
  3              // $State: Exp $
  4              // $Date: 2004/11/29 18:31:41 $
  5              // $RCSfile: Core_Collection.mof,v $
  6              // $Revision: 1.5.2.3 $
  7              // ===================================================================
  8              //#pragma inLine ("Includes/copyright.inc")
  9              // Copyright 1998-2005 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 a.dunfey 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 a.dunfey 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 v2.8 Final
 55              // CR1210 - Removal of experimental qualifiers for core.
 56              // 
 57              // Change Log for v2.8 Preliminary
 58              // 1136 - Add ConcreteCollection
 59              // 
 60              // Change Log for v2.7
 61              // CR968 - Remove the Experimental qualifier
 62              //       - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 63              //         and ExtraCapacitySet experimental for 2.8
 64 a.dunfey 1.1 // CR994 - Update description for InstanceID
 65              // CR1019 - CIM Versioning for 2.8 Preliminary
 66              // CR1128  - Addition of HostedDependency
 67              // 
 68              // Change Log for v2.7
 69              // CR684 - Add SystemSpecificCollection and HostedCollection
 70              // CR760 - Add OrderedMemberOfCollection
 71              // ==================================================================
 72              
 73              #pragma locale ("en_US")
 74              
 75              
 76              // ==================================================================
 77              // Collection
 78              // ==================================================================
 79                 [Abstract, Version ( "2.6.0" ), Description (
 80                     "Collection is an abstract class that provides a common "
 81                     "superclass for data elements that represent collections of "
 82                     "ManagedElements and its subclasses.")]
 83              class CIM_Collection : CIM_ManagedElement {
 84              };
 85 a.dunfey 1.1 
 86              
 87              // ==================================================================
 88              // MemberOfCollection
 89              // ==================================================================
 90                 [Association, Aggregation, Version ( "2.6.0" ), Description (
 91                     "CIM_MemberOfCollection is an aggregation used to establish "
 92                     "membership of ManagedElements in a Collection.")]
 93              class CIM_MemberOfCollection {
 94              
 95                    [Key, Aggregate, Description (
 96                        "The Collection that aggregates members.")]
 97                 CIM_Collection REF Collection;
 98              
 99                    [Key, Description (
100                        "The aggregated member of the Collection.")]
101                 CIM_ManagedElement REF Member;
102              };
103              
104              
105              // ==============================================================
106 a.dunfey 1.1 // OrderedMemberOfCollection
107              // ==============================================================
108                 [Association, Aggregation, Version ( "2.7.0" ), Description (
109                     "CIM_OrderedMemberOfCollection is an aggregation used to "
110                     "establish an ordered membership of ManagedElements in a "
111                     "Collection.")]
112              class CIM_OrderedMemberOfCollection : CIM_MemberOfCollection {
113              
114                    [Description (
115                        "AssignedSequence is an unsigned integer 'n' that indicates "
116                        "the relative position of members within a Collection. When "
117                        "'n' is a positive integer, it indicates a place in the "
118                        "sequence of members, with smaller integers indicating "
119                        "earlier positions in the sequence. The special value '0' "
120                        "indicates 'don't care'. If two or more members have the "
121                        "same non-zero sequence number, then the ordering between "
122                        "those members is irrelavent, but they must all be ordered "
123                        "at the appropriate place in the overall sequence. \n"
124                        "\n"
125                        "A series of examples will make ordering of members clearer: "
126                        "\nIf all members have the same sequence number, \n"
127 a.dunfey 1.1           "regardless of whether it is '0' or non-zero, any \n"
128                        "order is acceptable. \n"
129                        "o The values: \n"
130                        "1:MEMBER A \n"
131                        "2:MEMBER B \n"
132                        "1:MEMBER C \n"
133                        "3:MEMBER D \n"
134                        "indicate two acceptable orders: A,C,B,D or C,A,B,D, \n"
135                        "since A and C can be ordered in either sequence, but \n"
136                        "only at the '1' position. \n"
137                        "\n"
138                        "Note that the non-zero sequence numbers need not start with "
139                        "'1', and they need not be consecutive. All that matters is "
140                        "their relative magnitude.")]
141                 uint64 AssignedSequence;
142              };
143              
144              
145              // ==================================================================
146              // SystemSpecificCollection
147              // ==================================================================
148 a.dunfey 1.1    [Version ( "2.7.0" ), Description (
149                     "SystemSpecificCollection represents the general concept of a "
150                     "collection which is scoped (or contained) by a System. It "
151                     "represents a Collection that only has meaning in the context "
152                     "of a System, and/or whose elements are restricted by the "
153                     "definition of the System. This is explicitly described by the "
154                     "(required) association, HostedCollection. \n"
155                     "An example of a SystemSpecificCollection is a Fibre Channel "
156                     "zone that collects network ports, port groupings and aliases "
157                     "(as required by a customer) in the context of an AdminDomain. "
158                     "The Collection is not a part of the domain, but merely an "
159                     "arbitrary grouping of the devices and other Collections in the "
160                     "domain. In other words, the context of the Collection is "
161                     "restricted to the domain, and its members are also limited by "
162                     "the domain.")]
163              class CIM_SystemSpecificCollection : CIM_Collection {
164              
165                    [Key, Description (
166                        "Within the scope of the instantiating Namespace, InstanceID "
167                        "opaquely and uniquely identifies an instance of this class. "
168                        "In order to ensure uniqueness within the NameSpace, the "
169 a.dunfey 1.1           "value of InstanceID SHOULD be constructed using the "
170                        "following 'preferred' algorithm: \n"
171                        "<OrgID>:<LocalID> \n"
172                        "Where <OrgID> and <LocalID> are separated by a colon ':', "
173                        "and where <OrgID> MUST include a copyrighted, trademarked "
174                        "or otherwise unique name that is owned by the business "
175                        "entity creating/defining the InstanceID, or is a registered "
176                        "ID that is assigned to the business entity by a recognized "
177                        "global authority (This is similar to the <Schema "
178                        "Name>_<Class Name> structure of Schema class names.) In "
179                        "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
180                        "colon (':'). When using this algorithm, the first colon to "
181                        "appear in InstanceID MUST appear between <OrgID> and "
182                        "<LocalID>. \n"
183                        "<LocalID> is chosen by the business entity and SHOULD not "
184                        "be re-used to identify different underlying (real-world) "
185                        "elements. If the above 'preferred' algorithm is not used, "
186                        "the defining entity MUST assure that the resultant "
187                        "InstanceID is not re-used across any InstanceIDs produced "
188                        "by this or other providers for this instance's NameSpace. \n"
189                        "For DMTF defined instances, the 'preferred' algorithm MUST "
190 a.dunfey 1.1           "be used with the <OrgID> set to 'CIM'.")]
191                 string InstanceID;
192              };
193              
194              
195              // ===================================================================
196              // ConcreteCollection
197              // ===================================================================
198                 [Version ( "2.8.0" ), Description (
199                     "A concrete version of Collection. This class represents a "
200                     "generic and instantiable collection, such as a group of "
201                     "ComputerSystems (e.g., a pool of hosts available for executing "
202                     "Jobs). It is defined as a concrete subclass of the abstract "
203                     "CIM_Collection class, to be used in place of many specific "
204                     "subclasses that add no semantics. Note that when defining "
205                     "additional semantics for Collection that this class MUST NOT "
206                     "be subclassed. Specific semantics continue to be defined as "
207                     "subclasses of the abstract CIM_Collection. ConcreteCollection "
208                     "is limited in its use as a concrete form of a general "
209                     "collection or bag. It was deemed more prudent to create this "
210                     "concrete subclass than to change Collection from an abstract "
211 a.dunfey 1.1        "to a concrete class.")]
212              class CIM_ConcreteCollection : CIM_Collection {
213              
214                    [Key, Description (
215                        "Within the scope of the instantiating Namespace, InstanceID "
216                        "opaquely and uniquely identifies an instance of this class. "
217                        "In order to ensure uniqueness within the NameSpace, the "
218                        "value of InstanceID SHOULD be constructed using the "
219                        "following 'preferred' algorithm: \n"
220                        "<OrgID>:<LocalID> \n"
221                        "Where <OrgID> and <LocalID> are separated by a colon ':', "
222                        "and where <OrgID> MUST include a copyrighted, trademarked "
223                        "or otherwise unique name that is owned by the business "
224                        "entity creating/defining the InstanceID, or is a registered "
225                        "ID that is assigned to the business entity by a recognized "
226                        "global authority. (This is similar to the <Schema "
227                        "Name>_<Class Name> structure of Schema class names.) In "
228                        "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
229                        "colon (':'). When using this algorithm, the first colon to "
230                        "appear in InstanceID MUST appear between <OrgID> and "
231                        "<LocalID>. \n"
232 a.dunfey 1.1           "\n"
233                        "<LocalID> is chosen by the business entity and SHOULD not "
234                        "be re-used to identify different underlying (real-world) "
235                        "elements. If the above 'preferred' algorithm is not used, "
236                        "the defining entity MUST assure that the resultant "
237                        "InstanceID is not re-used across any InstanceIDs produced "
238                        "by this or other providers for this instance's NameSpace.")]
239                 string InstanceID;
240              };
241              
242              
243              // ==================================================================
244              // HostedCollection
245              // ==================================================================
246                 [Association, Version ( "2.7.0" ), Description (
247                     "HostedCollection defines a SystemSpecificCollection in the "
248                     "context of a scoping System. It represents a Collection that "
249                     "only has meaning in the context of a System, and/or whose "
250                     "elements are restricted by the definition of the System.")]
251              class CIM_HostedCollection : CIM_HostedDependency {
252              
253 a.dunfey 1.1       [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
254                        "The scoping system.")]
255                 CIM_System REF Antecedent;
256              
257                    [Override ( "Dependent" ), Description (
258                        "The collection defined in the context of a system.")]
259                 CIM_SystemSpecificCollection REF Dependent;
260              };
261              
262              
263              // ===================================================================
264              // CollectionOfMSEs
265              // ===================================================================
266                 [Abstract, Version ( "2.6.0" ), Description (
267                     "The CollectionOfMSEs object allows the grouping of Managed "
268                     "SystemElements for various identification purposes and to "
269                     "reduce the complexity of associating Settings and "
270                     "Configurations. It is abstract to require further definition "
271                     "and semantic refinement in subclasses. The CollectionOfMSEs "
272                     "object does not carry any state or status information, but "
273                     "only represents a grouping or 'bag' of Elements. For this "
274 a.dunfey 1.1        "reason, it is incorrect to subclass groups that have state/ "
275                     "status from CollectionOfMSEs - an example is CIM_Redundancy "
276                     "Group (which is subclassed from LogicalElement). \n"
277                     "Collections typically aggregate 'like'objects, but are not "
278                     "required to do so. They simply identify 'bags' and may "
279                     "represent an optimization. This is especially true with "
280                     "respect to their association to Settings and Configurations. "
281                     "Without Collections, one is forced to define individual "
282                     "ElementSetting andElementConfiguration associations, to tie "
283                     "Settings and Configuration objects to individual "
284                     "ManagedSystemElements. There may be much duplication in "
285                     "assigning the same Setting to multiple objects. In addition, "
286                     "using the Collection object allows the determination that the "
287                     "Setting and Configuration associations are indeed the same for "
288                     "the Collection's members. This information would otherwise be "
289                     "obtained by defining the Collection in a proprietary manner, "
290                     "and then querying the ElementSetting and ElementConfiguration "
291                     "associations to determine ifthe Collection set is completely "
292                     "covered.")]
293              class CIM_CollectionOfMSEs : CIM_Collection {
294              
295 a.dunfey 1.1       [Description (
296                        "The identification of the Collection object. When "
297                        "subclassed, the CollectionID property can be overridden to "
298                        "be a Key property."), 
299                     MaxLen ( 256 )]
300                 string CollectionID;
301              };
302              
303              
304              // ==================================================================
305              // CollectedCollections
306              // ==================================================================
307                 [Association, Aggregation, Version ( "2.6.0" ), Description (
308                     "CIM_CollectedCollections is an aggregation association "
309                     "representing that a CollectionOfMSEs may itself be contained "
310                     "in a CollectionOfMSEs.")]
311              class CIM_CollectedCollections {
312              
313                    [Key, Aggregate, Description (
314                        "The 'higher level' or parent element in the aggregation.")]
315                 CIM_CollectionOfMSEs REF Collection;
316 a.dunfey 1.1 
317                    [Key, Description (
318                        "The 'collected' Collection.")]
319                 CIM_CollectionOfMSEs REF CollectionInCollection;
320              };
321              
322              
323              // ==================================================================
324              // CollectedMSEs
325              // ==================================================================
326                 [Association, Aggregation, Version ( "2.6.0" ), Description (
327                     "CIM_CollectedMSEs is a generic association used to establish "
328                     "the members of the grouping object, CollectionOf MSEs.")]
329              class CIM_CollectedMSEs : CIM_MemberOfCollection {
330              
331                    [Aggregate, Override ( "Collection" ), Description (
332                        "The grouping or 'bag' object that represents the "
333                        "Collection.")]
334                 CIM_CollectionOfMSEs REF Collection;
335              
336                    [Override ( "Member" ), Description (
337 a.dunfey 1.1           "The members of the Collection.")]
338                 CIM_ManagedSystemElement REF Member;
339              };
340              
341              
342              // ===================================================================
343              // end of file
344              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2