1 karl 1.1 // ===================================================================
2 // Title: Physical Packages 2.7
3 // Filename: Physical27_Package.mof
4 // Version: 2.7.1
5 // Release: Preliminary
6 // Date: November 12 2002
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 Physical Model defines modeling concepts related
45 // to actual boxes and packaging. This file defines the
46 // concepts related to packaging of Frames, Chassis, etc.
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.1
53 // CR920 - Move the CIM_Card related classes to a separate MOF since
54 // Card contains a forward reference to PhysicalConnector in
55 // its method
56 //
57 // Change Log for v2.7
58 // CR623 - Fix the DMI mapping string to include the attribute number
59 // PhysicalFrame.SecurityBreach and Chassis.ChassisTypes
60 // CR629 - Extend Chassis.ChassisType to include "Multi-system Chassis"
61 // CR877 - Add AGP8X enumeration to PhysicalConnector.ConnectorType
62 // ==================================================================
63
64 karl 1.1 #pragma locale ("en_US")
65
66
67 // ==================================================================
68 // PhysicalPackage
69 // ==================================================================
70 [Version ("2.6.0"), Description (
71 "The PhysicalPackage class represents PhysicalElements that "
72 "contain or host other components. Examples are a Rack "
73 "enclosure or an adapter Card.") ]
74 class CIM_PhysicalPackage : CIM_PhysicalElement {
75
76 [Description (
77 "A PhysicalPackage is Removable if it is designed to be "
78 "taken in and out of the physical container in which it is "
79 "normally found, without impairing the function of the "
80 "overall packaging. A Package can still be Removable if "
81 "power must be 'off' in order to perform the removal. If "
82 "power can be 'on' and the Package removed, then the Element "
83 "is both Removable and HotSwappable. For example, an extra "
84 "battery in a laptop is Removable, as is a disk drive Package "
85 karl 1.1 "inserted using SCA connectors. However, the latter is also "
86 "HotSwappable. A laptop's display is not Removable, nor "
87 "is a non-redundant power supply. Removing these "
88 "components would impact the function of the overall packaging "
89 "or is impossible due to the tight integration of the "
90 "Package.") ]
91 boolean Removable;
92
93 [Description (
94 "A PhysicalPackage is Replaceable if it is possible to "
95 "replace (FRU or upgrade) the Element with a physically "
96 "different one. For example, some ComputerSystems "
97 "allow the main Processor chip to be upgraded to one of a "
98 "higher clock rating. In this case, the Processor is said "
99 "to be Replaceable. Another example is a power supply "
100 "Package mounted on sliding rails. All Removable packages "
101 "are inherently Replaceable.") ]
102 boolean Replaceable;
103
104 [Description (
105 "A PhysicalPackage is HotSwappable if it is possible to "
106 karl 1.1 "replace the Element with a physically different "
107 "but equivalent one while the containing Package has power "
108 "applied to it (ie, is 'on'). For example, a disk drive "
109 "Package inserted using SCA connectors is both Removable "
110 "and HotSwappable. All HotSwappable packages are inherently "
111 "Removable and Replaceable.") ]
112 boolean HotSwappable;
113
114 [Description (
115 "The height of the PhysicalPackage in inches."),
116 Units ("Inches") ]
117 real32 Height;
118
119 [Description (
120 "The depth of the PhysicalPackage in inches."),
121 Units ("Inches") ]
122 real32 Depth;
123
124 [Description (
125 "The width of the PhysicalPackage in inches."),
126 Units ("Inches") ]
127 karl 1.1 real32 Width;
128
129 [Description (
130 "The weight of the PhysicalPackage in pounds."),
131 Units ("Pounds") ]
132 real32 Weight;
133
134 [Description (
135 "The IsCompatible method verifies whether the referenced "
136 "PhysicalElement may be contained by or inserted into "
137 "the PhysicalPackage. The return value should be 0 if "
138 "the request was successfully executed, 1 if the request "
139 "is not supported and some other value if an error "
140 "occurred. In a subclass, the set of possible return codes "
141 "could be specified, using a ValueMap qualifier on the "
142 "method. The strings to which the ValueMap contents are "
143 "'translated' may also be specified in the subclass as a "
144 "Values array qualifier.") ]
145 uint32 IsCompatible(
146 [IN] CIM_PhysicalElement REF ElementToCheck);
147 };
148 karl 1.1
149
150 // ==================================================================
151 // Container
152 // ==================================================================
153 [Association, Aggregation, Version ("2.6.0"), Description (
154 "The Container association represents the relationship "
155 "between a contained and a containing PhysicalElement. "
156 "A containing object must be a PhysicalPackage.") ]
157 class CIM_Container : CIM_Component {
158
159 [Override ("GroupComponent"), Aggregate, Max (1), Description (
160 "The PhysicalPackage that contains other PhysicalElements, "
161 "including other Packages."),
162 MappingStrings {
163 "MIB.IETF|Entity-MIB.entPhysicalContainedIn"} ]
164 CIM_PhysicalPackage REF GroupComponent;
165
166 [Override ("PartComponent"), Description (
167 "The PhysicalElement which is contained in the Package.") ]
168 CIM_PhysicalElement REF PartComponent;
169 karl 1.1
170 [Description (
171 "A free-form string representing the positioning of the "
172 "PhysicalElement within the PhysicalPackage. Information "
173 "relative to stationary elements in the Container (for "
174 "example, 'second drive bay from the top'), angles, "
175 "altitudes and other data may be recorded in this property. "
176 "This string could supplement or be used in place of "
177 "instantiating the CIM_Location object."),
178 MappingStrings {
179 "MIB.IETF|Entity-MIB.entPhysicalParentRelPos"} ]
180 string LocationWithinContainer;
181 };
182
183
184 // ==================================================================
185 // PhysicalFrame
186 // ==================================================================
187 [Version ("2.7.0"), Description (
188 "PhysicalFrame is a superclass of Rack, Chassis and "
189 "other frame enclosures, as they are defined in extension "
190 karl 1.1 "classes. Properties like visible or audible alarm, and data "
191 "related to security breaches are in this superclass." ) ]
192 class CIM_PhysicalFrame : CIM_PhysicalPackage {
193
194 [Description ("CableManagementStrategy is a free-form string "
195 "that contains information on how the various cables are "
196 "connected and bundled for the Frame. With many networking, "
197 "storage-related and power cables, cable management can be "
198 "a complex and challenging endeavor. This string property "
199 "contains information to aid in assembly and service "
200 "of the Frame.") ]
201 string CableManagementStrategy;
202
203 [Description (
204 "ServicePhilosophy is an enumerated, integer-valued "
205 "array that indicates whether the Frame is serviced from the "
206 "top (value=2), front (3), back (4) or side (5), whether it "
207 "has sliding trays (6) or removable sides (7), and/or whether "
208 "the Frame is moveable (8), for example, having rollers."),
209 ArrayType ("Indexed"),
210 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"},
211 karl 1.1 Values {"Unknown", "Other", "Service From Top",
212 "Service From Front", "Service From Back",
213 "Service From Side", "Sliding Trays",
214 "Removable Sides", "Moveable"},
215 ModelCorrespondence {"CIM_PhysicalFrame.ServiceDescriptions"} ]
216 uint16 ServicePhilosophy[];
217
218 [Description ("An array of free-form strings providing more "
219 "detailed explanations for any of the entries in the Service"
220 "Philosophy array. Note, each entry of this array "
221 "is related to the entry in ServicePhilosophy that is "
222 "located at the same index."),
223 ArrayType ("Indexed"),
224 ModelCorrespondence {"CIM_PhysicalFrame.ServicePhilosophy"} ]
225 string ServiceDescriptions[];
226
227 [Description ("Boolean indicating whether the Frame is protected "
228 "with a lock.") ]
229 boolean LockPresent;
230
231 [Description ("Boolean indicating whether the Frame is equipped "
232 karl 1.1 "with an audible alarm.") ]
233 boolean AudibleAlarm;
234
235 [Description ("Boolean indicating that the equipment includes "
236 "a visible alarm.") ]
237 boolean VisibleAlarm;
238
239 [Description ("SecurityBreach is an enumerated, integer-valued "
240 "property indicating whether a physical breach of the Frame "
241 "was attempted but unsuccessful (value=4) or attempted and "
242 "successful (5). Also, the values, \"Unknown\", \"Other\" or "
243 "\"No Breach\", can be specified."),
244 ValueMap {"1", "2", "3", "4", "5"},
245 Values {"Other", "Unknown", "No Breach", "Breach Attempted",
246 "Breach Successful"},
247 MappingStrings {
248 "MIF.DMTF|Physical Container Global Table|004.12"},
249 ModelCorrespondence {"CIM_PhysicalFrame.BreachDescription"} ]
250 uint16 SecurityBreach;
251
252 [Description ("BreachDescription is a free-form string providing "
253 karl 1.1 "more information if the SecurityBreach property indicates "
254 "that a breach or some other security-related event "
255 "occurred."),
256 ModelCorrespondence {"CIM_PhysicalFrame.SecurityBreach"} ]
257 string BreachDescription;
258
259 [Description (
260 "Boolean indicating that the Frame is currently locked.") ]
261 boolean IsLocked;
262 };
263
264
265 // ==================================================================
266 // Rack
267 // ==================================================================
268 [Version ("2.6.0"), Description (
269 "A Rack is a PhysicalFrame that represents an enclosure in "
270 "which Chassis are placed. Typically a Rack is nothing more "
271 "than the enclosure, and all the functioning componentry is "
272 "packaged in the Chassis, loaded in the Rack.") ]
273 class CIM_Rack : CIM_PhysicalFrame {
274 karl 1.1
275 [Override ("Height"), Description (
276 "The height of the PhysicalPackage in 'U's. A 'U' is a "
277 "standard unit of measure for the height of a Rack or "
278 "rack-mountable component. It is equal to 1.75 inches or "
279 "4.445 cm."),
280 Units ("Us") ]
281 real32 Height;
282
283 [Description ("Enumeration indicating the type of Rack."
284 "Information such as \"Telco\" rack (value=2) or standard "
285 "19 inch rack (1) can be specified. The country for which "
286 "the Rack is manufactured is defined in the the Country"
287 "Designation property."),
288 ValueMap {"0", "1", "2", "3", "4"},
289 Values {"Unknown", "Standard 19 Inch", "Telco",
290 "Equipment Shelf", "Non-Standard"},
291 ModelCorrespondence {"CIM_Rack.CountryDesignation"} ]
292 uint16 TypeOfRack;
293
294 [Description ("Designation of the country for which the Rack "
295 karl 1.1 "is designed. Country code strings are as defined by "
296 "ISO/IEC 3166. The rack type is specified in the TypeOf"
297 "Rack property."),
298 ModelCorrespondence {"CIM_Rack.TypeOfRack"} ]
299 string CountryDesignation;
300 };
301
302 // ==================================================================
303 // Chassis
304 // ==================================================================
305 [Version ("2.7.0"), Description (
306 "The Chassis class represents the PhysicalElements that "
307 "enclose other Elements and provide definable functionality, "
308 "such as a desktop, processing node, UPS, disk or tape storage, "
309 "or a combination of these.") ]
310 class CIM_Chassis : CIM_PhysicalFrame {
311
312 [Description (
313 "Integer indicating the number of power cords which must be "
314 "connected to the Chassis, for all the componentry to "
315 "operate.") ]
316 karl 1.1 uint16 NumberOfPowerCords;
317
318 [Description (
319 "Current required by the Chassis at 120V. If power is "
320 "provided by the Chassis (as in the case of a UPS), this "
321 "property may indicate the amperage produced, as a negative "
322 "number."),
323 Units ("Amps at 120 Volts") ]
324 sint16 CurrentRequiredOrProduced;
325
326 [Description (
327 "Amount of heat generated by the Chassis in BTU/hour."),
328 Units ("BTU per Hour") ]
329 uint16 HeatGeneration;
330
331 [Description (
332 "An enumerated, integer-valued array indicating the type of "
333 "Chassis."),
334 ArrayType ("Indexed"),
335 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
336 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
337 karl 1.1 "20", "21", "22", "23", "24", "25"},
338 Values {"Other", "Unknown", "Desktop", "Low Profile Desktop",
339 "Pizza Box", "Mini Tower", "Tower", "Portable", "LapTop",
340 // 10
341 "Notebook", "Hand Held", "Docking Station", "All in One",
342 "Sub Notebook", "Space-Saving", "Lunch Box",
343 "Main System Chassis", "Expansion Chassis", "SubChassis",
344 // 20
345 "Bus Expansion Chassis", "Peripheral Chassis",
346 "Storage Chassis", "Rack Mount Chassis",
347 "Sealed-Case PC", "Multi-system Chassis"},
348 MappingStrings {
349 "MIF.DMTF|Physical Container Global Table|004.1"},
350 ModelCorrespondence {"CIM_Chassis.TypeDescriptions"} ]
351 uint16 ChassisTypes[];
352
353 [Description (
354 "An array of free-form strings providing more information "
355 "on the ChassisTypes array entries. Note, each entry of this "
356 "array is related to the entry in ChassisTypes that is "
357 "located at the same index."),
358 karl 1.1 ArrayType ("Indexed"),
359 ModelCorrespondence {"CIM_Chassis.ChassisTypes"} ]
360 string TypeDescriptions[];
361 };
362
363
364 // ==================================================================
365 // ChassisInRack
366 // ==================================================================
367 [Association, Aggregation, Version ("2.6.0"), Description (
368 "Racks, as simple enclosures, contain Chassis that provide "
369 "the physical componentry realizing processing nodes, "
370 "storage devices, UPSs, etc. The ChassisInRack association "
371 "makes explicit the 'containing' relationship between the "
372 "Rack and the Chassis.") ]
373 class CIM_ChassisInRack : CIM_Container {
374
375 [Override ("GroupComponent"), Aggregate, Max (1),
376 Description ("The Rack that contains the Chassis.") ]
377 CIM_Rack REF GroupComponent;
378
379 karl 1.1 [Override ("PartComponent"),
380 Description ("The Chassis which is mounted in the Rack.") ]
381 CIM_Chassis REF PartComponent;
382
383 [Description (
384 "An integer indicating the lowest or 'bottom' U in which "
385 "the Chassis is mounted. A 'U' is a standard unit of "
386 "measure for the height of a Rack or rack-mountable "
387 "component. It is equal to 1.75 inches or 4.445 cm."),
388 Units ("Us") ]
389 uint16 BottomU;
390 };
391
392
393 // ==================================================================
394 // PackageInChassis
395 // ==================================================================
396 [Association, Aggregation, Version ("2.6.0"), Description (
397 "A Chassis can contain other Packages, such as other Chassis "
398 "and Cards. The PackageInChassis association makes explicit "
399 "this relationship.") ]
400 karl 1.1 class CIM_PackageInChassis : CIM_Container {
401
402 [Override ("GroupComponent"), Aggregate, Max (1), Description (
403 "The Chassis that contains other PhysicalPackages.") ]
404 CIM_Chassis REF GroupComponent;
405
406 [Override ("PartComponent"), Description (
407 "The PhysicalPackage which is contained in the Chassis.") ]
408 CIM_PhysicalPackage REF PartComponent;
409 };
410
411
412 // ==================================================================
413 // Docked
414 // ==================================================================
415 [Association, Version ("2.6.0"), Description (
416 "A laptop, a type of Chassis, may be docked in another "
417 "type of Chassis, a Docking Station. This is the relationship "
418 "represented by the Docked association. Because this is "
419 "such a typical relationship, it is explicitly described."),
420 MappingStrings {"MIF.DMTF|Dynamic States|001.2"} ]
421 karl 1.1 class CIM_Docked : CIM_Dependency {
422
423 [Override ("Antecedent"),
424 Max (1), Description ("The Docking Station.") ]
425 CIM_Chassis REF Antecedent;
426
427 [Override ("Dependent"),
428 Max (1), Description ("The Laptop that is 'Docked'.") ]
429 CIM_Chassis REF Dependent;
430 };
431
432
433 // ===================================================================
434 // end of file
435 // ===================================================================
|