(file) Return to CIM_Physical26.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM26Prelim

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2