1 tony 1.1 // ===================================================================
2 // Title: Core Physical 2.8
3 // Filename: Core28_Physical.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 08/18/2003
7 // ===================================================================
8 // Copyright 1998-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 PhysicalElements
46 // and their Locations.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.8
53 // CR1019 - CIM Versioning for 2.8 Preliminary
54 // CR1071 - Add the following properties of PhyscialElement
55 // VendorEquipmentType, UserTracking, CanBeFRUed.
56 //
57 // Change Log for v2.7 Final
58 // CR968 - Remove the Experimental qualifier
59 // Remove the following properties of PhyscialElement so
60 // they can remain experimental in 2.8
61 // VendorEquipmentType, UserTracking, CanBeFRUed.
62 //
63 // Change Log for v2.7
64 tony 1.1 // CR774 - Add ContainedLocation
65 // CR821 - Add PhysicalElement.VendorEquipmentType, PhysicalElement.
66 // UserTracking, and PhysicalElement.CanBeFRUed properties.
67 // - Add mapping string to indicate the support of the SNMP
68 // Entity MIB
69 // - Add the Write qualifier to PhysicalElement.Other
70 // IdentifyingInfo
71 // CR822 - Add SystemPackaging
72 // CR899 - Expand the MaxLen qualifier on 2 PhysicalElement .Model
73 // and .SerialNumber properties from 64 to 256.
74 // CR902 - Create a general superclass ElementLocation of the
75 // PhysicalElementLocation association.
76 // ==================================================================
77
78 #pragma locale ("en_US")
79
80
81 // =================================================================
82 // PhysicalElement
83 // ==================================================================
84 [Abstract, Version ("2.7.1000"), Description (
85 tony 1.1 "Subclasses of CIM_PhysicalElement define any component of a "
86 "System that has a distinct physical identity. Instances of "
87 "this class can be defined in terms of labels that can be "
88 "physically attached to the object. All Processes, Files, and "
89 "LogicalDevices are considered not to be Physical Elements. "
90 "For example, it is not possible to attach a label to a modem. "
91 "It is only possible to attach a label to the card that "
92 "implements the modem. The same card could also implement a "
93 "LAN adapter. These are tangible Managed SystemElements "
94 "(usually actual hardware items) that have a physical "
95 "manifestation of some sort. A ManagedSystem Element is not "
96 "necessarily a discrete component. For example, it is possible "
97 "for a single Card (which is a type of PhysicalElement) to host "
98 "more than one LogicalDevice. The card would be represented by "
99 "a single PhysicalElement associated with multiple Devices.") ]
100 class CIM_PhysicalElement : CIM_ManagedSystemElement {
101
102 [Key, Description (
103 "An arbitrary string that uniquely identifies the Physical "
104 "Element and serves as the Element's key. The Tag property "
105 "can contain information such as asset tag or serial number "
106 tony 1.1 "data. The key for PhysicalElement is placed very high in "
107 "the object hierarchy in order to independently identify the "
108 "hardware/entity, regardless of physical placement in or on "
109 "Cabinets, Adapters, etc. For example, a hotswappable or "
110 "removeable component may be taken from its containing "
111 "(scoping) Package and be temporarily unused. The object "
112 "still continues to exist - and may even be inserted into a "
113 "different scoping container. Therefore, the key for "
114 "Physical Element is an arbitrary string and is defined "
115 "independently of any placement or location-oriented "
116 "hierarchy."),
117 MaxLen (256) ]
118 string Tag;
119
120 [Key, Description (
121 "CreationClassName indicates the name of the class or the "
122 "subclass used in the creation of an instance. When used "
123 "with the other key properties of this class, this property "
124 "allows all instances of this class and its subclasses to be "
125 "uniquely identified."),
126 MaxLen (256) ]
127 tony 1.1 string CreationClassName;
128
129 [Override ("ElementName"),
130 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalName"} ]
131 string ElementName;
132
133 [Description (
134 "The name of the organization responsible for producing the "
135 "PhysicalElement. This may be the entity from whom the "
136 "Element is purchased, but this is not necessarily true. "
137 "The latter information is contained in the Vendor property "
138 "of CIM_Product."),
139 MaxLen (256),
140 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalMfgName"} ]
141 string Manufacturer;
142
143 [Description (
144 "The name by which the PhysicalElement is generally known."),
145 MaxLen (256),
146 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalDescr"} ]
147 string Model;
148 tony 1.1
149 [Description (
150 "The stock keeping unit number for this PhysicalElement."),
151 MaxLen (64) ]
152 string SKU;
153
154 [Description (
155 "A manufacturer-allocated number used to identify the "
156 "Physical Element."),
157 MaxLen (256),
158 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalSerialNum"} ]
159 string SerialNumber;
160
161 [Description (
162 "A string indicating the version of the PhysicalElement."),
163 MaxLen (64),
164 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalHardwareRev"} ]
165 string Version;
166
167 [Description (
168 "The part number assigned by the organization responsible "
169 tony 1.1 "for producing or manufacturing the PhysicalElement."),
170 MaxLen (256),
171 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalModelName"} ]
172 string PartNumber;
173
174 [Write, Description (
175 "OtherIdentifyingInfo captures additional data, beyond that "
176 "of Tag information, that could be used to identify a "
177 "Physical Element. One example is bar code data associated "
178 "with an Element that also has an asset tag. Note that if "
179 "only bar code data is available and is unique/able to be "
180 "used as an Element key, this property would be NULL and the "
181 "bar code data used as the class key, in the Tag property."),
182 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalAlias"} ]
183 string OtherIdentifyingInfo;
184
185 [Description (
186 "Boolean indicating that the PhysicalElement is powered on "
187 "(TRUE), or is currently off (FALSE).") ]
188 boolean PoweredOn;
189
190 tony 1.1 [Description (
191 "Date that this PhysicalElement was manufactured.") ]
192 datetime ManufactureDate;
193
194 [Experimental, Description (
195 "A vendor-specific hardware type for the PhysicalElement. "
196 "It describes the specific equipment type for the element, "
197 "as defined by the vendor/manufacturer."),
198 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalVendorType"} ]
199 string VendorEquipmentType;
200
201 [Experimental, Write, Description (
202 "User-assigned and writeable asset tracking identifier for "
203 "the PhysicalElement."),
204 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalAssetID"} ]
205 string UserTracking;
206
207 [Experimental, Description (
208 "Boolean indicating whether this PhysicalElement can be "
209 "FRUed (TRUE) or not (FALSE)."),
210 MappingStrings {"MIB.IETF|Entity-MIB.entPhysicalIsFRU"} ]
211 tony 1.1 boolean CanBeFRUed;
212 };
213
214
215 // ===================================================================
216 // Location
217 // ===================================================================
218 [Version ("2.6.0"), Description (
219 "The Location class specifies the position and address of a "
220 "PhysicalElement.") ]
221 class CIM_Location : CIM_ManagedElement {
222
223 [Key, Description (
224 "Name is a free-form string defining a label for the "
225 "Location. It is a part of the key for the object."),
226 MaxLen (256) ]
227 string Name;
228
229 [Key, Description (
230 "Position is a free-form string indicating the placement of "
231 "a PhysicalElement. It can specify slot information on a "
232 tony 1.1 "HostingBoard, mounting site in a Cabinet, or latitude and "
233 "longitude information, for example, from a GPS. It is part "
234 "of the key of the Location object."),
235 MaxLen (256) ]
236 string PhysicalPosition;
237
238 [Description (
239 "Address is a free-form string indicating a street, building "
240 "or other type of address for the PhysicalElement's "
241 "Location."),
242 MaxLen (1024) ]
243 string Address;
244 };
245
246
247 // ==================================================================
248 // ElementLocation
249 // ==================================================================
250 [Association, Version ("2.7.0"), Description (
251 "ElementLocation associates a ManagedElement with a Location "
252 "for positioning, inventory, maintenance and similar purposes. "
253 tony 1.1 "PhysicalElements can certainly have Locations - this is "
254 "explicitly defined in a subclass, PhysicalElement Location. "
255 "However, other ManagedElements may also be associated with "
256 "Locations. For example, Organizations may be 'in' one or more "
257 "Locations, or Services may be restricted to a Location.") ]
258 class CIM_ElementLocation {
259
260 [Key, Description (
261 "The ManagedElement whose Location is specified.") ]
262 CIM_ManagedElement REF Element;
263
264 [Key, Description (
265 "The element's Location.") ]
266 CIM_Location REF PhysicalLocation;
267 };
268
269
270 // ==================================================================
271 // PhysicalElementLocation
272 // ==================================================================
273 [Association, Version ("2.7.0"), Description (
274 tony 1.1 "PhysicalElementLocation associates a PhysicalElement with a "
275 "Location object for inventory or replacement purposes.") ]
276 class CIM_PhysicalElementLocation : CIM_ElementLocation {
277
278 [Override ("Element"), Description (
279 "The PhysicalElement whose Location is specified.") ]
280 CIM_PhysicalElement REF Element;
281
282 [Override ("PhysicalLocation"), Max (1), Description (
283 "The PhysicalElement's Location.") ]
284 CIM_Location REF PhysicalLocation;
285 };
286
287
288 // ==================================================================
289 // ContainedLocation
290 // ==================================================================
291 [Association, Aggregation, Composition, Version ("2.7.0"),
292 Description (
293 "ContainedLocation defines one location in the context of "
294 "another. For example, a campus may 'contain' a building, "
295 tony 1.1 "which in turn 'contains' a floor.") ]
296 class CIM_ContainedLocation : CIM_Component {
297
298 [Aggregate, Override ("GroupComponent"), Max (1), Description (
299 "The containing location.") ]
300 CIM_Location REF GroupComponent;
301
302 [Override ("PartComponent"), Description (
303 "The contained location.") ]
304 CIM_Location REF PartComponent;
305 };
306
307
308 // ==================================================================
309 // SystemPackaging
310 // ==================================================================
311 [Association, Version ("2.7.0"), Description (
312 "Similar to the way that LogicalDevices are 'Realized' by "
313 "PhysicalElements, Systems may be associated with specific "
314 "packaging/PhysicalElements. This association explicitly "
315 "defines the relationship between a System and its packaging.") ]
316 tony 1.1 class CIM_SystemPackaging : CIM_Dependency {
317
318 [Override ("Antecedent"), Description (
319 "The PhysicalElement(s) that provide the packaging of a "
320 "System.") ]
321 CIM_PhysicalElement REF Antecedent;
322
323 [Override ("Dependent"), Description (
324 "The System whose packaging is described.") ]
325 CIM_System REF Dependent;
326 };
327
328
329 // ===================================================================
330 // end of file
331 // ===================================================================
|