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