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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2