1 a.dunfey 1.1 // ===================================================================
2 // Title: Core Physical
3 // $State: Preliminary $
4 // $Date: 2005/01/05 00:54:00 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Core_Physical.mof,v $
6 // $Revision: 1.5 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 a.dunfey 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Core Model defines basic management concepts.
47 // This file defines the concepts for PhysicalElements
48 // and their Locations.
49 //
50 // The object classes below are listed in an order that
51 // avoids forward references. Required objects, defined
52 // by other working groups, are omitted.
53 // ==================================================================
54 // Change Log for v2.9 Prelininary
55 // CR1050 - Deprecate FRU in lieu of putting the information in
56 // PhysicalElement
57 //
58 // Change Log for v2.8 Final
59 // CR1210 - Removal of experimental Qualifiers for core.
60
61 // Change Log for v2.8 Preliminary
62 // CR1019 - CIM Versioning for 2.8 Preliminary
63 // CR1071 - Add the following properties of PhyscialElement
64 a.dunfey 1.1 // VendorEquipmentType, UserTracking, CanBeFRUed.
65 //
66 // Change Log for v2.7 Final
67 // CR968 - Remove the Experimental qualifier
68 // Remove the following properties of PhyscialElement so
69 // they can remain experimental in 2.8
70 // VendorEquipmentType, UserTracking, CanBeFRUed.
71 //
72 // Change Log for v2.7
73 // CR774 - Add ContainedLocation
74 // CR821 - Add PhysicalElement.VendorEquipmentType, PhysicalElement.
75 // UserTracking, and PhysicalElement.CanBeFRUed properties.
76 // - Add mapping string to indicate the support of the SNMP
77 // Entity MIB
78 // - Add the Write qualifier to PhysicalElement.Other
79 // IdentifyingInfo
80 // CR822 - Add SystemPackaging
81 // CR899 - Expand the MaxLen qualifier on 2 PhysicalElement .Model
82 // and .SerialNumber properties from 64 to 256.
83 // CR902 - Create a general superclass ElementLocation of the
84 // PhysicalElementLocation association.
85 a.dunfey 1.1 // ==================================================================
86
87 #pragma locale ("en_US")
88
89
90 // =================================================================
91 // PhysicalElement
92 // ==================================================================
93 [Abstract, Version ( "2.8.1000" ), Description (
94 "Subclasses of CIM_PhysicalElement define any component of a "
95 "System that has a distinct physical identity. Instances of "
96 "this class can be defined as an object that can be seen or "
97 "touched. All Processes, Files, and LogicalDevices are "
98 "considered not to be Physical Elements. For example, it is not "
99 "possible to touch the functionality of a 'modem', only the "
100 "card or package that implements the modem. The same card could "
101 "also implement a LAN adapter. PhysicalElements are tangible "
102 "ManagedSystemElements that have a physical manifestation of "
103 "some sort. \n"
104 "\n"
105 "Note that the properties of PhysicalElement describe a "
106 a.dunfey 1.1 "hardware entity. Possible replacement (FRU) information is "
107 "defined by following the ElementFRU association to one or more "
108 "instances of the ReplacementFRU class. This allows a client to "
109 "determine what hardware can be replaced/FRUed and what 'spare' "
110 "parts may be required by a customer or engineer doing the "
111 "replacement. If it can be instrumented or manually determined "
112 "that an element actually replaced/FRUed another, then this can "
113 "be described in the model using the ElementHasBeenFRUed "
114 "association.")]
115 class CIM_PhysicalElement : CIM_ManagedSystemElement {
116
117 [Key, Description (
118 "An arbitrary string that uniquely identifies the Physical "
119 "Element and serves as the Element's key. The Tag property "
120 "can contain information such as asset tag or serial number "
121 "data. The key for PhysicalElement is placed very high in "
122 "the object hierarchy in order to independently identify the "
123 "hardware/entity, regardless of physical placement in or on "
124 "Cabinets, Adapters, etc. For example, a hotswappable or "
125 "removeable component may be taken from its containing "
126 "(scoping) Package and be temporarily unused. The object "
127 a.dunfey 1.1 "still continues to exist - and may even be inserted into a "
128 "different scoping container. Therefore, the key for "
129 "Physical Element is an arbitrary string and is defined "
130 "independently of any placement or location-oriented "
131 "hierarchy."),
132 MaxLen ( 256 )]
133 string Tag;
134
135 [Override ( "Description" ), Description (
136 "A textual description of the PhysicalElement."),
137 MappingStrings { "MIF.DMTF|FRU|003.3" }]
138 string Description;
139
140 [Key, Description (
141 "CreationClassName indicates the name of the class or the "
142 "subclass used in the creation of an instance. When used "
143 "with the other key properties of this class, this property "
144 "allows all instances of this class and its subclasses to be "
145 "uniquely identified."),
146 MaxLen ( 256 )]
147 string CreationClassName;
148 a.dunfey 1.1
149 [Override ( "ElementName" ),
150 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalName" }]
151 string ElementName;
152
153 [Description (
154 "The name of the organization responsible for producing the "
155 "PhysicalElement. This may be the entity from whom the "
156 "Element is purchased, but this is not necessarily true. The "
157 "latter information is contained in the Vendor property of "
158 "CIM_Product."),
159 MaxLen ( 256 ),
160 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalMfgName",
161 "MIF.DMTF|FRU|003.4" }]
162 string Manufacturer;
163
164 [Description (
165 "The name by which the PhysicalElement is generally known."),
166 MaxLen ( 256 ),
167 MappingStrings {
168 "MIB.IETF|Entity-MIB.entPhysicalDescr","MIF.DMTF|FRU|003.5" }]
169 a.dunfey 1.1 string Model;
170
171 [Description (
172 "The stock keeping unit number for this PhysicalElement."),
173 MaxLen ( 64 )]
174 string SKU;
175
176 [Description (
177 "A manufacturer-allocated number used to identify the "
178 "Physical Element."),
179 MaxLen ( 256 ),
180 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalSerialNum",""
181 "MIF.DMTF|FRU|003.7" }]
182 string SerialNumber;
183
184 [Description (
185 "A string indicating the version of the PhysicalElement."),
186 MaxLen ( 64 ),
187 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalHardwareRev",
188 "MIF.DMTF|FRU|003.8" }]
189 string Version;
190 a.dunfey 1.1
191 [Description (
192 "The part number assigned by the organization responsible "
193 "for producing or manufacturing the PhysicalElement."),
194 MaxLen ( 256 ),
195 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalModelName" }]
196 string PartNumber;
197
198 [Write, Description (
199 "OtherIdentifyingInfo captures additional data, beyond that "
200 "of Tag information, that could be used to identify a "
201 "Physical Element. One example is bar code data associated "
202 "with an Element that also has an asset tag. Note that if "
203 "only bar code data is available and is unique/able to be "
204 "used as an Element key, this property would be NULL and the "
205 "bar code data used as the class key, in the Tag property."),
206 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalAlias" }]
207 string OtherIdentifyingInfo;
208
209 [Description (
210 "Boolean indicating that the PhysicalElement is powered on "
211 a.dunfey 1.1 "(TRUE), or is currently off (FALSE).")]
212 boolean PoweredOn;
213
214 [Description (
215 "Date that this PhysicalElement was manufactured.")]
216 datetime ManufactureDate;
217
218 [Description (
219 "A vendor-specific hardware type for the PhysicalElement. It "
220 "describes the specific equipment type for the element, as "
221 "defined by the vendor/manufacturer."),
222 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalVendorType" }]
223 string VendorEquipmentType;
224
225 [Write, Description (
226 "User-assigned and writeable asset tracking identifier for "
227 "the PhysicalElement."),
228 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalAssetID" }]
229 string UserTracking;
230
231 [Description (
232 a.dunfey 1.1 "Boolean indicating whether this PhysicalElement can be "
233 "FRUed (TRUE) or not (FALSE)."),
234 MappingStrings { "MIB.IETF|Entity-MIB.entPhysicalIsFRU" }]
235 boolean CanBeFRUed;
236 };
237
238 // ==================================================================
239 // ReplacementFRU
240 // ==================================================================
241 [Experimental, Version ( "2.8.1000" ), Description (
242 "The ReplacementFRU class defines ordering information for "
243 "replacement hardware/PhysicalElements. The element or elements "
244 "that can be replaced are defined via the association, "
245 "ElementFRU. If a FRU is made up of other more specific parts, "
246 "then this can be described by instantiating the "
247 "ConcreteComponent relationship between the grouping FRU and "
248 "its parts.")]
249 class CIM_ReplacementFRU : CIM_ManagedElement {
250
251 [Key, Description (
252 "Within the scope of the instantiating Namespace, InstanceID "
253 a.dunfey 1.1 "opaquely and uniquely identifies an instance of this class. "
254 "In order to ensure uniqueness within the NameSpace, the "
255 "value of InstanceID SHOULD be constructed using the "
256 "following 'preferred' algorithm: \n"
257 "<OrgID>:<LocalID> \n"
258 "Where <OrgID> and <LocalID> are separated by a colon ':', "
259 "and where <OrgID> MUST include a copyrighted, trademarked "
260 "or otherwise unique name that is owned by the business "
261 "entity creating/defining the InstanceID, or is a registered "
262 "ID that is assigned to the business entity by a recognized "
263 "global authority (This is similar to the <Schema "
264 "Name>_<Class Name> structure of Schema class names.) In "
265 "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
266 "colon (':'). When using this algorithm, the first colon to "
267 "appear in InstanceID MUST appear between <OrgID> and "
268 "<LocalID>. \n"
269 "<LocalID> is chosen by the business entity and SHOULD not "
270 "be re-used to identify different underlying (real-world) "
271 "elements. If the above 'preferred' algorithm is not used, "
272 "the defining entity MUST assure that the resultant "
273 "InstanceID is not re-used across any InstanceIDs produced "
274 a.dunfey 1.1 "by this or other providers for this instance's NameSpace. \n"
275 "For DMTF defined instances, the 'preferred' algorithm MUST "
276 "be used with the <OrgID> set to 'CIM'.")]
277 string InstanceID;
278
279
280 [Description (
281 "Replacement ordering information.")]
282 string OrderNumber;
283
284 [Description (
285 "The name of the vendor/supplier in whose context the "
286 "OrderNumber is defined.")]
287 string Vendor;
288
289 [Override ( "Description" ), Description (
290 "A textual description of the replacement.")]
291 string Description;
292
293 [Description (
294 "Indicates whether this replacement part is considered "
295 a.dunfey 1.1 "customer replaceable (TRUE) or not (FALSE).")]
296 boolean CustomerReplaceable;
297 };
298
299 // ==================================================================
300 // ElementFRU
301 // ==================================================================
302 [Association, Experimental, Version ( "2.8.1000" ), Description (
303 "ElementFRU associates a PhysicalElement to information about "
304 "possible replacement parts. The association is many to many, "
305 "describing that an element can have several replacement "
306 "options and that those options can apply to multiple pieces of "
307 "hardware.")]
308 class CIM_ElementFRU {
309
310 [Key, Description (
311 "The PhysicalElement which can be replaced/FRUed.")]
312 CIM_PhysicalElement REF ReplaceableElement;
313
314 [Key, Description (
315 "Ordering information for a replacement element.")]
316 a.dunfey 1.1 CIM_ReplacementFRU REF ReplacementElement;
317 };
318
319
320 // ==================================================================
321 // ElementHasBeenFRUed
322 // ==================================================================
323 [Association, Experimental, Version ( "2.8.1000" ), Description (
324 "CIM_ElementHasBeenFRUed is an association between two Physical "
325 "Elements indicating that the entity referenced as the "
326 "ReplacedElement was swapped for/replaced by the entity "
327 "referenced as the ReplacementElement. The association is many "
328 "to many, conveying that an element may require several other "
329 "elements to replace it, and vice-versa. The typical scenario, "
330 "however, is that one PhysicalElement replaces another. It MAY "
331 "NOT be possible to instrument or manually determine that an "
332 "element actually replaced/FRUed another. This is especially "
333 "true if the original element is discarded. However, if this "
334 "information is available, then this association describes this "
335 "scenario.")]
336 class CIM_ElementHasBeenFRUed {
337 a.dunfey 1.1
338 [Key, Description (
339 "The PhysicalElement which is being replaced/FRUed.")]
340 CIM_PhysicalElement REF ReplacedElement;
341
342 [Key, Description (
343 "The element that is used as the replacement part.")]
344 CIM_PhysicalElement REF ReplacementElement;
345 };
346 // ===================================================================
347 // Location
348 // ===================================================================
349 [Version ( "2.6.0" ), Description (
350 "The Location class specifies the position and address of a "
351 "PhysicalElement.")]
352 class CIM_Location : CIM_ManagedElement {
353
354 [Key, Description (
355 "Name is a free-form string defining a label for the "
356 "Location. It is a part of the key for the object."),
357 MaxLen ( 256 )]
358 a.dunfey 1.1 string Name;
359
360 [Key, Description (
361 "Position is a free-form string indicating the placement of "
362 "a PhysicalElement. It can specify slot information on a "
363 "HostingBoard, mounting site in a Cabinet, or latitude and "
364 "longitude information, for example, from a GPS. It is part "
365 "of the key of the Location object."),
366 MaxLen ( 256 )]
367 string PhysicalPosition;
368
369 [Description (
370 "Address is a free-form string indicating a street, building "
371 "or other type of address for the PhysicalElement's "
372 "Location."),
373 MaxLen ( 1024 )]
374 string Address;
375 };
376
377
378 // ==================================================================
379 a.dunfey 1.1 // ElementLocation
380 // ==================================================================
381 [Association, Version ( "2.7.0" ), Description (
382 "ElementLocation associates a ManagedElement with a Location "
383 "for positioning, inventory, maintenance and similar purposes. "
384 "PhysicalElements can certainly have Locations - this is "
385 "explicitly defined in a subclass, PhysicalElement Location. "
386 "However, other ManagedElements may also be associated with "
387 "Locations. For example, Organizations may be 'in' one or more "
388 "Locations, or Services may be restricted to a Location.")]
389 class CIM_ElementLocation {
390
391 [Key, Description (
392 "The ManagedElement whose Location is specified.")]
393 CIM_ManagedElement REF Element;
394
395 [Key, Description (
396 "The element's Location.")]
397 CIM_Location REF PhysicalLocation;
398 };
399
400 a.dunfey 1.1
401 // ==================================================================
402 // PhysicalElementLocation
403 // ==================================================================
404 [Association, Version ( "2.7.0" ), Description (
405 "PhysicalElementLocation associates a PhysicalElement with a "
406 "Location object for inventory or replacement purposes.")]
407 class CIM_PhysicalElementLocation : CIM_ElementLocation {
408
409 [Override ( "Element" ), Description (
410 "The PhysicalElement whose Location is specified.")]
411 CIM_PhysicalElement REF Element;
412
413 [Override ( "PhysicalLocation" ), Max ( 1 ), Description (
414 "The PhysicalElement's Location.")]
415 CIM_Location REF PhysicalLocation;
416 };
417
418
419 // ==================================================================
420 // ContainedLocation
421 a.dunfey 1.1 // ==================================================================
422 [Association, Aggregation, Composition, Version ( "2.7.0" ),
423 Description (
424 "ContainedLocation defines one location in the context of "
425 "another. For example, a campus may 'contain' a building, which "
426 "in turn 'contains' a floor.")]
427 class CIM_ContainedLocation : CIM_Component {
428
429 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ),
430 Description (
431 "The containing location.")]
432 CIM_Location REF GroupComponent;
433
434 [Override ( "PartComponent" ), Description (
435 "The contained location.")]
436 CIM_Location REF PartComponent;
437 };
438
439
440 // ==================================================================
441 // SystemPackaging
442 a.dunfey 1.1 // ==================================================================
443 [Association, Version ( "2.7.0" ), Description (
444 "Similar to the way that LogicalDevices are 'Realized' by "
445 "PhysicalElements, Systems may be associated with specific "
446 "packaging/PhysicalElements. This association explicitly "
447 "defines the relationship between a System and its packaging.")]
448 class CIM_SystemPackaging : CIM_Dependency {
449
450 [Override ( "Antecedent" ), Description (
451 "The PhysicalElement(s) that provide the packaging of a "
452 "System.")]
453 CIM_PhysicalElement REF Antecedent;
454
455 [Override ( "Dependent" ), Description (
456 "The System whose packaging is described.")]
457 CIM_System REF Dependent;
458 };
459
460
461 // ===================================================================
462 // end of file
463 a.dunfey 1.1 // ===================================================================
|