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