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

  1 karl  1.1 // ===================================================================
  2           // Title:       Core Products & FRUs 2.7
  3           // Filename:    Core27_ProductFRU.mof
  4           // Version:     2.7.0
  5           // Release:     Preliminary 
  6           // Date:        07/30/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 for Products and
 46           //              FRUs (field replaceable units).
 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           // CR753 - Update description for Product and add ModelCorrespondence
 54           //         to the CIM Support Schema
 55           //       - Add ProductComponent, ProductPhysicalComponent, 
 56           //         ProductSoftwareComponent and ProductServiceComponent
 57           //       - Deprecate ProductPhysicalElementsComponent
 58           // CR761 - Add the Composition qualifier to ProductParentChild,
 59           //         ProductPhysicalElements, FRUPhysicalElements, and 
 60           //         FRUIncludesProduct
 61           // ==================================================================
 62           
 63           #pragma locale ("en_US")
 64 karl  1.1 
 65           
 66           // ==================================================================
 67           // Product
 68           // ==================================================================
 69           [Version ("2.7.0"), Description (
 70               "  CIM_Product is a concrete class that aggregates "
 71               "PhysicalElements, software (SoftwareIdentity and "
 72               "SoftwareFeatures), Services and/or other Products, and is "
 73               "acquired as a unit. Acquisition implies an agreement "
 74               "between supplier and consumer which may have implications "
 75               "to Product licensing, support and warranty. Non-commercial "
 76               "(e.g., in-house developed Products) should also be "
 77               "identified as an instance of CIM_Product. \n"
 78               "  Note that software is handled a bit differently in the list "
 79               "of aggregated entities, above. This is because software can "
 80               "be viewed as a tangible asset (similar to PhysicalElements) AND/"
 81               "OR as a set of features that make up a Product and are deployed. "
 82               "These are two different concepts, usually managed by different "
 83               "units in a business' organization. When software 'features' are "
 84               "described, the CIM_SoftwareFeature class from the Application "
 85 karl  1.1     "Model is instantiated (where Features are Weak to/scoped by a "
 86               "Product). When a specific piece of software is acquired and "
 87               "perhaps warrantied as part of a Product, this is addressed by "
 88               "the class, SoftwareIdentity.") ] 
 89           class CIM_Product : CIM_ManagedElement {
 90           
 91               [Key, MaxLen (256),
 92                   Description ("Commonly used Product name."), 
 93                   ModelCorrespondence {"CIM.DMTF|PRS_Product.ProductName"}, 
 94                   MappingStrings {"MIF.DMTF|ComponentID|001.2"} ] 
 95               string Name;
 96                 
 97               [Key, MaxLen (64), Description (
 98                   "Product identification such as a serial number on software, "
 99                   "a die number on a hardware chip, or (for non-commercial "
100                   "Products) a project number."), 
101                   MappingStrings {"MIF.DMTF|ComponentID|001.4"} ] 
102               string IdentifyingNumber;
103               
104               [Key, MaxLen (256), Description (
105                   "The name of the Product's supplier, or entity selling the "
106 karl  1.1         "Product (the manufacturer, reseller, OEM, etc.). Corresponds "
107                   "to the Vendor property in the Product object in the DMTF "
108                   "Solution Exchange Standard."), 
109                   ModelCorrespondence {"CIM.DMTF|PRS_Product.Vendor"}, 
110                   MappingStrings {"MIF.DMTF|ComponentID|001.1"} ] 
111               string Vendor;
112               
113               [Key, MaxLen (64), 
114                   Description ("Product version information."), 
115                   ModelCorrespondence {"CIM.DMTF|PRS_Product.Version"},
116                   MappingStrings {"MIF.DMTF|ComponentID|001.3"} ] 
117               string Version;
118           
119               [MaxLen (64), Description (
120                   "Product SKU (stock keeping unit) information.") ] 
121               string SKUNumber;
122                 
123               [Description (
124                   "If this Product is under warranty, the start date of the "
125                   "warranty."),
126                   ModelCorrespondence {"CIM_Product.WarrantyDuration"},
127 karl  1.1         MappingStrings {"MIF.DMTF|FRU|002.9"} ]
128               datetime WarrantyStartDate;
129           
130               [Description (
131                   "If this Product is under warranty, the duration of the "
132                   "warranty in days."), Units ("Days"), 
133                   ModelCorrespondence {"CIM_Product.WarrantyStartDate"},
134                   MappingStrings {"MIF.DMTF|FRU|002.10"}]
135               uint32 WarrantyDuration;
136           };
137           
138                
139           // ==================================================================
140           // ProductComponent
141           // ==================================================================
142           [Association, Aggregation, Composition, Experimental, 
143               Version ("2.7.0"), Description (
144                   "The CIM_ProductComponent association defines a containment "
145                   "and component relationship among Products.  For example, a "
146                   "Product may come bundled with other Products. \n"
147                   "Note that this association duplicates ProductParentChild. "
148 karl  1.1         "The latter association is maintained for legacy reasons. "
149                   "This association, ProductComponent, is added for ease of "
150                   "query and modeling consistency. Using ProductComponent, an "
151                   "application can query for all Component relationships for "
152                   "a Product, versus querying the various Component "
153                   "relationships AND ProductParentChild.") ]
154           class CIM_ProductComponent : CIM_Component {
155           
156               [Override ("GroupComponent"), Aggregate,  
157                   ModelCorrespondence {"PRS_ProductComponent.Antecedent"}, 
158                   Description (
159                   "The Product which contains another Product as a component. "
160                   "The cardinality of this reference takes the default values "
161                   "(no minimum or maximum) since an instance of Product "
162                   "can describe either a general product type, or a specific "
163                   "item that is acquired. In the case of a specific item, "
164                   "a cardinality of Max(1) is indicated. However, when "
165                   "dealing with the general description/templating of a Product, "
166                   "then it may be a component of several others and a "
167                   "cardinality of Max(1) would be invalid.") ] 
168               CIM_Product REF GroupComponent;
169 karl  1.1 
170               [Override ("PartComponent"), 
171                   ModelCorrespondence {"PRS_ProductComponent.Dependent"}, 
172                   Description ("The contained Product.") ] 
173               CIM_Product REF PartComponent;
174           };
175           
176            
177           // ==================================================================
178           // ProductParentChild
179           // ==================================================================
180           [Association, Aggregation, Composition, Version ("2.7.0"), 
181               Description (
182                   "The CIM_ProductParentChild association defines a parent "
183                   "child hierarchy among Products.  For example, a Product may "
184                   "come bundled with other Products.") ] 
185           class CIM_ProductParentChild {
186           
187               [Aggregate, Key, Description (
188                   "The parent Product in the association.") ] 
189               CIM_Product REF Parent;
190 karl  1.1     
191               [Key, Description (
192                   "The child Product in the association.") ] 
193               CIM_Product REF Child;
194           };
195           
196           
197           // ==================================================================
198           // CompatibleProduct
199           // ================================================================== 
200           [Association, Version ("2.6.0"), Description ( 
201               "CIM_CompatibleProduct is an association between Products " 
202               "that can indicate a wide variety of information. For " 
203               "example, it can indicate that the two referenced Products " 
204               "interoperate, that they can be installed together, that " 
205               "one can be the physical container for the other, etc. The " 
206               "string property, CompatibilityDescription, defines how the " 
207               "Products interoperate or are compatible, any limitations " 
208               "regarding interoperability or installation, ...") ]
209           class CIM_CompatibleProduct {
210                 
211 karl  1.1     [Key, Description ( 
212                   "The Product for which compatible offerings are defined.") ] 
213               CIM_Product REF Product; 
214                 
215               [Key, Description (
216                   "The compatible Product.") ]
217               CIM_Product REF CompatibleProduct; 
218               
219               [Description ( 
220                   "CompatibilityDescription is a free-form string defining " 
221                   "how the two referenced Products interoperate or are " 
222                   "compatible, any limitations to compatibility, etc.") ]
223               string CompatibilityDescription;
224           };
225           
226           
227           // ==================================================================
228           // ProductProductDependency
229           // ================================================================== 
230           [Association, Version ("2.6.0"), Description ( 
231               "CIM_ProductProductDependency is an association between two " 
232 karl  1.1     "Products, indicating that one must be installed, or must be " 
233               "absent, for the other to function. This is conceptually " 
234               "equivalent to the ServiceServiceDependency association.") ] 
235           class CIM_ProductProductDependency { 
236           
237               [Key, Description (
238                   "The required Product.") ] 
239               CIM_Product REF RequiredProduct; 
240              
241               [Key, Description ( 
242                   "The Product that is dependent on another Product.") ] 
243               CIM_Product REF DependentProduct; 
244               
245               [Description ( 
246                   "The nature of the Product dependency. This property " 
247                   "describes that the associated Product must be installed "
248                   "(value=2) or must be absent (value=3) in order for the "
249                   "Product to function."),  
250                   ValueMap {"0", "1", "2", "3"},
251                   Values {"Unknown", "Other", "Product Must Be Installed", 
252                       "Product Must Not Be Installed"} ]
253 karl  1.1     uint16 TypeOfDependency; 
254           };
255           
256                
257           // ==================================================================
258           // SupportAccess
259           // ==================================================================
260           [Version ("2.6.0"), Description (
261               "The CIM_SupportAccess association defines how to obtain "
262               "assistance for a Product.") ] 
263           class CIM_SupportAccess : CIM_ManagedElement {
264           
265               [Key, MaxLen (256), Description (
266                   "SupportAccessID is an arbitrary, free form string defined by "
267                   "the Product Vendor or by the organization that deploys the "
268                   "Product.  This property, since it is a key, should be unique "
269                   "throughout the enterprise.") ] 
270               string SupportAccessId;
271               
272               [Override ("Description"), Description (
273                   "A textual description of the type of Support provided."),
274 karl  1.1         MappingStrings {"MIF.DMTF|Support|001.3"} ] 
275               string Description;
276              
277               [Description (
278                   "CommunicationInfo provides the details of the Communication"
279                   "Mode. For example, if the CommunicationMode is 'Phone', "
280                   "CommunicationInfo specifies the phone number to be called."), 
281                   MappingStrings {"MIF.DMTF|FRU|002.11", "MIF.DMTF|FRU|002.12"} ] 
282               string CommunicationInfo;
283               
284               [Description (
285                   "CommunicationMode defines the form of communication in order "
286                   "to obtain support. For example, phone communication (value"
287                   "=2), fax (3) or email (8) can be specified."), 
288                   ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"}, 
289                   Values {"Other", "Phone", "Fax", "BBS", 
290                       "Online Service", "Web Page", "FTP", "E-mail"}, 
291                  MappingStrings {"MIF.DMTF|Support|001.5"} ] 
292               uint16 CommunicationMode;
293               
294               [MaxLen (64), Description (
295 karl  1.1         "Locale defines the geographic region and/or language dialect "
296                   "to which this Support resource pertains."), 
297                   MappingStrings {"MIF.DMTF|Support|001.2"} ] 
298               string Locale;
299           };
300           
301                
302           // ==================================================================
303           // ProductSupport
304           // ==================================================================
305           [Association, Version ("2.6.0"), Description (
306               "CIM_ProductSupport is an association between Product and "
307               "SupportAccess that conveys how support is obtained for the "
308               "Product.  This is a many-to-many relationship, implying that "
309               "various types of Support are available for a Product, and "
310               "that the same Support object can provide assistance for "
311               "multiple Products.") ] 
312           class CIM_ProductSupport {
313           
314               [Key, Description (
315                   "The Product.") ]     
316 karl  1.1     CIM_Product REF Product;
317               
318               [Key, Description (
319                   "Support for the Product.") ]
320               CIM_SupportAccess REF Support;
321           };
322           
323                
324           // ==================================================================
325           //  FRU
326           // ==================================================================
327           [Version ("2.6.0"), Description (
328               "The CIM_FRU class is a vendor-defined collection of Products "
329               "and/or PhysicalElements that is associated with a "
330               "Product for the purpose of supporting, maintaining or "
331               "upgrading that Product at the customer's location. FRU is "
332               "an acronym for 'field replaceable unit'.") ] 
333           class CIM_FRU : CIM_ManagedElement {
334               
335               [Key, MaxLen (64), Description (
336                   "FRU ordering information."), 
337 karl  1.1         MappingStrings {"MIF.DMTF|FRU|002.6"} ] 
338               string FRUNumber;
339               
340               [Key, MaxLen (64), Description (
341                   "FRU identification such as a serial number on software or "
342                   "a die number on a hardware chip."), 
343                   MappingStrings {"MIF.DMTF|FRU|002.7"} ] 
344               string IdentifyingNumber;
345               
346               [Key, MaxLen (256),
347                   Description ("The name of the FRU's supplier."), 
348                   MappingStrings {"MIF.DMTF|FRU|002.4"} ] 
349               string Vendor;
350               
351               [Override ("Description"), Description (
352                   "A textual description of the FRU."), 
353                   MappingStrings {"MIF.DMTF|FRU|002.3"} ] 
354               string Description;
355               
356               [MaxLen (256), Description (
357                   "FRU name.") ] 
358 karl  1.1     string Name;
359               
360               [MaxLen (64), Description (
361                   "The FRU's revision level."),
362                   MappingStrings {"MIF.DMTF|FRU|002.8"} ] 
363               string RevisionLevel;
364                 
365               [Description (
366                   "Indicates whether the FRU is customer replaceable.") ]
367               boolean CustomerReplaceable;
368           };
369               
370                
371           // ==================================================================
372           // ProductFRU
373           // ==================================================================
374           [Association, Version ("2.6.0"), Description (
375               "CIM_ProductFRU is an association between Product and FRU "
376               "that provides information regarding what Product components "
377               "have been or are being replaced.  The association is one to "
378               "many, conveying that a Product can have many FRUs, and that "
379 karl  1.1     "a particular instance of a FRU is only applied to one " 
380               "(instance of a) Product.") ] 
381           class CIM_ProductFRU {
382               
383               [Max (1), Key, Description (
384                   "The Product to which the FRU is applied.") ] 
385               CIM_Product REF Product;
386                 
387               [Key, Description (
388                   "The FRU.") ]
389               CIM_FRU REF FRU;
390           };
391           
392                
393           // ==================================================================
394           // ReplaceableProductFRU
395           // ==================================================================
396           [Association, Version ("2.6.0"), Description (
397               "ReplaceableProductFRU is an association between Product and "
398               "FRU that shows what Product components may be replaced. "
399               "The association is one to many, conveying that a Product "
400 karl  1.1     "can have many FRUs, and that a particular instance of a "
401               "FRU is only applied to one (instance of a) Product.") ] 
402           class CIM_ReplaceableProductFRU {
403           
404               [Max (1), Key, Description (
405                   "The Product to which the FRU is applied.") ] 
406               CIM_Product REF Product;
407               
408               [Key, Description (
409                   "The FRU.") ]
410               CIM_FRU REF FRU;
411           };
412           
413                
414           // ==================================================================
415           // ProductPhysicalComponent
416           // ==================================================================
417           [Association, Aggregation, Composition, Experimental, 
418               Version ("2.7.0"), Description (
419                   "Indicates that the referenced PhysicalElement is acquired "
420                   "as part of a Product.") ]
421 karl  1.1 class CIM_ProductPhysicalComponent : CIM_Component {
422           
423               [Override ("GroupComponent"), Max (1), Description (
424                   "The Product.") ]
425               CIM_Product REF GroupComponent;
426           
427               [Override ("PartComponent"), Description (
428                   "The PhysicalElement which is a part of the Product.") ]
429               CIM_PhysicalElement REF PartComponent;
430           };
431           
432           
433           // ==================================================================
434           // ProductSoftwareComponent
435           // ==================================================================
436           [Association, Aggregation, Composition, Experimental, 
437               Version ("2.7.0"), Description (
438                   "Indicates that the referenced SoftwareIdentity is acquired "
439                   "as part of a Product.") ]
440           class CIM_ProductSoftwareComponent : CIM_Component {
441           
442 karl  1.1     [Override ("GroupComponent"), Max (1), Description (
443                   "The Product.") ]
444               CIM_Product REF GroupComponent;
445           
446               [Override ("PartComponent"), Description (
447                   "The software which is a part of the Product.") ]
448               CIM_SoftwareIdentity REF PartComponent;
449           };
450           
451            
452           // ==================================================================
453           // ProductServiceComponent
454           // ==================================================================
455           [Association, Aggregation, Composition, Experimental, 
456               Version ("2.7.0"), Description (
457                   "Indicates that the referenced Service is acquired as part "
458                   "of a Product. Examples of Services that may be acquired "
459                   "are outsourced storage and networking services, or support "
460                   "and warranty services. Expanding on the examples, Services "
461                   "represent generic functionality - so, it is possible to "
462                   "model the existence of storage volume management or warranty "
463 karl  1.1         "services as individual instances of subclasses of "
464                   "CIM_Service. These 'Services' may be enabled/disabled, "
465                   "started/stopped, signal an error, etc. (They behave as "
466                   "standard ManagedSystemElements.) Specific requests against "
467                   "the Services - for example, a request for warranty service "
468                   "or increased storage space - are NOT new instances of "
469                   "Service, but may be requested via the methods of the "
470                   "Service subclass, or be instantiated as specific subclasses "
471                   "of ManagedElement.") ]
472           class CIM_ProductServiceComponent : CIM_Component {
473           
474               [Override ("GroupComponent"), Max (1), Description (
475                   "The Product.") ]
476               CIM_Product REF GroupComponent;
477           
478               [Override ("PartComponent"), Description (
479                   "The Service which is a part of the Product.") ]
480               CIM_Service REF PartComponent;
481           };
482           
483           
484 karl  1.1 // ==================================================================
485           // ProductPhysicalElements
486           // ==================================================================
487           [Association, Aggregation, Deprecated {"CIM_ProductPhysicalComponent"}, 
488               Composition, Version ("2.7.0"),  Description (
489                   "Indicates the PhysicalElement(s) that make up a Product. "
490                   "This association is deprecated in order to correctly place "
491                   "it in the inheritance hierarchy and align the definition "
492                   "with other new classes that are being added to the model, "
493                   "such as CIM_ProductServiceComponent. ProductPhysicalElements "
494                   "was defined in the original CIM V2.0 release, when a Managed"
495                   "Element and a Component relationship between ManagedElements "
496                   "did not exist.") ]
497           class CIM_ProductPhysicalElements {
498           
499               [Max (1), Aggregate, Key, 
500                   Deprecated {"CIM_ProductPhysicalComponent.GroupComponent"}, 
501                   Description ("The Product.") ]
502               CIM_Product REF Product;
503               
504               [Key, 
505 karl  1.1         Deprecated {"CIM_ProductPhysicalComponent.PartComponent"},
506                   Description (
507                       "The PhysicalElement which is a part of the Product.") ]
508               CIM_PhysicalElement REF Component;
509           };
510           
511           
512           // ==================================================================
513           // FRUPhysicalElements
514           // ==================================================================
515           [Association, Aggregation, Composition, Version ("2.7.0"), 
516               Description (
517                   "Indicates the PhysicalElements that make up a FRU.") ]
518           class CIM_FRUPhysicalElements {
519           
520               [Max (1), Aggregate, Key, Description (
521                   "The FRU.") ]
522               CIM_FRU REF FRU;
523               
524               [Key, Description (
525                   "The PhysicalElement which is a part of the FRU.") ]
526 karl  1.1     CIM_PhysicalElement REF Component;
527           };
528           
529           
530           // ==================================================================
531           // FRUIncludesProduct
532           // ==================================================================
533           [Association, Aggregation, Composition, Version ("2.7.0"), 
534               Description (
535                   "Indicates that a FRU may be composed of other Product(s).") ]
536           class CIM_FRUIncludesProduct {
537           
538               [Max (1), Aggregate, Key, Description (
539                   "The FRU.") ]
540               CIM_FRU REF FRU;
541               
542               [Key, Description (
543                   "The Product which is a part of the FRU.") ]
544               CIM_Product REF Component;
545           };
546           
547 karl  1.1 
548           // ===================================================================
549           // end of file
550           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2