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