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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2