27 karl 1.1 // Description: The object classes below are listed in an order that
28 // avoids forward references. Required objects, defined
29 // by other working groups, are omitted.
30 // ==================================================================
31 // Date: 09/29/1998 - Original release, CIM Version 2.1 - CRs from
32 // Author: DMTF System and Devices Working Group
33 // Editor: Michael A. Thatcher
34 // ==================================================================
35 // - CR237, Remove CompatibilityList from PhysicalPackage
36 // - CR246, Update mapping from DMI Master.MIF
37 // - CR247, Remove repetition of Values arrays from the property
38 // Descriptions
39 // - CR248, Add WriteProtectOn boolean to PhysicalMedia
40 // - CR253, Add PhysicalCapacity and subclasses, Remove MemoryCard
41 // - CR255b, Create AdjacentSlots association / Delete several Slot
42 // properties from Card and the SharedSlots association
43 // - CR256, Add VisibleAlarm boolean to Rack and Chassis
44 // - CR257, Add an association, MemoryWithMedia
45 // - CR258a and 289, Add SpecialPurpose info to Slot
46 // - CR260, Remove Max(1) from the Antecedent reference of CardInSlot
47 // - CR262, Add RequiresDautherBoard boolean to CIM_Card
48 karl 1.1 // - CR263, Change description of CardOnCard.GroupComponent
49 // - CR264, Add CleanerMedia boolean to PhysicalMedia
50 // - CR266, Add PackageAlarm association
51 // - CR267, Make all measurements of datatype, real
52 // - CR269, Change the "Replaceable" descriptions for Physical
53 // Package and PhysicalComponent
54 // - CR278a, Add MediaType property to PhysicalLink
55 // - CR279a, Add an Index property to Slot
56 // - CR280, Replace SlotAdapter property with an association,
57 // SlotInSlot
58 // - CR281a, Add SpecialRequirements info to Card
59 // - CR283, Add a new association PackageInSlot, and reparent
60 // CardInSlot to be its child
61 // - CR284a, Define a new association, ConnectedTo
62 // - CR286a, Add TypeOfRack enumeration and CountryDesignation
63 // string to Rack
64 // - CR287, Create superclass of Rack and Chassis, PhysicalFrame
65 // - CR290, Add ModelCorrespondence to "linked" properties
66 // Date: 06/09/1999
67 // - CR339, Define AdapterActiveConnection association
68 // - CR349, Add OperatingVoltages property to Card
69 karl 1.1 // - CR350, Add PlatformGUID to ComputerSystemPackage
70 // - CR355a, Update the method descriptions for IsCompatible
71 // indicating that Values-ValueMap qualifiers can be defined
72 // for return codes
73 // - CR356a, Put keys on the references of PhysicalElementLocation,
74 // ElementCapacity, ParticipatesInSet and AdjacentSlots
75 // - CR365, Clarify the Description for RealizesDiskPartition
76 // - CR378a, Miscellaneous changes to enumerations, creating new
77 // properties and subclasses, and updating the DMI
78 // MappingStrings
79 // - CR379a, Update MappingStrings to align with the DMI master.mif
80 // - CR392a, Tape support
81 // - CR405, Add Counter qualifier to PhysicalMedia.MountCount and
82 // all properties of MediaPhysicalStatInfo
83 // - CR407, Add to the enumeration for StorageMediaLocation.
84 // LocationType and add property, MediaCapacity (StorageMedia
85 // Location originally defined in CR392)
86 // - CR417a, Add to the enumeration for ConfigurationCapacity.
87 // ObjectType and updated the class Description (originally
88 // defined in CR392)
89 // - CR418a, Update Slot Description, Create RealizesExtent
90 karl 1.1 // association and change subclassing for other Realizes
91 // relationships to use RealizesExtent
92 // - CR419, Remove Max(1) from the MediaTransferDevice reference
93 // for DeviceServicesLocation (originally defined in CR392)
94 // - CR420, Add CD-DA, CD+, DVD-Audio and DVD-5,9,10,18 formats to
95 // StorageMediaLocation.MediaTypesSupported and
96 // PhysicalMedia.MediaType
97 // Date: 07/06/1999 - Version 2.2.1
98 // - CR423, Locale should be specified as en_US
99 // - CR425, Update the DMI MappingStrings using the June
100 // release of the master.mif
101 // Date 02/18/2000 - Version 2.3
102 // - CR431 Update MappingStrings
103 // - CR433 Add new properties and enums from Master.MIF and new
104 // ModelCorrespondences
105 // - CR435 Add additional types (Front and Back Side I/O slots, NVS,
106 // Volatile, and Cache Memory) to ConfigurationCapacity.
107 // - CR445e, Modify the Card class to add a ConnectorPower method
108 // - CR459 Add InfiniBand to the list of connectors/bus types
109 // - CR461 Subclass from CIM_ManagedElement Location, PhysicalCapacity
110 // and ReplacementSet
111 karl 1.1 // Remove Description & Caption from the above classes, where exist.
112 // Date 06/09/2000 - Version 2.4
113 // - CR478 A variety of changes related to modeling the physical aspects of
114 // storage and StorageLibraries.
115 // 1. New property, Inaccessible, to DeviceServicesLocation association.
116 // 2. Add to the enumeration for PhysicalMedia.LabelFormats
117 // 3. Add two new properties to PhysicalMedia
118 // 4. Define a new association, RealizedOnSide
119 // 5. New properties to association, PhysicalMediaInLocation.
120 // 6. Define a new association, HomeForMedia
121 // 7. Update description for Container.LocationWithinContainer.
122 // - CR487, Further updates to the Storage and Storage Library Models
123 // 1. New property, TypeDescriptions, to StorageMediaLocation.
124 // 2. Update ModelCorrespondence for
125 // StorageMediaLocation.MediaTypesSupported due to changes in #1.
126 // 3. Update the Description for StorageMediaLocation.MediaTypesSupported
127 // to reflect that additional info is contained in the
128 // TypeDescriptions array.
129 // 4. Add a new class, Magazine.
130 // - CR495, Change the Values list for CIM_MemoryCapacity.MemoryType and
131 // CIM_PhysicalMemory.MemoryType
132 karl 1.1 // Date 12/01/2000 Version 2.5
133 // - CR534 Update MappingStrings Qualifiers to stay in sync with updates to the MASTER.MIF.
134 //
135 // ===================================================================
136
137
138 // ===================================================================
139 // Generic Pragmas
140 // ===================================================================
141 #pragma locale ("en_US")
142
143
144 // ===================================================================
145 // Location
146 // ===================================================================
147 [Description (
148 "The Location class specifies the position and address of "
149 "a PhysicalElement.")
150 ]
151 class CIM_Location : CIM_ManagedElement
152 {
153 karl 1.1 [Key, MaxLen (256),
154 Description (
155 "Name is a free-form string defining a label for the "
156 "Location. It is a part of the key for the object.")
157 ]
158 string Name;
159 [Key, MaxLen (256),
160 Description (
161 "Position is a free-form string indicating the placement "
162 "of a PhysicalElement. It can specify slot information on "
163 "a HostingBoard, mounting site in a Cabinet, or latitude and "
164 "longitude information, for example, from a GPS. It is "
165 "part of the key of the Location object.")
166 ]
167 string PhysicalPosition;
168 [MaxLen (1024),
169 Description (
170 "Address is a free-form string indicating a street, building "
171 "or other type of address for the PhysicalElement's Location.")
172 ]
173 string Address;
174 karl 1.1 };
175
176 // ==================================================================
177 // PhysicalElementLocation
178 // ==================================================================
179 [Association,
180 Description (
181 "PhysicalElementLocation associates a PhysicalElement with "
182 "a Location object for inventory or replacement purposes.")
183 ]
184 class CIM_PhysicalElementLocation
185 {
186 [Key, Description (
187 "The PhysicalElement whose Location is specified.")
188 ]
189 CIM_PhysicalElement REF Element;
190 [Key, Max (1),
191 Description ("The PhysicalElement's Location.")
192 ]
193 CIM_Location REF PhysicalLocation;
194 };
195 karl 1.1
196 // ==================================================================
197 // PhysicalCapacity
198 // ==================================================================
199 [Abstract,
200 Description ("PhysicalCapacity is an abstract class describing "
201 "a PhysicalElement's minimum/maximum requirements and "
202 "ability to support different types of hardware. For example, "
203 "minimum and maximum memory requirements can be modeled as a "
204 "subclass of CIM_PhysicalCapacity.")
205 ]
206 class CIM_PhysicalCapacity : CIM_ManagedElement
207 {
208 [MaxLen (256),
209 Description ("The Name property defines the label by which "
210 "the PhysicalCapacity object is known. When subclassed, "
211 "the Name property can be overridden to be a Key property.")
212 ]
213 string Name;
214 };
215
216 karl 1.1 // =================================================================
217 // ElementCapacity
218 // =================================================================
219 [Association,
220 Description ("ElementCapacity associates a PhysicalCapacity "
221 "object with one or more PhysicalElements. It serves to "
222 "associate a description of min/max hardware requirements "
223 "or capabilities (stored as a kind of PhysicalCapacity), "
224 "with the PhysicalElements being described.")
225 ]
226 class CIM_ElementCapacity
227 {
228 [Key, Description (
229 "PhysicalCapacity describes the minimum and maximum "
230 "requirements, and ability to support different types of "
231 "hardware for a PhysicalElement.")
232 ]
233 CIM_PhysicalCapacity REF Capacity;
234 [Key, Min(1),
235 Description ("The PhysicalElement being described.")
236 ]
237 karl 1.1 CIM_PhysicalElement REF Element;
238 };
239
240 // ==================================================================
241 // MemoryCapacity
242 // ==================================================================
243 [Description (
244 "MemoryCapacity describes the type of Memory that "
245 "can be installed on a PhysicalElement and its minimum/maximum "
246 "configurations. Information on what memory is currently "
247 "'installed', versus an Element's min/max requirements, is "
248 "located in instances of the PhysicalMemory class.")
249 ]
250 class CIM_MemoryCapacity : CIM_PhysicalCapacity
251 {
252 [Override ("Name"),
253 Key,
254 Description ("The inherited Name serves as a part of the "
255 "MemoryCapacity object key.")
256 ]
257 string Name;
258 karl 1.1 [Key,
259 Description ("The type of memory. This is a part of the object "
260 "key. Values correspond to the list of possible memory types "
261 "in the PhysicalMemory class."),
262 Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
263 "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
264 "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
265 "3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
266 ModelCorrespondence {"CIM_PhysicalMemory.MemoryType"}]
267 uint16 MemoryType;
268 [Description ("Minimum amount of memory, in Kbytes, that is "
269 "needed for the associated PhysicalElement to operate "
270 "correctly. "),
271 Units ("KiloBytes")
272 ]
273 uint64 MinimumMemoryCapacity;
274 [Description ("Maximum amount of memory, in Kbytes, that can be "
275 "supported by the associated PhysicalElement. "),
276 Units ("KiloBytes")
277 ]
278 uint64 MaximumMemoryCapacity;
279 karl 1.1 };
280
281 // ===================================================================
282 // ConfigurationCapacity
283 // ===================================================================
284 [Description (
285 "ConfigurationCapacity provides information on the minimum and "
286 "maximum numbers of power supplies, fans, disk drives, etc. "
287 "that can be connected to or placed on/into a PhysicalElement "
288 "(and the number that must be connected/added/removed at a "
289 "time). The PhysicalElement whose configuration is described is "
290 "identified using the ElementCapacity association, inherited "
291 "from PhysicalCapacity. The object whose capacities are "
292 "indicated (ie, the power supply or fan) is identified in the "
293 "ObjectType property of this class. Since the same min/max "
294 "configurations can apply to multiple instances, this class is "
295 "not defined as 'weak'.\n"
296 "Examples of the use of the ConfigurationCapacity class are "
297 "to describe that a 'control unit' Chassis may be connected "
298 "to (at most) 4 other I/O chassis, or to describe what a "
299 "StorageLibrary's cabinet may contain. Continuing the latter "
300 karl 1.1 "example, a particular StorageLibrary's cabinet might "
301 "hold a minimum of 3 and a maximum of 9 TapeDrives, and a "
302 "minimum of 88 and a maximum of 264 StorageMediaLocations "
303 "(\"Slots\"). This information would be described in two "
304 "instances of ConfigurationCapacity, both associated to the "
305 "StorageLibrary's PhysicalPackage.\n"
306 "This class does NOT represent the tradeoffs that are "
307 "likely to be required of one resource for another. It simply "
308 "represents capacities. In the case of the StorageLibrary, "
309 "there may be only 2 valid configurations - 9 TapeDrives with "
310 "88 Slots, or 3 TapeDrives with 264 Slots. This class only "
311 "conveys that 'up to' 9 Drives and 'up to' 264 slots may be "
312 "available and are supported.")
313 ]
314 class CIM_ConfigurationCapacity : CIM_PhysicalCapacity
315 {
316 [Override ("Name"), Key,
317 Description ("The inherited Name serves as a part of the "
318 "ConfigurationCapacity object key.")
319 ]
320 string Name;
321 karl 1.1 [Key,
322 Description ("The type of object (power supply, fan, disk "
323 "drive, ...) whose capacities are indicated. This information is "
324 "part of the class' key."),
325 Values {"Other", "Processors", "Power Supplies", "Fans",
326 "Batteries", "I/O Slots", "Memory Slots",
327 "MediaAccessDevices (Drives)",
328 "StorageMediaLocation Slots",
329 "StorageMediaLocation Magazines",
330 "StorageMediaLocation Panels",
331 "StorageMediaLocation InterLibrary Ports",
332 "StorageMediaLocation Limited Access Ports", "Doors",
333 "MediaTransferDevice Pickers",
334 "MediaTransferDevice Changers", "LabelReaders",
335 "Contained Chassis", "Connected Chassis",
336 "Connected Frames", "Front Side I/O Slots", "Back Side I/O Slots",
337 "Cache Memory", "NVS Memory", "Volatile Memory"},
338 ModelCorrespondence {
339 "CIM_ConfigurationCapacity.OtherTypeDescription"}
340 ]
341 uint16 ObjectType;
342 karl 1.1 [Description (
343 "A string describing the object type - used when the "
344 "ObjectType property is set to 0 (\"Other\"). OtherType"
345 "Description should be set to NULL when ObjectType is any "
346 "value other than 0."),
347 MaxLen (64),
348 ModelCorrespondence {"CIM_ConfigurationCapacity.ObjectType"}
349 ]
350 string OtherTypeDescription;
351 [Description ("Minimum number of Elements of type, ObjectType, "
352 "that must be installed.")
353 ]
354 uint64 MinimumCapacity;
355 [Description (
356 "Maximum number of Elements of type, ObjectType, "
357 "that may be installed.")
358 ]
359 uint64 MaximumCapacity;
360 [Description ("Increment in which Elements must be added or "
361 "removed.")
362 ]
363 karl 1.1 uint32 Increment;
364 };
365
366 // ==================================================================
367 // ReplacementSet
368 // ==================================================================
369 [Description (
370 "The ReplacementSet class aggregates PhysicalElements that "
371 "must be 'replaced' or 'FRUed' together. For example, when "
372 "replacing a memory card, the component memory chips could "
373 "be removed and replaced as well. Or, a set of memory chips "
374 "may be specified to be replaced or upgraded together using "
375 "this association.")
376 ]
377 class CIM_ReplacementSet : CIM_ManagedElement
378 {
379 [Key, MaxLen (256),
380 Description (
381 "Name is a free-form string defining a label for the "
382 "ReplacementSet. It is the key for the object.")
383 ]
384 karl 1.1 string Name;
385 };
386
387 // ==================================================================
388 // ParticipatesInSet
389 // ==================================================================
390 [Association,
391 Aggregation,
392 Description (
393 "ParticipatesInSet indicates which PhysicalElements should "
394 "be replaced together.")
395 ]
396 class CIM_ParticipatesInSet
397 {
398 [Key, Aggregate,
399 Description ("The ReplacementSet.")
400 ]
401 CIM_ReplacementSet REF Set;
402 [Key, Description (
403 "The PhysicalElement which should be replaced with other "
404 "Elements, as a Set.")
405 karl 1.1 ]
406 CIM_PhysicalElement REF Element;
407 };
408
409 // ==================================================================
410 // PhysicalPackage
411 // ==================================================================
412 [Description (
413 "The PhysicalPackage class represents PhysicalElements that "
414 "contain or host other components. Examples are a Rack "
415 "enclosure or an adapter Card.")
416 ]
417 class CIM_PhysicalPackage : CIM_PhysicalElement
418 {
419 [Description (
420 "A PhysicalPackage is Removable if it is designed to be "
421 "taken in and out of the physical container in which it is "
422 "normally found, without impairing the function of the "
423 "overall packaging. A Package can still be Removable if "
424 "power must be 'off' in order to perform the removal. If "
425 "power can be 'on' and the Package removed, then the Element "
426 karl 1.1 "is both Removable and HotSwappable. For example, an extra "
427 "battery in a laptop is Removable, as is a disk drive Package "
428 "inserted using SCA connectors. However, the latter is also "
429 "HotSwappable. A laptop's display is not Removable, nor "
430 "is a non-redundant power supply. Removing these "
431 "components would impact the function of the overall packaging "
432 "or is impossible due to the tight integration of the Package.")
433 ]
434 boolean Removable;
435 [Description (
436 "A PhysicalPackage is Replaceable if it is possible to "
437 "replace (FRU or upgrade) the Element with a physically "
438 "different one. For example, some ComputerSystems "
439 "allow the main Processor chip to be upgraded to one of a "
440 "higher clock rating. In this case, the Processor is said "
441 "to be Replaceable. Another example is a power supply "
442 "Package mounted on sliding rails. All Removable packages "
443 "are inherently Replaceable.")
444 ]
445 boolean Replaceable;
446 [Description (
447 karl 1.1 "A PhysicalPackage is HotSwappable if it is possible to "
448 "replace the Element with a physically different "
449 "but equivalent one while the containing Package has power "
450 "applied to it (ie, is 'on'). For example, a disk drive "
451 "Package inserted using SCA connectors is both Removable "
452 "and HotSwappable. All HotSwappable packages are inherently "
453 "Removable and Replaceable.")
454 ]
455 boolean HotSwappable;
456 [Description (
457 "The height of the PhysicalPackage in inches."),
458 Units ("Inches")
459 ]
460 real32 Height;
461 [Description (
462 "The depth of the PhysicalPackage in inches."),
463 Units ("Inches")
464 ]
465 real32 Depth;
466 [Description (
467 "The width of the PhysicalPackage in inches."),
468 karl 1.1 Units ("Inches")
469 ]
470 real32 Width;
471 [Description (
472 "The weight of the PhysicalPackage in pounds."),
473 Units ("Pounds")
474 ]
475 real32 Weight;
476 [Description (
477 "The IsCompatible method verifies whether the referenced "
478 "PhysicalElement may be contained by or inserted into "
479 "the PhysicalPackage. The return value should be 0 if "
480 "the request was successfully executed, 1 if the request "
481 "is not supported and some other value if an error "
482 "occurred. In a subclass, the set of possible return codes "
483 "could be specified, using a ValueMap qualifier on the "
484 "method. The strings to which the ValueMap contents are "
485 "'translated' may also be specified in the subclass as a "
486 "Values array qualifier.")
487 ]
488 uint32 IsCompatible([IN] CIM_PhysicalElement REF ElementToCheck);
489 karl 1.1 };
490
491 // ==================================================================
492 // Container
493 // ==================================================================
494 [Association,
495 Aggregation,
496 Description (
497 "The Container association represents the relationship "
498 "between a contained and a containing PhysicalElement. "
499 "A containing object must be a PhysicalPackage.")
500 ]
501 class CIM_Container : CIM_Component
502 {
503 [Override ("GroupComponent"),
504 Aggregate, Max (1),
505 Description (
506 "The PhysicalPackage that contains other PhysicalElements, "
507 "including other Packages.")
508 ]
509 CIM_PhysicalPackage REF GroupComponent;
510 karl 1.1 [Override ("PartComponent"),
511 Description (
512 "The PhysicalElement which is contained in the Package.")
513 ]
514 CIM_PhysicalElement REF PartComponent;
515 [Description (
516 "A free-form string representing the positioning of the "
517 "PhysicalElement within the PhysicalPackage. Information "
518 "relative to stationary elements in the Container (for "
519 "example, 'second drive bay from the top'), angles, "
520 "altitudes and other data may be recorded in this property. "
521 "This string could supplement or be used in place of "
522 "instantiating the CIM_Location object.")
523 ]
524 string LocationWithinContainer;
525 };
526
527 // ==================================================================
528 // PhysicalFrame
529 // ==================================================================
530 [Description ("PhysicalFrame is a superclass of Rack, Chassis and "
531 karl 1.1 "other frame enclosures, as they are defined in extension "
532 "classes. Properties like visible or audible alarm, and data "
533 "related to security breaches are in this superclass." )
534 ]
535 class CIM_PhysicalFrame : CIM_PhysicalPackage
536 {
537 [Description ("CableManagementStrategy is a free-form string "
538 "that contains information on how the various cables are "
539 "connected and bundled for the Frame. With many networking, "
540 "storage-related and power cables, cable management can be "
541 "a complex and challenging endeavor. This string property "
542 "contains information to aid in assembly and service "
543 "of the Frame.")
544 ]
545 string CableManagementStrategy;
546 [Description (
547 "ServicePhilosophy is an enumerated, integer-valued "
548 "array that indicates whether the Frame is serviced from the "
549 "top (value=2), front (3), back (4) or side (5), whether it "
550 "has sliding trays (6) or removable sides (7), and/or whether "
551 "the Frame is moveable (8), for example, having rollers."),
552 karl 1.1 ArrayType ("Indexed"),
553 Values {"Unknown", "Other", "Service From Top"
554 "Service From Front", "Service From Back",
555 "Service From Side", "Sliding Trays",
556 "Removable Sides", "Moveable"},
557 ModelCorrespondence {"CIM_PhysicalFrame.ServiceDescriptions"}
558 ]
559 uint16 ServicePhilosophy[];
560 [Description ("An array of free-form strings providing more "
561 "detailed explanations for any of the entries in the Service"
562 "Philosophy array. Note, each entry of this array "
563 "is related to the entry in ServicePhilosophy that is "
564 "located at the same index."),
565 ArrayType ("Indexed"),
566 ModelCorrespondence {"CIM_PhysicalFrame.ServicePhilosophy"}
567 ]
568 string ServiceDescriptions[];
569 [Description ("Boolean indicating whether the Frame is protected "
570 "with a lock.")
571 ]
572 boolean LockPresent;
573 karl 1.1 [Description ("Boolean indicating whether the Frame is equipped "
574 "with an audible alarm.")
575 ]
576 boolean AudibleAlarm;
577 [Description ("Boolean indicating that the equipment includes "
578 "a visible alarm.")
579 ]
580 boolean VisibleAlarm;
581 [Description ("SecurityBreach is an enumerated, integer-valued "
582 "property indicating whether a physical breach of the Frame "
583 "was attempted but unsuccessful (value=4) or attempted and "
584 "successful (5). Also, the values, \"Unknown\", \"Other\" or "
585 "\"No Breach\", can be specified."),
586 ValueMap {"1", "2", "3", "4", "5"},
587 Values {"Other", "Unknown", "No Breach", "Breach Attempted",
588 "Breach Successful"},
589 MappingStrings {
590 "MIF.DMTF|Physical Container Global Table|004"},
591 ModelCorrespondence {"CIM_PhysicalFrame.BreachDescription"}
592 ]
593 uint16 SecurityBreach;
594 karl 1.1 [Description ("BreachDescription is a free-form string providing "
595 "more information if the SecurityBreach property indicates "
596 "that a breach or some other security-related event "
597 "occurred."),
598 ModelCorrespondence {"CIM_PhysicalFrame.SecurityBreach"}
599 ]
600 string BreachDescription;
601 [Description (
602 "Boolean indicating that the Frame is currently locked.")
603 ]
604 boolean IsLocked;
605 };
606
607 // ==================================================================
608 // Rack
609 // ==================================================================
610 [Description (
611 "A Rack is a PhysicalFrame that represents an enclosure in "
612 "which Chassis are placed. Typically a Rack is nothing more "
613 "than the enclosure, and all the functioning componentry is "
614 "packaged in the Chassis, loaded in the Rack.")
615 karl 1.1 ]
616 class CIM_Rack : CIM_PhysicalFrame
617 {
618 [Override ("Height"),
619 Description (
620 "The height of the PhysicalPackage in 'U's. A 'U' is a "
621 "standard unit of measure for the height of a Rack or "
622 "rack-mountable component. It is equal to 1.75 inches or "
623 "4.445 cm."),
624 Units ("Us")
625 ]
626 real32 Height;
627 [Description ("Enumeration indicating the type of Rack."
628 "Information such as \"Telco\" rack (value=2) or standard "
629 "19 inch rack (1) can be specified. The country for which "
630 "the Rack is manufactured is defined in the the Country"
631 "Designation property."),
632 Values {"Unknown", "Standard 19 Inch", "Telco",
633 "Equipment Shelf", "Non-Standard"},
634 ModelCorrespondence {"CIM_Rack.CountryDesignation"}
635 ]
636 karl 1.1 uint16 TypeOfRack;
637 [Description ("Designation of the country for which the Rack "
638 "is designed. Country code strings are as defined by "
639 "ISO/IEC 3166. The rack type is specified in the TypeOf"
640 "Rack property."),
641 ModelCorrespondence {"CIM_Rack.TypeOfRack"} ]
642 string CountryDesignation;
643 };
644
645 // ==================================================================
646 // Chassis
647 // ==================================================================
648 [Description (
649 "The Chassis class represents the PhysicalElements that "
650 "enclose other Elements and provide definable functionality, "
651 "such as a desktop, processing node, UPS, disk or tape storage, "
652 "or a combination of these.")
653 ]
654 class CIM_Chassis : CIM_PhysicalFrame
655 {
656 [Description (
657 karl 1.1 "Integer indicating the number of power cords which must be "
658 "connected to the Chassis, for all the componentry to "
659 "operate.")
660 ]
661 uint16 NumberOfPowerCords;
662 [Description (
663 "Current required by the Chassis at 120V. If power is "
664 "provided by the Chassis (as in the case of a UPS), this "
665 "property may indicate the amperage produced, as a negative "
666 "number."),
667 Units ("Amps at 120 Volts")
668 ]
669 sint16 CurrentRequiredOrProduced;
670 [Description (
671 "Amount of heat generated by the Chassis in BTU/hour."),
672 Units ("BTU per Hour")
673 ]
674 uint16 HeatGeneration;
675 [Description (
676 "An enumerated, integer-valued array indicating the type of "
677 "Chassis."),
678 karl 1.1 ArrayType ("Indexed"),
679 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
680 "11", "12", "13", "14", "15", "16", "17", "18", "19",
681 "20", "21", "22", "23", "24"},
682 Values {"Other", "Unknown", "Desktop", "Low Profile Desktop",
683 "Pizza Box", "Mini Tower", "Tower", "Portable", "LapTop",
684 "Notebook", "Hand Held", "Docking Station", "All in One",
685 "Sub Notebook", "Space-Saving", "Lunch Box",
686 "Main System Chassis", "Expansion Chassis", "SubChassis",
687 "Bus Expansion Chassis", "Peripheral Chassis",
688 "Storage Chassis", "Rack Mount Chassis",
689 "Sealed-Case PC"},
690 MappingStrings {
691 "MIF.DMTF|Physical Container Global Table|004"},
692 ModelCorrespondence {"CIM_Chassis.TypeDescriptions"}
693 ]
694 uint16 ChassisTypes[];
695 [Description (
696 "An array of free-form strings providing more information "
697 "on the ChassisTypes array entries. Note, each entry of this "
698 "array is related to the entry in ChassisTypes that is "
699 karl 1.1 "located at the same index."),
700 ArrayType ("Indexed"),
701 ModelCorrespondence {"CIM_Chassis.ChassisTypes"}
702 ]
703 string TypeDescriptions[];
704 };
705
706 // ==================================================================
707 // ChassisInRack
708 // ==================================================================
709 [Association,
710 Aggregation,
711 Description (
712 "Racks, as simple enclosures, contain Chassis that provide "
713 "the physical componentry realizing processing nodes, "
714 "storage devices, UPSs, etc. The ChassisInRack association "
715 "makes explicit the 'containing' relationship between the "
716 "Rack and the Chassis.")
717 ]
718 class CIM_ChassisInRack : CIM_Container
719 {
720 karl 1.1 [Override ("GroupComponent"),
721 Aggregate, Max (1),
722 Description ("The Rack that contains the Chassis.")
723 ]
724 CIM_Rack REF GroupComponent;
725 [Override ("PartComponent"),
726 Description ("The Chassis which is mounted in the Rack.")
727 ]
728 CIM_Chassis REF PartComponent;
729 [Description (
730 "An integer indicating the lowest or 'bottom' U in which "
731 "the Chassis is mounted. A 'U' is a standard unit of "
732 "measure for the height of a Rack or rack-mountable "
733 "component. It is equal to 1.75 inches or 4.445 cm."),
734 Units ("Us")
735 ]
736 uint16 BottomU;
737 };
738
739 // ==================================================================
740 // PackageInChassis
741 karl 1.1 // ==================================================================
742 [Association,
743 Aggregation,
744 Description (
745 "A Chassis can contain other Packages, such as other Chassis "
746 "and Cards. The PackageInChassis association makes explicit "
747 "this relationship.")
748 ]
749 class CIM_PackageInChassis : CIM_Container
750 {
751 [Override ("GroupComponent"),
752 Aggregate, Max (1),
753 Description (
754 "The Chassis that contains other PhysicalPackages.")
755 ]
756 CIM_Chassis REF GroupComponent;
757 [Override ("PartComponent"),
758 Description (
759 "The PhysicalPackage which is contained in the Chassis.")
760 ]
761 CIM_PhysicalPackage REF PartComponent;
762 karl 1.1 };
763
764 // ==================================================================
765 // Docked
766 // ==================================================================
767 [Association,
768 Description (
769 "A laptop, a type of Chassis, may be docked in another "
770 "type of Chassis, a Docking Station. This is the relationship "
771 "represented by the Docked association. Because this is "
772 "such a typical relationship, it is explicitly described."),
773 MappingStrings {"MIF.DMTF|Dynamic States|001.2"}
774 ]
775 class CIM_Docked : CIM_Dependency
776 {
777 [Override ("Antecedent"),
778 Max (1),
779 Description ("The Docking Station.")
780 ]
781 CIM_Chassis REF Antecedent;
782 [Override ("Dependent"),
783 karl 1.1 Max (1),
784 Description ("The Laptop that is 'Docked'.")
785 ]
786 CIM_Chassis REF Dependent;
787 };
788
789 // ==================================================================
790 // Card
791 // ==================================================================
792 [Description (
793 "The Card class represents a type of physical container that "
794 "can be plugged into another Card or HostingBoard, or is "
795 "itself a HostingBoard/Motherboard in a Chassis. The CIM_Card "
796 "class includes any package capable of carrying signals and "
797 "providing a mounting point for PhysicalComponents, such as "
798 "Chips, or other PhysicalPackages, such as other Cards.")
799 ]
800 class CIM_Card : CIM_PhysicalPackage
801 {
802 [Description (
803 "Boolean indicating that this Card is a Motherboard or, "
804 karl 1.1 "more generically, a baseboard in a Chassis.")
805 ]
806 boolean HostingBoard;
807 [Description (
808 "SlotLayout is a free-form string that describes the "
809 "slot positioning, typical usage, restrictions, individual "
810 "slot spacings or any other pertinent information for the "
811 "slots on a Card.")
812 ]
813 string SlotLayout;
814 [Description (
815 "Boolean indicating that at least one daughterboard or "
816 "auxiliary Card is required in order to function properly.")
817 ]
818 boolean RequiresDaughterBoard;
819 [Description ("Boolean indicating that this Card is physically "
820 "unique from other Cards of the same type and therefore "
821 "requires a special Slot. For example, a double-wide Card "
822 "requires two Slots. Another example is where a certain Card "
823 "may be used for the same general function as other Cards but "
824 "requires a special Slot (e.g., extra long), whereas the "
825 karl 1.1 "other Cards can be placed in any available Slot. "
826 "If set to TRUE, then the corresponding property, "
827 "RequirementsDescription, should specify the nature of the "
828 "uniqueness or purpose of the Card."),
829 ModelCorrespondence{"CIM_Card.RequirementsDescription"}
830 ]
831 boolean SpecialRequirements;
832 [Description ("A free-form string describing the way(s) in which "
833 "this Card is physically unique from other Cards. This "
834 "property only has meaning when the corresponding boolean "
835 "property, SpecialRequirements, is set to TRUE."),
836 ModelCorrespondence{"CIM_Card.SpecialRequirements"}
837 ]
838 string RequirementsDescription;
839 [Description ("Operating voltages required by the Card."),
840 Units("MilliVolts")
841 ]
842 sint16 OperatingVoltages[];
843 [Description (
844 "This method manipulates the power to a PhysicalConnector on a Card. "
845 "It is intended to be used by a Card (especially by a motherboard - "
846 karl 1.1 "i.e., HostingBoard=TRUE) to turn the power on and off for a "
847 "specific PhysicalConnector located on it. For example, in a personal "
848 "computer, a system slot does not know how to turn itself on and off. "
849 "However, the motherboard hosting this slot may have that capability. "
850 "This is important in order to support hot swapping of an adapter card "
851 "in a system slot. The method should return 0 if successful, 1 if the request "
852 "is not supported, and some other value if any other error occurred. In "
853 "a subclass, the set of possible return codes could be specified, using "
854 "a ValueMap qualifier on the method. The strings to which the ValueMap "
855 "contents are 'translated' may also be specified in the subclass as a "
856 "Values array qualifier.") ]
857 uint32 ConnectorPower([IN] CIM_PhysicalConnector REF Connector,
858 [IN] boolean PoweredOn);
859 };
860
861 // ==================================================================
862 // SystemBusCard
863 // ==================================================================
864 [Description (
865 "The SystemBusCard class represents additional information "
866 "for a CIM_Card, detailing the Card's bus type and data width. "
867 karl 1.1 "These properties dictate the type of Slot into which the Card "
868 "can be inserted. For example, using the properties of this "
869 "class, one can define that a Card is a PCI, 64 bit adapter.")
870 ]
871 class CIM_SystemBusCard : CIM_Card
872 {
873 [Description (
874 "An enumerated integer describing the System bus type for "
875 "this Card. It indicates the type of Slot into which the "
876 "Card can plug. The list of permissible values aligns with "
877 "the System bus types in CIM_PhysicalConnector.Connector"
878 "Type."),
879 ValueMap {"43", "44", "45", "46", "47", "48", "49", "50",
880 "52", "64", "65", "73", "74", "75", "76", "77", "78",
881 "79", "80", "81", "82", "83", "84", "85", "86", "87",
882 "98", "99", "100", "101", "102", "103", "104", "105",
883 "106", "109", "110"},
884 Values {"PCI", "ISA", "EISA", "VESA", "PCMCIA",
885 "PCMCIA Type I", "PCMCIA Type II", "PCMCIA Type III",
886 "CardBus", "Access.bus", "NuBus", "AGP", "VME Bus",
887 "VME64", "Proprietary",
888 karl 1.1 "Proprietary Processor Card Slot",
889 "Proprietary Memory Card Slot",
890 "Proprietary I/O Riser Slot", "PCI-66MHZ", "AGP2X",
891 "AGP4X", "PC-98", "PC-98-Hireso", "PC-H98",
892 "PC-98Note", "PC-98Full", "PCI-X",
893 "Sbus IEEE 1396-1993 32 bit",
894 "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO",
895 "HIO", "NGIO", "PMC", "Future I/O", "InfiniBand"},
896 ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"}
897 ]
898 uint16 BusType;
899 [Description (
900 "System bus width (in bits) required by this Card. If "
901 "'unknown', enter 0. If 'other' than the values, 8, 16, "
902 "32, 64 or 128, enter 1. The list of permissible values "
903 "aligns with the data in CIM_Slot.MaxBusWidth."),
904 Units ("Bits"),
905 ValueMap {"0", "1", "8", "16", "32", "64", "128"},
906 ModelCorrespondence {"CIM_Slot.MaxBusWidth"}
907 ]
908 uint16 BusWidth;
909 karl 1.1 };
910
911 // ==================================================================
912 // CardOnCard
913 // ==================================================================
914 [Association,
915 Aggregation,
916 Description (
917 "Cards may be plugged into Motherboards/baseboards, are "
918 "daughtercards of an adapter, or support special Card-like "
919 "modules. These relationships are described by the CardOnCard "
920 "association.")
921 ]
922 class CIM_CardOnCard : CIM_Container
923 {
924 [Override ("GroupComponent"),
925 Aggregate,
926 Max (1),
927 Description ("The Card that hosts another Card.")
928 ]
929 CIM_Card REF GroupComponent;
930 karl 1.1 [Override ("PartComponent"),
931 Description (
932 "The Card that is plugged into or otherwise mounted on "
933 "another Card.")
934 ]
935 CIM_Card REF PartComponent;
936 [Description (
937 "A string describing and identifying how the Card is "
938 "mounted on or plugged into the 'other' Card. Slot "
939 "information could be included in this field and may be "
940 "sufficient for certain management purposes. If so, "
941 "this avoids creating instantiations of Connector/Slot "
942 "objects just to model the relationship of Cards to "
943 "HostingBoards or other adapters. On the other hand, "
944 "if Slot and Connector information is available, this "
945 "field could be used to provide more detailed mounting "
946 "or slot insertion data.")
947 ]
948 string MountOrSlotDescription;
949 };
950
951 karl 1.1 // ===================================================================
952 // StorageMediaLocation
953 // ===================================================================
954 [Description (
955 "StorageMediaLocation is a PhysicalElement where PhysicalMedia "
956 "may be placed. This class describes an entity that holds Media "
957 "and is not just a 'place' (as is conveyed by the CIM_Location "
958 "object). This class is typically used in the context of a "
959 "StorageLibrary. Examples of StorageMediaLocations are Media"
960 "AccessDevices, InterLibraryPorts or 'slots' in a Library's "
961 "panel.")
962 ]
963 class CIM_StorageMediaLocation : CIM_PhysicalPackage
964 {
965 [Description (
966 "The type of Location. For example, whether this is an "
967 "individual Media \"Slot\" (value=2), a MediaAccessDevice "
968 "(value=4) or a \"Magazine\" (value=3) is indicated in this "
969 "property."),
970 Values {"Unknown", "Other", "Slot", "Magazine",
971 "MediaAccessDevice", "InterLibrary Port",
972 karl 1.1 "Limited Access Port", "Door", "Shelf", "Vault"}
973 ]
974 uint16 LocationType;
975 [Description (
976 "LocationCoordinates represent the physical location of the "
977 "the StorageMediaLocation instance. The property is defined "
978 "as a free-form string to allow the location information to "
979 "be described in vendor-unique terminology.")
980 ]
981 string LocationCoordinates;
982 [Description (
983 " Certain StorageMediaLocations may only be able to accept a "
984 "limited set of PhysicalMedia MediaTypes. This property "
985 "defines an array containing the types of Media that are "
986 "acceptable for placement in the Location. Additional "
987 "information and description of the contained MediaTypes "
988 "can be provided using the TypesDescription array. Also, "
989 "size data (for example, DVD disc diameter) can be specified "
990 "using the MediaSizesSupported array. \n\n"
991 " Values defined here correspond to those in the CIM_Physical"
992 "Media.MediaType property. This allows quick comparisons using "
993 karl 1.1 "value equivalence calculations. It is understood that there "
994 "is no external physical difference between (for example) DVD-"
995 "Video and DVD-RAM. But, equivalent values in both the Physical"
996 "Media and StorageMediaLocation enumerations allows for one "
997 "for one comparisons with no additional processing logic "
998 "(i.e., the following is not required ... if \"DVD-Video\" "
999 "then value=\"DVD\")."),
1000 ArrayType ("Indexed"),
1001 Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge",
1002 "AIT Cartridge", "DTF Cartridge", "DAT Cartridge",
1003 "8mm Tape Cartridge", "19mm Tape Cartridge",
1004 "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge",
1005 "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk",
1006 "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA",
1007 "CD-I", "CD Recordable", "WORM", "Magneto-Optical",
1008 "DVD", "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video",
1009 "Divx", "Floppy/Diskette", "Hard Disk", "Memory Card",
1010 "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+",
1011 "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", "DVD-9",
1012 "DVD-10", "DVD-18", "Magneto-Optical Rewriteable",
1013 "Magneto-Optical Write Once",
1014 karl 1.1 "Magneto-Optical Rewriteable (LIMDOW)",
1015 "Phase Change Write Once", "Phase Change Rewriteable",
1016 "Phase Change Dual Rewriteable", "Ablative Write Once",
1017 "Near Field Recording", "MiniQic", "Travan",
1018 "8mm Metal Particle", "8mm Advanced Metal Evaporate",
1019 "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape",
1020 "18 Track Tape", "36 Track Tape", "Magstar 3590",
1021 "Magstar MP", "D2 Tape", "Tape - DST Small",
1022 "Tape - DST Medium", "Tape - DST Large"},
1023 ModelCorrespondence {"CIM_PhysicalMedia.MediaType",
1024 "CIM_StorageMediaLocation.MediaSizesSupported"}
1025 ]
1026 uint16 MediaTypesSupported[];
1027 [Description (
1028 "The sizes (in inches) of the particular MediaTypes that may "
1029 "be placed in the Location. Note, each entry of this array "
1030 "is related to the entry in the MediaTypesSupported array that "
1031 "is located at the same index."),
1032 ArrayType ("Indexed"), Units ("Inches"),
1033 ModelCorrespondence {"CIM_PhysicalMedia.MediaType",
1034 "CIM_StorageMediaLocation.MediaSizesSupported",
1035 karl 1.1 "CIM_StorageMediaLocation.TypeDescriptions"}
1036 ]
1037 real32 MediaSizesSupported[];
1038 [Description (
1039 "A StorageMediaLocation may hold more than one PhysicalMedia - "
1040 "for example, a Magazine. This property indicates the Physical"
1041 "Media capacity of the Location.")
1042 ]
1043 uint32 MediaCapacity;
1044 [Description (
1045 "This property provides additional detail related to the "
1046 "entries in the MediaTypesSupported array. This is "
1047 "especially critical when the MediaTypesSupported value "
1048 "is 1 (\"Other\"). Note, each entry of this array is "
1049 "related to the entry in MediaTypesSupported that is "
1050 "located at the same index. "),
1051 ArrayType ("Indexed"),
1052 ModelCorrespondence {
1053 "CIM_StorageMediaLocation.MediaTypesSupported"}
1054 ]
1055 string TypeDescriptions[];
1056 karl 1.1 };
1057
1058 // ===================================================================
1059 // Magazine
1060 // ===================================================================
1061 [Description (
1062 "StorageMediaLocations are typically slots or spaces where "
1063 "removable media are located. However, a specific kind of "
1064 "MediaLocation is a Magazine. This entity represents a single "
1065 "physical container with multiple StorageMediaLocations in it. "
1066 "All the MediaLocations within the Magazine are added/removed "
1067 "together. Often, this container has a Barcode or other label "
1068 "for identification. This is the unique data captured in the "
1069 "CIM_Magazine class. Magazine's label properties are defined "
1070 "exactly as are labels for PhysicalMedia. ")
1071 ]
1072 class CIM_Magazine : CIM_StorageMediaLocation
1073 {
1074 [Description (
1075 "One or more strings on 'labels' on the Magazine. The "
1076 "format of the labels and their state (readable, unreadable, "
1077 karl 1.1 "upside-down) are indicated in the corresponding LabelFormats "
1078 "and LabelStates array properties."),
1079 ArrayType ("Indexed"),
1080 ModelCorrespondence {"CIM_Magazine.LabelStates",
1081 "CIM_Magazine.LabelFormats"}
1082 ]
1083 string PhysicalLabels[];
1084 [Description (
1085 "An array of enumerated integers describing the states of "
1086 "each of the labels on a Magazine. The Labels themselves "
1087 "are listed in the PhysicalLabels property. Note, each entry of "
1088 "this array is related to the entry in PhysicalLabels that is "
1089 "located at the same index."),
1090 ArrayType ("Indexed"),
1091 Values {"OK/Readable", "Unreadable", "Upside Down"},
1092 ModelCorrespondence {"CIM_Magazine.PhysicalLabels"}
1093 ]
1094 uint16 LabelStates[];
1095 [Description (
1096 "An array of enumerated integers describing the formats of "
1097 "each of the labels on a Magazine. The Labels themselves "
1098 karl 1.1 "are listed in the PhysicalLabels property. Note, each entry of "
1099 "this array is related to the entry in PhysicalLabels that is "
1100 "located at the same index."),
1101 ArrayType ("Indexed"),
1102 Values {"Barcode", "Radio Frequency Identification",
1103 "OCR (Optical Character Recognition)",
1104 "MICR (Magnetic Ink Character Recognition)",
1105 "7 Character Barcode", "9 Character Barcode"},
1106 ModelCorrespondence {"CIM_Magazine.PhysicalLabels"}
1107 ]
1108 uint16 LabelFormats[];
1109 };
1110
1111 // ===================================================================
1112 // DeviceServicesLocation
1113 // ===================================================================
1114 [Association, Description (
1115 "Within an automated StorageLibrary, Media should be accessible "
1116 "to the various robotics and MediaTransferDevices (Pickers, "
1117 "Changers, InterLibraryPorts, etc.). The Library may be "
1118 "serviced by different TransferDevices, each responsible for "
1119 karl 1.1 "a subset of the Library's StorageMediaLocations. The Device"
1120 "ServicesLocation association indicates that the Transfer"
1121 "Device handles Media stored in the referenced Location. "
1122 "For example, LibraryPort 'A' may only service Media from "
1123 "Slots 1-10, while LibraryPort 'B' covers Slots 11-33. "
1124 "This detail is conveyed by this association.")
1125 ]
1126 class CIM_DeviceServicesLocation : CIM_Dependency
1127 {
1128 [Override ("Antecedent"), Description (
1129 "The MediaTransferDevice that handles Media from the "
1130 "StorageMediaLocation.")
1131 ]
1132 CIM_MediaTransferDevice REF Antecedent;
1133 [Override ("Dependent"), Description (
1134 "The MediaLocation that is serviced.")
1135 ]
1136 CIM_StorageMediaLocation REF Dependent;
1137 [Description (
1138 "Boolean indicating that the referenced StorageMediaLocation "
1139 "is not currently accessible to the MediaTransferDevice. For "
1140 karl 1.1 "example, the Location could be the realization of an "
1141 "InterLibraryPort that is currently servicing another "
1142 "Library. The DeviceServicesLocation association describes "
1143 "that the TransferDevice COULD service the MediaLocation. "
1144 "This boolean indicates that that this is temporarily not "
1145 "possible.")
1146 ]
1147 boolean Inaccessible;
1148
1149 };
1150
1151 // ==================================================================
1152 // PhysicalComponent
1153 // ==================================================================
1154 [Description (
1155 "The PhysicalComponent class represents any low-level or "
1156 "basic Component within a Package. A Component object either "
1157 "can not or does not need to be decomposed into its "
1158 "constituent parts. For example, an ASIC (or Chip) can not be "
1159 "further decomposed. A tape for data storage (PhysicalMedia) "
1160 "does not need to be decomposed. Any PhysicalElement that is "
1161 karl 1.1 "not a Link, Connector, or Package is a descendent (or "
1162 "member) of this class. For example, the UART chipset on an "
1163 "internal modem Card would be a subclass (if additional "
1164 "properties or associations are defined) or an instance of "
1165 "PhysicalComponent.")
1166 ]
1167 class CIM_PhysicalComponent : CIM_PhysicalElement
1168 {
1169 [Description (
1170 "A PhysicalComponent is Removable if it is designed to be "
1171 "taken in and out of the physical container in which it is "
1172 "normally found, without impairing the function of the "
1173 "overall packaging. A Component can still be Removable if "
1174 "power must be 'off' in order to perform the removal. If "
1175 "power can be 'on' and the Component removed, then the Element "
1176 "is both Removable and HotSwappable. For example, an "
1177 "upgradeable Processor chip is Removable.")
1178 ]
1179 boolean Removable;
1180 [Description (
1181 "A PhysicalComponent is Replaceable if it is possible to "
1182 karl 1.1 "replace (FRU or upgrade) the Element with a physically "
1183 "different one. For example, some ComputerSystems "
1184 "allow the main Processor chip to be upgraded to one of a "
1185 "higher clock rating. In this case, the Processor is said "
1186 "to be Replaceable. All Removable Components are "
1187 "inherently Replaceable.")
1188 ]
1189 boolean Replaceable;
1190 [Description (
1191 "A PhysicalComponent is HotSwappable if it is possible to "
1192 "replace the Element with a physically different "
1193 "but equivalent one while the containing Package has power "
1194 "applied to it (ie, is 'on'). For example, a fan Component "
1195 "may be designed to be HotSwappable. All HotSwappable "
1196 "Components are inherently Removable and Replaceable.")
1197 ]
1198 boolean HotSwappable;
1199 };
1200
1201 // ==================================================================
1202 // PackagedComponent
1203 karl 1.1 // ==================================================================
1204 [Association,
1205 Aggregation,
1206 Description (
1207 "A Component is typically contained by a PhysicalPackage, such "
1208 "as a Chassis or Card. The PackagedComponent association makes "
1209 "this relationship explicit. In the first sentence, the word, "
1210 "'typically', is used. This is because a Component may be "
1211 "removed from, or not yet inserted into, its containing "
1212 "Package (ie, the Removable boolean is TRUE). Therefore, a "
1213 "Component may not always be associated with a container.")
1214 ]
1215 class CIM_PackagedComponent : CIM_Container
1216 {
1217 [Override ("GroupComponent"),
1218 Aggregate, Max (1),
1219 Description ("The PhysicalPackage that contains Component(s).")
1220 ]
1221 CIM_PhysicalPackage REF GroupComponent;
1222 [Override ("PartComponent"),
1223 Description (
1224 karl 1.1 "The PhysicalComponent which is contained in the Package.")
1225 ]
1226 CIM_PhysicalComponent REF PartComponent;
1227 };
1228
1229 // ==================================================================
1230 // Chip
1231 // ==================================================================
1232 [Description (
1233 "The Chip class represents any type of integrated circuit "
1234 "hardware, including ASICs, processors, memory chips, etc.")
1235 ]
1236 class CIM_Chip : CIM_PhysicalComponent
1237 {
1238 [Description ("The implementation form factor for the Chip."
1239 "For example, values such as SIMM (7), TSOP (9) or PGA (10) "
1240 "can be specified."),
1241 Values {"Unknown", "Other", "SIP", "DIP", "ZIP", "SOJ",
1242 "Proprietary", "SIMM", "DIMM", "TSOP", "PGA", "RIMM",
1243 "SODIMM", "SRIMM", "SMD", "SSMP", "QFP", "TQFP", "SOIC",
1244 "LCC", "PLCC", "BGA", "FPBGA", "LGA"}
1245 karl 1.1 ]
1246 uint16 FormFactor;
1247 };
1248
1249 // ==================================================================
1250 // PhysicalMemory
1251 // ==================================================================
1252 [Description (
1253 "PhysicalMemory is a subclass of CIM_Chip, representing "
1254 "low level memory devices - SIMMS, DIMMs, raw memory chips, "
1255 "etc.")
1256 ]
1257 class CIM_PhysicalMemory : CIM_Chip
1258 {
1259 [Override ("FormFactor"),
1260 MappingStrings {"MIF.DMTF|Memory Device|005"}
1261 ]
1262 uint16 FormFactor;
1263 [Description ("The type of PhysicalMemory."),
1264 Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
1265 "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
1266 karl 1.1 "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
1267 "3DRAM", "SDRAM", "SGRAM", "RDRAM", "DDR"},
1268 MappingStrings {"MIF.DMTF|Memory Device|005"}
1269 ]
1270 uint16 MemoryType;
1271 [Description (
1272 "Total width, in bits, of the PhysicalMemory, including check "
1273 "or error correction bits. If there are no error correction "
1274 "bits, the value in this property should match that specified "
1275 "for DataWidth."),
1276 Units ("Bits"),
1277 MappingStrings {"MIF.DMTF|Memory Device|005"}
1278 ]
1279 uint16 TotalWidth;
1280 [Description (
1281 "Data width of the PhysicalMemory, in bits. A data width of 0 "
1282 "and a TotalWidth of 8 would indicate that the Memory is "
1283 "solely used to provide error correction bits."),
1284 Units ("Bits"),
1285 MappingStrings {"MIF.DMTF|Memory Device|005"}
1286 ]
1287 karl 1.1 uint16 DataWidth;
1288 [Description ("The speed of the PhysicalMemory, in nanoseconds."),
1289 Units ("NanoSeconds"),
1290 MappingStrings {"MIF.DMTF|Memory Device|005"}
1291 ]
1292 uint32 Speed;
1293 [Description (
1294 "The total capacity of this PhysicalMemory, in bytes."),
1295 Units ("Bytes"),
1296 MappingStrings {"MIF.DMTF|Memory Device|005"}
1297 ]
1298 uint64 Capacity;
1299 [Description (
1300 "A string identifying the physically labeled bank where the "
1301 "Memory is located - for example, 'Bank 0' or 'Bank A'."),
1302 MaxLen (64),
1303 MappingStrings {"MIF.DMTF|Memory Device|005"}
1304 ]
1305 string BankLabel;
1306 [Description (
1307 "Specifies the position of the PhysicalMemory in a 'row'. For "
1308 karl 1.1 "example, if it takes two 8-bit memory devices to form a 16-"
1309 "bit row, then a value of '2'means that this Memory is the "
1310 "second device. 0 is an invalid value for this property."),
1311 MappingStrings {"MIF.DMTF|Memory Device Mapped Addresses|001.6"}
1312 ]
1313 uint32 PositionInRow;
1314 [Description (
1315 "The position of this PhysicalMemory in an interleave. 0 "
1316 "indicates non-interleaved. 1 indicates the first position, 2 "
1317 "the second position and so on. For example, in a 2:1 "
1318 "interleave, a value of '1' would indicate that the Memory "
1319 "is in the 'even' position."),
1320 MappingStrings {"MIF.DMTF|Memory Device Mapped Addresses|001.7"}
1321 ]
1322 uint32 InterleavePosition;
1323 };
1324
1325 // ==================================================================
1326 // MemoryOnCard
1327 // ==================================================================
1328 [Association,
1329 karl 1.1 Aggregation,
1330 Description (
1331 "PhysicalMemory can be located on HostingBoards, adapter Cards, "
1332 "etc. This association explicitly defines this relationship of "
1333 "Memory to Cards.")
1334 ]
1335 class CIM_MemoryOnCard : CIM_PackagedComponent
1336 {
1337 [Override ("GroupComponent"),
1338 Aggregate, Max (1),
1339 Description ("The Card that includes or 'contains' Memory.")
1340 ]
1341 CIM_Card REF GroupComponent;
1342 [Override ("PartComponent"),
1343 Description (
1344 "The PhysicalMemory which is located on the Card.")
1345 ]
1346 CIM_PhysicalMemory REF PartComponent;
1347 };
1348
1349 // ==================================================================
1350 karl 1.1 // PhysicalMedia
1351 // ==================================================================
1352 [Description (
1353 "The PhysicalMedia class represents any type of documentation "
1354 "or storage medium, such as tapes, CDROMs, etc. This class "
1355 "is typically used to locate and manage Removable Media "
1356 "(versus Media sealed with the MediaAccessDevice, as a single "
1357 "Package, as is the case with hard disks). However, 'sealed' "
1358 "Media can also be modeled using this class, where the Media "
1359 "would then be associated with the PhysicalPackage using the "
1360 "PackagedComponent relationship.")
1361 ]
1362 class CIM_PhysicalMedia : CIM_PhysicalComponent
1363 {
1364 [Description (
1365 "The number of bytes that can be read from or written to a "
1366 "Media. This property is not applicable to \"Hard Copy\" "
1367 "(documentation) or cleaner Media. Data compression should not "
1368 "be assumed, as it would increase the value in this property. "
1369 "For tapes, it should be assumed that no filemarks or blank "
1370 "space areas are recorded on the Media."),
1371 karl 1.1 Units ("Bytes")
1372 ]
1373 uint64 Capacity;
1374 [Description (
1375 "Specifies the type of the PhysicalMedia, as an enumerated "
1376 "integer. The MediaDescription property is "
1377 "used to provide more explicit definition of the Media type, "
1378 "whether it is pre-formatted, compatability features, etc."),
1379 Values {"Unknown", "Other", "Tape Cartridge", "QIC Cartridge",
1380 "AIT Cartridge", "DTF Cartridge", "DAT Cartridge",
1381 "8mm Tape Cartridge", "19mm Tape Cartridge",
1382 "DLT Cartridge", "Half-Inch Magnetic Tape Cartridge",
1383 "Cartridge Disk", "JAZ Disk", "ZIP Disk", "SyQuest Disk",
1384 "Winchester Removable Disk", "CD-ROM", "CD-ROM/XA",
1385 "CD-I", "CD Recordable", "WORM", "Magneto-Optical", "DVD",
1386 "DVD-RW+", "DVD-RAM", "DVD-ROM", "DVD-Video", "Divx",
1387 "Floppy/Diskette", "Hard Disk", "Memory Card",
1388 "Hard Copy", "Clik Disk", "CD-RW", "CD-DA", "CD+",
1389 "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", "DVD-9",
1390 "DVD-10", "DVD-18", "Magneto-Optical Rewriteable",
1391 "Magneto-Optical Write Once",
1392 karl 1.1 "Magneto-Optical Rewriteable (LIMDOW)",
1393 "Phase Change Write Once", "Phase Change Rewriteable",
1394 "Phase Change Dual Rewriteable", "Ablative Write Once",
1395 "Near Field Recording", "MiniQic", "Travan",
1396 "8mm Metal Particle", "8mm Advanced Metal Evaporate",
1397 "NCTP", "LTO Ultrium", "LTO Accelis", "9 Track Tape",
1398 "18 Track Tape", "36 Track Tape", "Magstar 3590",
1399 "Magstar MP", "D2 Tape", "Tape - DST Small ",
1400 "Tape - DST Medium", "Tape - DST Large"},
1401 ModelCorrespondence {"CIM_PhysicalMedia.MediaDescription"}
1402 ]
1403 uint16 MediaType;
1404 [Description (
1405 "Additional detail related to the MediaType enumeration. For "
1406 "example, if value 3 (\"QIC Cartridge\") is specified, this "
1407 "property could indicate whether the tape is wide or 1/4 inch, "
1408 "whether it is pre-formatted, whether it is Travan compatible, "
1409 "etc."),
1410 ModelCorrespondence {"CIM_PhysicalMedia.MediaType"}
1411 ]
1412 string MediaDescription;
1413 karl 1.1 [Description (
1414 "Boolean specifying whether the Media is currently write "
1415 "protected by some kind of physical mechanism, such as a "
1416 "protect tab on a floppy diskette.")
1417 ]
1418 boolean WriteProtectOn;
1419 [Description ("Boolean indicating that the PhysicalMedia "
1420 "is used for cleaning purposes and not data storage.")
1421 ]
1422 boolean CleanerMedia;
1423 [Description (
1424 "Size of the Media in inches. For example, '3.5' would "
1425 "be entered for a 3.5 inch disk, or '12' would be entered "
1426 "for a 12 inch optical disk. On the other hand, '0.5' would "
1427 "be defined for a 1/2 inch tape."),
1428 Units ("Inches")
1429 ]
1430 real32 MediaSize;
1431 [Description (
1432 "For removable Media, the maximum number of times that "
1433 "the Media can be mounted before it should be retired. For "
1434 karl 1.1 "cleaner Media, this is the maximum number of Drive cleans "
1435 "that can be performed. For nonremovable Media, such as hard "
1436 "disks, this property is not applicable and should be set to "
1437 "0.")
1438 ]
1439 uint64 MaxMounts;
1440 [Description (
1441 "For removable or cleaner Media, the number of times that "
1442 "the Media has been mounted for data transfer or to clean a "
1443 "Drive. For nonremovable Media, such as hard disks, "
1444 "this property is not applicable and should be set to 0."),
1445 Counter,
1446 ModelCorrespondence {"CIM_PhysicalMedia.MaxMounts"}
1447 ]
1448 uint64 MountCount;
1449 [Description (
1450 "Boolean indicating that the Media has two recording sides "
1451 "(TRUE) or only a single side (FALSE). Examples of dual "
1452 "sided Media include DVD-ROM and some optical disks. Examples "
1453 "of single sided Media are tapes and CD-ROM.")
1454 ]
1455 karl 1.1 boolean DualSided;
1456 [Description (
1457 "One or more strings on 'labels' on the PhysicalMedia. "
1458 "The format of the labels and their state (readable, "
1459 "unreadable, upside-down) are indicated in the LabelFormats and "
1460 "LabelStates array properties."),
1461 ArrayType ("Indexed"),
1462 ModelCorrespondence {"CIM_PhysicalMedia.LabelStates",
1463 "CIM_PhysicalMedia.LabelFormats"}
1464 ]
1465 string PhysicalLabels[];
1466 [Description (
1467 "An array of enumerated integers describing the states of "
1468 "each of the labels on a PhysicalMedia. The Labels themselves "
1469 "are listed in the PhysicalLabels property. Note, each entry of "
1470 "this array is related to the entry in PhysicalLabels that is "
1471 "located at the same index."),
1472 ArrayType ("Indexed"),
1473 Values {"OK/Readable", "Unreadable", "Upside Down"},
1474 ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"}
1475 ]
1476 karl 1.1 uint16 LabelStates[];
1477 [Description (
1478 "An array of enumerated integers describing the formats of "
1479 "each of the labels on a PhysicalMedia. The Labels themselves "
1480 "are listed in the PhysicalLabels property. Note, each entry of "
1481 "this array is related to the entry in PhysicalLabels that is "
1482 "located at the same index."),
1483 ArrayType ("Indexed"),
1484 Values {"Barcode", "Radio Frequency Identification",
1485 "OCR (Optical Character Recognition)",
1486 "MICR (Magnetic Ink Character Recognition)",
1487 "7 Character Barcode", "9 Character Barcode"},
1488 ModelCorrespondence {"CIM_PhysicalMedia.PhysicalLabels"}
1489 ]
1490 uint16 LabelFormats[];
1491 [Description (
1492 "For removable or cleaner Media, the date and time that the "
1493 "Media was last mounted. For nonremovable Media, such as "
1494 "hard disks, this property has no meaning and is not applicable.")
1495 ]
1496 datetime TimeOfLastMount;
1497 karl 1.1 [Description (
1498 "For removable or cleaner Media, the total time (in seconds) "
1499 "that the Media has been mounted for data transfer or to clean a "
1500 "Drive. For nonremovable Media, such as hard disks, "
1501 "this property is not applicable and should be set to 0.")
1502 ]
1503 uint64 TotalMountTime;
1504 };
1505
1506 // ===================================================================
1507 // MediaPhysicalStatInfo
1508 // ===================================================================
1509 [Description (
1510 "Statistics related to reading physical labels and picks/puts "
1511 "at a specific StorageMediaLocation, or for a specific piece "
1512 "of PhysicalMedia. Although the same class is used to represent "
1513 "this data, at the instance level the object holds information "
1514 "for the Location (independent of the Media), OR for the Media "
1515 "(independent of its StorageMediaLocation).")
1516 ]
1517 class CIM_MediaPhysicalStatInfo : CIM_PhysicalStatisticalInformation
1518 karl 1.1 {
1519 [Description (
1520 "The number of successful physical label scans."),
1521 Counter
1522 ]
1523 uint64 ScanSuccesses;
1524 [Description (
1525 "The number of failed physical label scans."),
1526 Counter
1527 ]
1528 uint64 ScanFailures;
1529 [Description (
1530 "The number of retried physical label scans."),
1531 Counter
1532 ]
1533 uint64 ScanRetries;
1534 [Description (
1535 "The number of successful picks."),
1536 Counter
1537 ]
1538 uint64 PickSuccesses;
1539 karl 1.1 [Description ("The number of failed picks."),
1540 Counter
1541 ]
1542 uint64 PickFailures;
1543 [Description ("The number of retried picks."),
1544 Counter
1545 ]
1546 uint64 PickRetries;
1547 [Description ("The number of successful puts."),
1548 Counter
1549 ]
1550 uint64 PutSuccesses;
1551 [Description ("The number of failed puts."),
1552 Counter
1553 ]
1554 uint64 PutFailures;
1555 [Description ("The number of retried puts."),
1556 Counter
1557 ]
1558 uint64 PutRetries;
1559 [Description (
1560 karl 1.1 "Method to reset the statistical counters. The method "
1561 "takes one parameter as input - an integer indicating which "
1562 "counter to reset. For this input parameter, 0 indicates all, "
1563 "1-3 reset the scan-related counters, 4-6 reset the "
1564 "'pick'-related counters, and 7-9 reset the 'put'-related "
1565 "counters. The method returns 0 if successful, 1 if not supported, "
1566 "and any other value if an error occurred. A method is specified "
1567 "so that the Element's instrumentation can also reset its "
1568 "internal processing and counters. The set of possible return "
1569 "codes should be specified in a ValueMap qualifier on the method. "
1570 "The strings to which the ValueMap contents are 'translated' "
1571 "should be specified as a Values array qualifier on the method.")
1572 ]
1573 uint32 ResetCounter ([IN, Values {"All", "Scan Successes",
1574 "Scan Failures", "Scan Retries", "Pick Successes",
1575 "Pick Failures", "Pick Retries", "Put Successes",
1576 "Put Failures", "Put Retries"}] uint16 SelectedCounter);
1577 };
1578
1579 // ==================================================================
1580 // MemoryWithMedia
1581 karl 1.1 // ==================================================================
1582 [Association,
1583 Description ("MemoryWithMedia indicates that Memory is associated "
1584 "with a PhysicalMedia and its cartridge. The Memory provides "
1585 "media identification and also stores user-specific data. ")
1586 ]
1587 class CIM_MemoryWithMedia : CIM_Dependency
1588 {
1589 [Override ("Antecedent"),
1590 Description ("The Memory associated with PhysicalMedia. ")
1591 ]
1592 CIM_PhysicalMemory REF Antecedent;
1593 [Override ("Dependent"),
1594 Description ("The PhysicalMedia.")
1595 ]
1596 CIM_PhysicalMedia REF Dependent;
1597 };
1598
1599 // ===================================================================
1600 // PhysicalMediaInLocation
1601 // ===================================================================
1602 karl 1.1 [Association, Description (
1603 "Within a StorageLibrary, all Media should be accounted for, "
1604 "and be present in some Storage Location. This relationship "
1605 "is made explicit by the PhysicalMediaInLocation association."
1606 "In addition, one can determine if a Location is empty or "
1607 "full based on whether this association exists for the "
1608 "StorageMediaLocation.")
1609 ]
1610 class CIM_PhysicalMediaInLocation : CIM_Dependency
1611 {
1612 [Override ("Antecedent"), Description (
1613 "The StorageMediaLocation which holds the PhysicalMedia."),
1614 Max (1)
1615 ]
1616 CIM_StorageMediaLocation REF Antecedent;
1617 [Override ("Dependent"), Description (
1618 "The Media in the Location.")
1619 ]
1620 CIM_PhysicalMedia REF Dependent;
1621 [Description (
1622 "An enumeration expressing which 'Side' of the Media is "
1623 karl 1.1 "facing up. Since sides can be named by various schemes (0/1 or "
1624 "A/B), both schemes are expressed in the Values array of this "
1625 "property. Also, the value 5 (\"Not Applicable\" describes that "
1626 "orientation is not pertinent for this Media."),
1627 Values {"Unknown", "Side 0", "Side 1", "Side A",
1628 "Side B", "Not Applicable"}
1629 ]
1630 uint16 Orientation;
1631 [Description (
1632 "The date and time that the Media was last placed into the "
1633 "referenced Location.")
1634 ]
1635 datetime TimeOfLastPlacement;
1636 };
1637
1638 // ==================================================================
1639 // PhysicalTape
1640 // ==================================================================
1641 [Description (
1642 "The PhysicalTape class represents additional data for a Tape "
1643 "Media. Information on the tape length and whether it must be "
1644 karl 1.1 "unloaded from BOT are properties of this class.")
1645 ]
1646 class CIM_PhysicalTape : CIM_PhysicalMedia
1647 {
1648 [Description ("The physical length of the Tape in feet."),
1649 Units ("Feet")
1650 ]
1651 real32 TapeLength;
1652 [Description (
1653 "Boolean set to TRUE if the Tape can be unloaded at any "
1654 "position on the Media. It is set to FALSE if the tape must "
1655 "be at a certain position for unload - such as at the beginning "
1656 "of tape (BOT) area, or at mid-tape point for TapeDrives with "
1657 "mid-tape load.")
1658 ]
1659 boolean UnloadAnywhere;
1660 };
1661
1662 // ===================================================================
1663 // RealizesExtent
1664 // ===================================================================
1665 karl 1.1 [Association, Description (
1666 "StorageExtents can be realized by PhysicalComponents. For "
1667 "example, disks or tapes are realized by PhysicalMedia. Memory "
1668 "is realized by PhysicalMemory. This relationship of Extents "
1669 "to PhysicalComponents is made explicit by the RealizesExtent "
1670 "association. In addition, the StartingAddress of the "
1671 "StorageExtent on the Component is specified here.")
1672 ]
1673 class CIM_RealizesExtent : CIM_Realizes
1674 {
1675 [Override ("Antecedent"), Description (
1676 "The PhysicalComponent on which the Extent is realized."),
1677 Max (1)
1678 ]
1679 CIM_PhysicalComponent REF Antecedent;
1680 [Override ("Dependent"), Description (
1681 "The StorageExtent that is located on the Component.")
1682 ]
1683 CIM_StorageExtent REF Dependent;
1684 [Description (
1685 "The starting address on the PhysicalComponent where the "
1686 karl 1.1 "StorageExtent begins. Ending address of the StorageExtent "
1687 "is determined using the NumberOfBlocks and Block"
1688 "Size properties of the StorageExtent object.")
1689 ]
1690 uint64 StartingAddress;
1691 };
1692
1693 // ===================================================================
1694 // RealizesPExtent
1695 // ===================================================================
1696 [Association,
1697 Description (
1698 "PhysicalExtents are realized on a PhysicalMedia. This "
1699 "relationship is made explicit by the RealizesPExtent "
1700 "association. In addition, the StartingAddress of the "
1701 "PhysicalExtent on the PhysicalMedia is specified here.")
1702 ]
1703 class CIM_RealizesPExtent : CIM_RealizesExtent
1704 {
1705 [Override ("Antecedent"),
1706 Description (
1707 karl 1.1 "The PhysicalMedia on which the Extent is realized."),
1708 Max (1)
1709 ]
1710 CIM_PhysicalMedia REF Antecedent;
1711 [Override ("Dependent"),
1712 Description (
1713 "The PhysicalExtent that is located on the Media.")
1714 ]
1715 CIM_PhysicalExtent REF Dependent;
1716 };
1717
1718 // ===================================================================
1719 // RealizesDiskPartition
1720 // ===================================================================
1721 [Association,
1722 Description (
1723 "DiskPartitions can be directly realized on a PhysicalMedia. "
1724 "This is used to model the creation of Partitions on a raw SCSI "
1725 "or IDE drive, using the fdisk (DOS and Unix) or pdisk (Unix) "
1726 "command. The StartingAddress of the DiskPartition on the "
1727 "PhysicalMedia is also specified as a property of this "
1728 karl 1.1 "relationship. An alternative is that Partitions can "
1729 "be BasedOn StorageVolumes, such as a VolumeSet or a Volume "
1730 "exposed by a hardware RAID cabinet. The latter relationship is "
1731 "modeled using the DiskPartitionBasedOnVolume association.")
1732 ]
1733 class CIM_RealizesDiskPartition : CIM_RealizesExtent
1734 {
1735 [Override ("Antecedent"),
1736 Description (
1737 "The PhysicalMedia on which the Extent is realized."),
1738 Max (1)
1739 ]
1740 CIM_PhysicalMedia REF Antecedent;
1741 [Override ("Dependent"),
1742 Description (
1743 "The DiskPartition that is located on the Media.")
1744 ]
1745 CIM_DiskPartition REF Dependent;
1746 };
1747
1748 // ===================================================================
1749 karl 1.1 // RealizesAggregatePExtent
1750 // ===================================================================
1751 [Association,
1752 Description (
1753 "AggregatePExtents are realized on a PhysicalMedia. This "
1754 "relationship is made explicit by the RealizesAggregatePExtent "
1755 "association.")
1756 ]
1757 class CIM_RealizesAggregatePExtent : CIM_RealizesExtent
1758 {
1759 [Override ("Antecedent"),
1760 Description (
1761 "The PhysicalMedia on which the Extent is realized."),
1762 Max (1)
1763 ]
1764 CIM_PhysicalMedia REF Antecedent;
1765 [Override ("Dependent"),
1766 Description (
1767 "The AggregatePExtent that is located on the Media.")
1768 ]
1769 CIM_AggregatePExtent REF Dependent;
1770 karl 1.1 };
1771
1772 // ===================================================================
1773 // RealizesTapePartition
1774 // ===================================================================
1775 [Association, Description (
1776 "TapePartitions are realized on PhysicalTape. This "
1777 "relationship is made explicit by the RealizesTapePartition "
1778 "association.")
1779 ]
1780 class CIM_RealizesTapePartition : CIM_RealizesExtent
1781 {
1782 [Override ("Antecedent"), Description (
1783 "The PhysicalTape on which the Partition is realized."),
1784 Max (1)
1785 ]
1786 CIM_PhysicalTape REF Antecedent;
1787 [Override ("Dependent"), Description (
1788 "The TapePartition that is located on the Media.")
1789 ]
1790 CIM_TapePartition REF Dependent;
1791 karl 1.1 };
1792
1793 // ===================================================================
1794 // RealizedOnSide
1795 // ===================================================================
1796 [Association, Description (
1797 "Since removable PhysicalMedia can be dual-sided, there is the "
1798 "possibility for StorageExtents to be realized on a single side "
1799 "of the Media. This association is a specialization of the "
1800 "RealizesExtent relationship, adding a Side property to express "
1801 "the Media's orientation details.")
1802 ]
1803 class CIM_RealizedOnSide : CIM_RealizesExtent
1804 {
1805 [Override ("Antecedent"), Description (
1806 "The PhysicalMedia on which the Extent is realized.")
1807 ]
1808 CIM_PhysicalMedia REF Antecedent;
1809 [Description (
1810 "An enumeration expressing on which 'Side' the Extent is "
1811 "realized. Since sides can be named by various schemes (0/1 or "
1812 karl 1.1 "A/B), both schemes are expressed in the Values array of this "
1813 "property."),
1814 Values {"Unknown", "Side 0", "Side 1", "Side A", "Side B"}
1815 ]
1816 uint16 Side;
1817 };
1818
1819 // ==================================================================
1820 // PhysicalLink
1821 // ==================================================================
1822 [Description (
1823 "The PhysicalLink class represents the cabling of "
1824 "PhysicalElements together. For example, serial or Ethernet "
1825 "cables, and infrared Links would be subclasses (if additional "
1826 "properties or associations are defined) or instances of "
1827 "PhysicalLink. In many cases, the numerous physical cables "
1828 "within a PhysicalPackage or Network will not be modeled. "
1829 "However, where these cables or Links are critical components, "
1830 "or are tagged assets of the company, these objects can be "
1831 "instantiated using this class or one of its descendent "
1832 "classes.")
1833 karl 1.1 ]
1834 class CIM_PhysicalLink : CIM_PhysicalElement
1835 {
1836 [Description ("The maximum length of the PhysicalLink in feet."),
1837 Units ("Feet")
1838 ]
1839 real64 MaxLength;
1840 [Description (
1841 "The current length of the PhysicalLink in feet. For some "
1842 "connections, especially wireless technologies, this property "
1843 "may not be applicable and should be left uninitialized."),
1844 Units ("Feet")
1845 ]
1846 real64 Length;
1847 [Description (
1848 "Boolean indicating whether the PhysicalLink is an actual "
1849 "cable (TRUE) or a wireless connection (FALSE).")
1850 ]
1851 boolean Wired;
1852 [Description("The MediaType property defines the particular "
1853 "type of Media through which transmission signals pass. "
1854 karl 1.1 "Common network media include twisted-pair (value=11 or 12), "
1855 "coaxial (7, 8 or 9) and fiber-optic cable (10)."),
1856 Values {"Unknown", "Other", "Cat1", "Cat2", "Cat3", "Cat4",
1857 "Cat5", "50-ohm Coaxial", "75-ohm Coaxial",
1858 "100-ohm Coaxial", "Fiber-optic", "UTP", "STP",
1859 "Ribbon Cable", "Twinaxial", "Optical 9um",
1860 "Optical 50um", "Optical 62.5um"},
1861 MappingStrings {"MIF.DMTF|Fibre Channel Bus Port Extensions|001.4"}
1862 ]
1863 uint16 MediaType;
1864 };
1865
1866 // ===================================================================
1867 // ElementsLinked
1868 // ===================================================================
1869 [Association,
1870 Description (
1871 "The ElementsLinked association indicates which Physical"
1872 "Elements are cabled together by a PhysicalLink.")
1873 ]
1874 class CIM_ElementsLinked : CIM_Dependency
1875 karl 1.1 {
1876 [Override ("Antecedent"),
1877 Description ("The PhysicalLink.")
1878 ]
1879 CIM_PhysicalLink REF Antecedent;
1880 [Override ("Dependent"),
1881 Description ("The PhysicalElement that is linked.")
1882 ]
1883 CIM_PhysicalElement REF Dependent;
1884 };
1885
1886 // ==================================================================
1887 // PhysicalConnector
1888 // ==================================================================
1889 [Description (
1890 "The PhysicalConnector class represents any PhysicalElement "
1891 "that is used to connect to other Elements. Any object that "
1892 "can be used to connect and transmit signals or power between "
1893 "two or more PhysicalElements is a descendant (or member) "
1894 "of this class. For example, Slots and D-shell connectors are "
1895 "types of PhysicalConnectors.")
1896 karl 1.1 ]
1897 class CIM_PhysicalConnector : CIM_PhysicalElement
1898 {
1899 [Description (
1900 "A free-form string describing the pin configuration and "
1901 "signal usage of a PhysicalConnector.")
1902 ]
1903 string ConnectorPinout;
1904 [Description (
1905 "An array of integers defining the type of PhysicalConnector. "
1906 "An array is specified to allow the description of "
1907 "'combinations' of Connector information. For example, one "
1908 "array entry could specify RS-232 (value=25), another DB-25 "
1909 "(value=23) and a third entry define the Connector as \"Male\" "
1910 "(value=2)."),
1911 Values {"Unknown", "Other", "Male", "Female", "Shielded",
1912 "Unshielded", "SCSI (A) High-Density (50 pins)",
1913 "SCSI (A) Low-Density (50 pins)",
1914 "SCSI (P) High-Density (68 pins)", "SCSI SCA-I (80 pins)",
1915 "SCSI SCA-II (80 pins)", "Fibre Channel (DB-9, Copper)",
1916 "Fibre Channel (Optical Fibre)",
1917 karl 1.1 "Fibre Channel SCA-II (40 pins)",
1918 "Fibre Channel SCA-II (20 pins)", "Fibre Channel BNC",
1919 "ATA 3-1/2 Inch (40 pins)", "ATA 2-1/2 Inch (44 pins)",
1920 "ATA-2", "ATA-3", "ATA/66", "DB-9", "DB-15", "DB-25",
1921 "DB-36", "RS-232C", "RS-422", "RS-423", "RS-485", "RS-449",
1922 "V.35", "X.21", "IEEE-488", "AUI", "UPT Category 3",
1923 "UPT Category 4", "UPT Category 5", "BNC", "RJ11", "RJ45",
1924 "Fiber MIC", "Apple AUI", "Apple GeoPort", "PCI", "ISA",
1925 "EISA", "VESA", "PCMCIA", "PCMCIA Type I",
1926 "PCMCIA Type II", "PCMCIA Type III", "ZV Port", "CardBus",
1927 "USB", "IEEE 1394", "HIPPI", "HSSDC (6 pins)", "GBIC",
1928 "DIN", "Mini-DIN", "Micro-DIN", "PS/2", "Infrared",
1929 "HP-HIL", "Access.bus", "NuBus", "Centronics",
1930 "Mini-Centronics", "Mini-Centronics Type-14",
1931 "Mini-Centronics Type-20", "Mini-Centronics Type-26",
1932 "Bus Mouse", "ADB", "AGP", "VME Bus", "VME64",
1933 "Proprietary", "Proprietary Processor Card Slot",
1934 "Proprietary Memory Card Slot", "Proprietary I/O Riser Slot",
1935 "PCI-66MHZ", "AGP2X", "AGP4X", "PC-98", "PC-98-Hireso",
1936 "PC-H98", "PC-98Note", "PC-98Full", "SSA SCSI",
1937 "Circular", "On Board IDE Connector",
1938 karl 1.1 "On Board Floppy Connector", "9 Pin Dual Inline",
1939 "25 Pin Dual Inline", "50 Pin Dual Inline",
1940 "68 Pin Dual Inline", "On Board Sound Connector",
1941 "Mini-jack", "PCI-X", "Sbus IEEE 1396-1993 32 bit",
1942 "Sbus IEEE 1396-1993 64 bit", "MCA", "GIO", "XIO",
1943 "HIO", "NGIO", "PMC", "MTRJ", "VF-45", "Future I/O",
1944 "SC", "SG", "Electrical", "Optical", "Ribbon", "GLM",
1945 "1x9", "Mini SG", "LC", "HSSC","VHDCI Shielded (68 pins)",
1946 "InfiniBand"},
1947 MappingStrings {"MIF.DMTF|Bus Port|003 and 12"},
1948 ModelCorrespondence {"CIM_PhysicalConnector.OtherTypeDescription"}
1949 ]
1950 uint16 ConnectorType[];
1951 [Description (
1952 "A string describing the Connector - used when the "
1953 "ConnectorType property is set to 1 (\"Other\"). OtherType "
1954 "Description should be set to NULL when ConnectorType is any "
1955 "value other than 1."),
1956 ModelCorrespondence {"CIM_PhysicalConnector.ConnectorType"},
1957 MappingStrings {"MIF.DMTF|Bus Port|003"}
1958 ]
1959 karl 1.1 string OtherTypeDescription;
1960
1961 };
1962
1963 // ===================================================================
1964 // ConnectedTo
1965 // ===================================================================
1966 [Association,
1967 Description ("The ConnectedTo association indicates that two or "
1968 "more PhysicalConnectors are connected together.")
1969 ]
1970 class CIM_ConnectedTo : CIM_Dependency
1971 {
1972 [Override ("Antecedent"),
1973 Description ("The Antecedent represents a PhysicalConnector "
1974 "that serves as one end of the connection.")
1975 ]
1976 CIM_PhysicalConnector REF Antecedent;
1977 [Override ("Dependent"),
1978 Description (
1979 "The Dependent represents another PhysicalConnector "
1980 karl 1.1 "that serves as the other end of the connection.")
1981 ]
1982 CIM_PhysicalConnector REF Dependent;
1983 };
1984
1985 // ===================================================================
1986 // Slot
1987 // ===================================================================
1988 [Description (
1989 "The Slot class represents Connectors into which Packages are "
1990 "inserted. For example, a PhysicalPackage that is a DiskDrive "
1991 "may be inserted into an SCA 'Slot'. As another example, "
1992 "a Card (subclass of PhysicalPackage) may be inserted into "
1993 "a 16-, 32-, or 64-bit expansion 'Slot' on a HostingBoard. "
1994 "PCI or PCMCIA Type III Slots are examples of the latter.")
1995 ]
1996 class CIM_Slot : CIM_PhysicalConnector
1997 {
1998 [Override ("ConnectorType"),
1999 MappingStrings {"MIF.DMTF|System Slot|005.2"}
2000 ]
2001 karl 1.1 uint16 ConnectorType[];
2002 [Description (
2003 "Boolean indicating whether the Slot supports hot-plug of "
2004 "adapter Cards.")
2005 ]
2006 boolean SupportsHotPlug;
2007 [Description (
2008 "Maximum height of an adapter Card that can be inserted into "
2009 "the Slot, in inches."),
2010 Units ("Inches")
2011 ]
2012 real32 HeightAllowed;
2013 [Description (
2014 "Maximum length of an adapter Card that can be inserted into "
2015 "the Slot, in inches."),
2016 Units ("Inches")
2017 ]
2018 real32 LengthAllowed;
2019 [Description (
2020 "Maximum bus width of adapter Cards that can be inserted into "
2021 "this Slot, in bits. If the value is 'unknown', enter 0. If "
2022 karl 1.1 "the value is other than 8, 16, 32, 64 or 128, enter 1."),
2023 Units ("Bits"),
2024 ValueMap {"0", "1", "8", "16", "32", "64", "128"},
2025 MappingStrings {"MIF.DMTF|System Slot|005.3"}
2026 ]
2027 uint16 MaxDataWidth;
2028 [Description (
2029 "An array of enumerated integers indicating the Vcc voltage "
2030 "supported by this Slot."),
2031 Values {"Unknown", "Other", "3.3V", "5V"},
2032 MappingStrings {"MIF.DMTF|System Slot|005.9"}
2033 ]
2034 uint16 VccMixedVoltageSupport[];
2035 [Description (
2036 "An array of enumerated integers indicating the Vpp voltage "
2037 "supported by this Slot."),
2038 Values {"Unknown", "Other", "3.3V", "5V", "12V"},
2039 MappingStrings {"MIF.DMTF|System Slot|005.10"}
2040 ]
2041 uint16 VppMixedVoltageSupport[];
2042 [Description (
2043 karl 1.1 "Maximum thermal dissipation of the Slot in milliwatts."),
2044 Units ("MilliWatts"),
2045 MappingStrings {"MIF.DMTF|System Slot|005.11"}
2046 ]
2047 uint32 ThermalRating;
2048 [Description (
2049 "Boolean indicating that this Slot is physically unique "
2050 "and may hold special types of hardware, e.g. a graphics "
2051 "processor slot. If set to TRUE, then the property, Special"
2052 "PurposeDescription (a string), should specify the nature of "
2053 "the uniqueness or purpose of the Slot."),
2054 ModelCorrespondence {"CIM_Slot.PurposeDescription"}
2055 ]
2056 boolean SpecialPurpose;
2057 [Description ("A free-form string describing that this Slot is "
2058 "physically unique and may hold special types of hardware. "
2059 "This property only has meaning when the corresponding "
2060 "boolean property, SpecialPurpose, is set to TRUE."),
2061 ModelCorrespondence {"CIM_Slot.SpecialPurpose"}
2062 ]
2063 string PurposeDescription;
2064 karl 1.1 [Description ("The Number property indicates the physical slot "
2065 "number, which can be used as an index into a system "
2066 "slot table, whether or not that slot is physically occupied."),
2067 MappingStrings {"MIF.DMTF|System Slot|005.1"}
2068 ]
2069 uint16 Number;
2070 [Description (
2071 "A boolean indicating whether the Slot is currently "
2072 "powered (TRUE) or not (FALSE)."),
2073 MappingStrings {"MIF.DMTF|System Slot|005.13"}
2074 ]
2075 boolean Powered;
2076
2077 [Description (
2078 "A boolean indicating whether the switch state of the Slot "
2079 "is currently open (TRUE) or closed (FALSE). This switch state "
2080 "determines whether the contents of the Slot can be hot-plugged."),
2081 MappingStrings {"MIF.DMTF|System Slot|005.15"}
2082 ]
2083 boolean OpenSwitch;
2084
2085 karl 1.1 };
2086
2087 // ==================================================================
2088 // SlotInSlot
2089 // ==================================================================
2090 [Association,
2091 Description ("Slots are special types of Connectors into which "
2092 "adapter Cards are typically inserted. The SlotInSlot "
2093 "relationship represents the ability of a special adapter to "
2094 "extend the existing Slot structure to enable otherwise "
2095 "incompatible Cards to be plugged into a Frame or Hosting"
2096 "Board. The adapter effectively creates a new Slot and can "
2097 "be thought of (conceptually) as a Slot in a Slot. This "
2098 "enables Cards that would otherwise be physically and/or "
2099 "electrically incompatible with the existing Slots to be "
2100 "supported, by interfacing to the Slot provided by the "
2101 "adapter. This has many practical uses. For example, "
2102 "networking boards are very expensive. As new hardware "
2103 "becomes available, Chassis and even Card configurations "
2104 "change. To protect the investment of their customers, "
2105 "networking vendors will manufacture special adapters "
2106 karl 1.1 "that enable old Cards to fit into new Chassis or Hosting"
2107 "Boards and/or new Cards to fit into old. This is done using "
2108 "a special adapter that fits over one or more existing Slots "
2109 "and presents a new Slot into which the Card can plug.")
2110 ]
2111 class CIM_SlotInSlot : CIM_ConnectedTo
2112 {
2113 [Override ("Antecedent"),
2114 Description ("The Antecedent represents the existing Slot(s) "
2115 "of the HostingBoard, or Frame that are being adapted "
2116 "to accommodate a Card that would otherwise not be "
2117 "physically and/or electrically compatible with it.")
2118 ]
2119 CIM_Slot REF Antecedent;
2120 [Override ("Dependent"),
2121 Max (1),
2122 Description ("The new Slot provided by the adapter board.")
2123 ]
2124 CIM_Slot REF Dependent;
2125 };
2126
2127 karl 1.1 // ==================================================================
2128 // AdjacentSlots
2129 // ==================================================================
2130 [Association,
2131 Description ("AdjacentSlots describes the layout of Slots on a "
2132 "HostingBoard or adapter Card. Information like the distance "
2133 "between the Slots and whether they are 'shared' (if one is "
2134 "populated, then the other Slot can not be used), is conveyed "
2135 "as properties of the association.")
2136 ]
2137 class CIM_AdjacentSlots
2138 {
2139 [Key, Description ("One of the adjacent Slots.")]
2140 CIM_Slot REF SlotA;
2141 [Key, Description ("The 'other' adjacent Slot.")]
2142 CIM_Slot REF SlotB;
2143 [Description ("The distance, in inches, between adjacent Slots."),
2144 Units ("Inches")
2145 ]
2146 real32 DistanceBetweenSlots;
2147 [Description ("Slots can be located in close proximity on Hosting"
2148 karl 1.1 "Boards or other Cards, such that if one of these Slots is "
2149 "populated by an adapter Card, the other Slot must be left "
2150 "empty. This relationship is indicated by the SharedSlots "
2151 "boolean set to TRUE.")]
2152 boolean SharedSlots;
2153 };
2154
2155 // ==================================================================
2156 // PackageInConnector
2157 // ==================================================================
2158 [Association,
2159 Description (
2160 "Adapter cards and other 'packaging' are plugged into System "
2161 "Connectors for power and/or to transfer data. This "
2162 "relationship is defined by PackageInConnector. For example, "
2163 "it would be used to describe the insertion of a daughtercard "
2164 "onto another Card. Various subclasses of PackageInConnector "
2165 "are also defined. PackageInSlot and its subclass, "
2166 "CardInSlot, are two examples of subclasses.")
2167 ]
2168 class CIM_PackageInConnector : CIM_Dependency
2169 karl 1.1 {
2170 [Override ("Antecedent"), Description (
2171 "The Connector into which the Package is inserted.")
2172 ]
2173 CIM_PhysicalConnector REF Antecedent;
2174 [Override ("Dependent"), Max (1),
2175 Description ("The Package in the Connector.")
2176 ]
2177 CIM_PhysicalPackage REF Dependent;
2178 };
2179
2180 // ==================================================================
2181 // PackageInSlot
2182 // ==================================================================
2183 [Association,
2184 Description ("Complex networking devices often are Chassis-based. "
2185 "These Chassis allow for enhancement and/or augmentation of "
2186 "their base functionality by accepting additional Chassis "
2187 "devices, similar to accepting functionality in the form of "
2188 "adding Cards. This association models this capability.")
2189 ]
2190 karl 1.1 class CIM_PackageInSlot : CIM_PackageInConnector
2191 {
2192 [Override ("Antecedent"),
2193 Description (
2194 "The Slot into which the PhysicalPackage is inserted.")
2195 ]
2196 CIM_Slot REF Antecedent;
2197 [Override ("Dependent"),
2198 Max (1),
2199 Description ("The Package in the Slot.")
2200 ]
2201 CIM_PhysicalPackage REF Dependent;
2202 };
2203
2204 // ==================================================================
2205 // CardInSlot
2206 // ==================================================================
2207 [Association,
2208 Description (
2209 "Slots are special types of Connectors into which adapter "
2210 "Cards are inserted. This relationship of a Card in a Slot "
2211 karl 1.1 "is made explicit using the CardInSlot association."),
2212 MappingStrings {"MIF.DMTF|System Slot|005.4"}
2213 ]
2214 class CIM_CardInSlot : CIM_PackageInSlot
2215 {
2216 [Override ("Antecedent"),
2217 Description ("The Slot into which the Card is inserted.")
2218 ]
2219 CIM_Slot REF Antecedent;
2220 [Override ("Dependent"),
2221 Max (1),
2222 Description ("The Card in the Slot.")]
2223 CIM_Card REF Dependent;
2224 };
2225
2226 // ==================================================================
2227 // LinkHasConnector
2228 // ==================================================================
2229 [Association,
2230 Aggregation,
2231 Description (
2232 karl 1.1 "Cables and Links utilize PhysicalConnectors to actually "
2233 "'connect' PhysicalElements. This association explicitly "
2234 "defines this relationship of Connectors for PhysicalLinks.")
2235 ]
2236 class CIM_LinkHasConnector : CIM_Component
2237 {
2238 [Override ("GroupComponent"),
2239 Aggregate, Max (1),
2240 Description ("The PhysicalLink that has a Connector.")
2241 ]
2242 CIM_PhysicalLink REF GroupComponent;
2243 [Override ("PartComponent"),
2244 Description ("The PhysicalConnector.")
2245 ]
2246 CIM_PhysicalConnector REF PartComponent;
2247 };
2248
2249 // ==================================================================
2250 // ConnectorOnPackage
2251 // ==================================================================
2252 [Association,
2253 karl 1.1 Aggregation,
2254 Description (
2255 "PhysicalPackages contain Connectors as well as other "
2256 "PhysicalElements. The ConnectorOnPackage association makes "
2257 "explicit the containment relationship between Connectors and "
2258 "Packages.")
2259 ]
2260 class CIM_ConnectorOnPackage : CIM_Container
2261 {
2262 [Override ("GroupComponent"),
2263 Aggregate, Max (1),
2264 Description ("The PhysicalPackage that has a Connector.")
2265 ]
2266 CIM_PhysicalPackage REF GroupComponent;
2267 [Override ("PartComponent"),
2268 Description ("The PhysicalConnector.")
2269 ]
2270 CIM_PhysicalConnector REF PartComponent;
2271 };
2272
2273 // ===================================================================
2274 karl 1.1 // AdapterActiveConnection
2275 // ===================================================================
2276 [Association,
2277 Description (
2278 "The AdapterActiveConnection relationship indicates that a "
2279 "NetworkAdapter is using the referenced PhysicalConnector "
2280 "to output to the network. This relationship is important when "
2281 "the Adapter can choose to output from one of several "
2282 "Connectors. The Connectors may be associated with the "
2283 "NetworkAdapter in a Realizes relationship - but this is not "
2284 "required. This association provides additional information "
2285 "(i.e., 'in use for communication') different than Realizes.")
2286 ]
2287 class CIM_AdapterActiveConnection : CIM_Dependency
2288 {
2289 [Override ("Antecedent"),
2290 Description ("The PhysicalConnector.")
2291 ]
2292 CIM_PhysicalConnector REF Antecedent;
2293 [Override ("Dependent"),
2294 Description (
2295 karl 1.1 "The NetworkAdapter that transmits using the Connector.")
2296 ]
2297 CIM_NetworkAdapter REF Dependent;
2298 };
2299
2300 // ==================================================================
2301 // ComputerSystemPackage
2302 // ==================================================================
2303 [Association,
2304 Description (
2305 "Similar to the way that LogicalDevices are 'Realized' by "
2306 "PhysicalElements, UnitaryComputerSystems are realized in "
2307 "one or more PhysicalPackages. The ComputerSystemPackage "
2308 "association explicitly defines this relationship.")
2309 ]
2310 class CIM_ComputerSystemPackage : CIM_Dependency
2311 {
2312 [Override ("Antecedent"),
2313 Description (
2314 "The PhysicalPackage(s) that realize a UnitaryComputerSystem.")
2315 ]
2316 karl 1.1 CIM_PhysicalPackage REF Antecedent;
2317 [Override ("Dependent"),
2318 Description ("The UnitaryComputerSystem.")
2319 ]
2320 CIM_UnitaryComputerSystem REF Dependent;
2321 [Description(
2322 "A Gloabally Unique Identifier for the System's Package.")
2323 ]
2324 string PlatformGUID;
2325 };
2326
2327 // ==================================================================
2328 // LibraryPackage
2329 // ==================================================================
2330 [Association, Description (
2331 "Similar to the way that LogicalDevices are 'Realized' by "
2332 "PhysicalElements, a StorageLibrary can be realized in one or "
2333 "more PhysicalPackages. The LibraryPackage association "
2334 "explicitly defines this relationship.")
2335 ]
2336 class CIM_LibraryPackage : CIM_Dependency
2337 karl 1.1 {
2338 [Override ("Antecedent"), Description (
2339 "The PhysicalPackage(s) that realize a StorageLibrary.")
2340 ]
2341 CIM_PhysicalPackage REF Antecedent;
2342 [Override ("Dependent"),
2343 Description ("The StorageLibrary.")
2344 ]
2345 CIM_StorageLibrary REF Dependent;
2346 };
2347
2348 // ==================================================================
2349 // PackageCooling
2350 // ==================================================================
2351 [Association,
2352 Description (
2353 "Often, a CoolingDevice is installed in a Package such as "
2354 "a Chassis or a Rack, not for a specific Device, but to assist "
2355 "in the cooling of the Package in general. This relationship "
2356 "is described by the PackageCooling association.")
2357 ]
2358 karl 1.1 class CIM_PackageCooling : CIM_Dependency
2359 {
2360 [Override ("Antecedent"),
2361 Description ("The CoolingDevice for the Package.")
2362 ]
2363 CIM_CoolingDevice REF Antecedent;
2364 [Override ("Dependent"),
2365 Description (
2366 "The PhysicalPackage whose environment is cooled.")
2367 ]
2368 CIM_PhysicalPackage REF Dependent;
2369 };
2370
2371 // ==================================================================
2372 // PackageTempSensor
2373 // ==================================================================
2374 [Association,
2375 Description (
2376 "Often, a TemperatureSensor is installed in a Package such as "
2377 "a Chassis or a Rack, not to measure any particular Device, but "
2378 "the Package's environment in general. This relationship is "
2379 karl 1.1 "described by the PackageTempSensor association.")
2380 ]
2381 class CIM_PackageTempSensor : CIM_Dependency
2382 {
2383 [Override ("Antecedent"),
2384 Description ("The TemperatureSensor for the Package.")
2385 ]
2386 CIM_TemperatureSensor REF Antecedent;
2387 [Override ("Dependent"),
2388 Description (
2389 "The PhysicalPackage whose environment is monitored.")
2390 ]
2391 CIM_PhysicalPackage REF Dependent;
2392 };
2393
2394 // ==================================================================
2395 // PackageAlarm
2396 // ==================================================================
2397 [Association,
2398 Description (
2399 "Often, an AlarmDevice is installed as part of a Package, "
2400 karl 1.1 "not to indicate issues with any particular LogicalDevice "
2401 "or PhysicalComponent, but with the Package's environment "
2402 "in general, its security state or its overall health. "
2403 "This relationship is described by the PackageAlarm "
2404 "association. ")
2405 ]
2406 class CIM_PackageAlarm : CIM_Dependency
2407 {
2408 [Override ("Antecedent"),
2409 Description ("The AlarmDevice for the Package. ")
2410 ]
2411 CIM_AlarmDevice REF Antecedent;
2412 [Override ("Dependent"),
2413 Description (
2414 "The PhysicalPackage whose health, security, environment, "
2415 "etc. is alarmed. ")
2416 ]
2417 CIM_PhysicalPackage REF Dependent;
2418 };
2419
2420 // ===================================================================
2421 karl 1.1 // HomeForMedia
2422 // ===================================================================
2423 [Association, Description (
2424 " In a StorageLibrary or repository for PhysicalMedia, it is "
2425 "reasonable that a specific Media always be placed in a "
2426 "specific Location (rather than anywhere in the repository/"
2427 "Library). The default location for a PhysicalMedia is called "
2428 "its 'home'. This information is expressed by the HomeForMedia "
2429 "dependency association. (Note that a PhysicalMedia can have at "
2430 "most one 'home', and a StorageMediaLocation can be 'home' to "
2431 "at most one Media.)" )
2432 ]
2433 class CIM_HomeForMedia : CIM_Dependency
2434 {
2435 [Override ("Antecedent"), Max (1), Description (
2436 "The Location that is 'home' to a piece of PhysicalMedia.")
2437 ]
2438 CIM_StorageMediaLocation REF Antecedent;
2439 [Override ("Dependent"), Max (1), Description (
2440 "The PhysicalMedia whose 'home' or default Location is defined.")
2441 ]
2442 karl 1.1 CIM_PhysicalMedia REF Dependent;
2443 };
2444
2445 // ==================================================================
2446 // end of file
2447 // ==================================================================
|