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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2