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