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

   1 a.dunfey 1.1 // ===================================================================
   2              // Title:  Storage Devices
   3              // $State: Preliminary $
   4              // $Date: 2005/01/05 00:54:00 $
   5              // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Device_StorageDevices.mof,v $
   6              // $Revision: 1.12 $
   7              // ===================================================================
   8              //#pragma inLine ("Includes/copyright.inc")
   9              // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
  10              // All rights reserved.
  11              // DMTF is a not-for-profit association of industry members dedicated
  12              // to promoting enterprise and systems management and interoperability.
  13              // DMTF specifications and documents may be reproduced for uses
  14              // consistent with this purpose by members and non-members,
  15              // provided that correct attribution is given.
  16              // As DMTF specifications may be revised from time to time,
  17              // the particular version and release date should always be noted.
  18              // 
  19              // Implementation of certain elements of this standard or proposed
  20              // standard may be subject to third party patent rights, including
  21              // provisional patent rights (herein "patent rights"). DMTF makes
  22 a.dunfey 1.1 // no representations to users of the standard as to the existence
  23              // of such rights, and is not responsible to recognize, disclose, or
  24              // identify any or all such third party patent right, owners or
  25              // claimants, nor for any incomplete or inaccurate identification or
  26              // disclosure of such rights, owners or claimants. DMTF shall have no
  27              // liability to any party, in any manner or circumstance, under any
  28              // legal theory whatsoever, for failure to recognize, disclose, or
  29              // identify any such third party patent rights, or for such party's
  30              // reliance on the standard or incorporation thereof in its product,
  31              // protocols or testing procedures. DMTF shall have no liability to
  32              // any party implementing such standard, whether such implementation
  33              // is foreseeable or not, nor to any patent owner or claimant, and shall
  34              // have no liability or responsibility for costs or losses incurred if
  35              // a standard is withdrawn or modified after publication, and shall be
  36              // indemnified and held harmless by any party implementing the
  37              // standard from any and all claims of infringement by a patent owner
  38              // for such implementations.
  39              // 
  40              // For information about patents held by third-parties which have
  41              // notified the DMTF that, in their opinion, such patent may relate to
  42              // or impact implementations of DMTF standards, visit
  43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
  44              //#pragma inLine
  45              // ===================================================================
  46              // Description: The Device Model extends the management concepts that
  47              //              are related to LogicalDevices. This file defines
  48              //              the management of storage devices (floppies,
  49              //              CD-ROMs, hard drives, etc.).
  50              // 
  51              //              The object classes below are listed in an order that
  52              //              avoids forward references. Required objects, defined
  53              //              by other working groups, are omitted.
  54              // ==================================================================
  55              // Change Log for v2.9 Preliminary Company Review
  56              // CR1456 - Updates plus typo fixes for multipath interfaces
  57              // CR1465 - Corrected compile errors and warnings.
  58              // 
  59              // Change Log for v2.9 preliminary:
  60              // CR1334 : Addition of storage multipath model.
  61              
  62              // Change Log for v2.8 Final:
  63              // CR1233 - SysDev omnibus CR - minor MOF corrections
  64 a.dunfey 1.1 // 
  65              // Change Log for v2.7 Final
  66              // CR970 - Removal of the Experimental qualifier
  67              // 
  68              // Change Log for v2.7
  69              // CR721 - Add DeviceErrorCountData that is part of the new statistics
  70              //         hierarchy
  71              // ==================================================================
  72              
  73              #pragma locale ("en_US")
  74              
  75              
  76              // ===================================================================
  77              // MediaAccessDevice
  78              // ===================================================================
  79                 [Version ( "2.6.0" ), Description (
  80                     "A MediaAccessDevice represents the ability to access one or "
  81                     "more media and use this media to store and retrieve data.")]
  82              class CIM_MediaAccessDevice : CIM_LogicalDevice {
  83              
  84                    [Description (
  85 a.dunfey 1.1           "Capabilities of the MediaAccessDevice. For example, the "
  86                        "Device may support \"Random Access\", removeable media and "
  87                        "\"Automatic Cleaning\". In this case, the values 3, 7 and 9 "
  88                        "would be written to the array. \n"
  89                        "Several of the enumerated values require some explanation: "
  90                        "1) Value 11, Supports Dual Sided Media, distinguishes a "
  91                        "Device that can access both sides of dual sided Media, from "
  92                        "a Device that reads only a single side and requires the "
  93                        "Media to be flipped; and, 2) Value 12, Predismount Eject "
  94                        "Not Required, indicates that Media does not have to be "
  95                        "explicitly ejected from the Device before being accessed by "
  96                        "a PickerElement."), 
  97                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
  98                        "10", "11", "12" }, 
  99                     Values { "Unknown", "Other", "Sequential Access",
 100                        "Random Access", "Supports Writing", "Encryption",
 101                        "Compression", "Supports Removeable Media",
 102                        "Manual Cleaning", "Automatic Cleaning", 
 103                        // 10                           
 104                        "SMART Notification", "Supports Dual Sided Media",
 105                        "Predismount Eject Not Required" }, 
 106 a.dunfey 1.1        MappingStrings { "MIF.DMTF|Storage Devices|001.9",
 107                        "MIF.DMTF|Storage Devices|001.11",
 108                        "MIF.DMTF|Storage Devices|001.12", "MIF.DMTF|Disks|003.7",
 109                        "MIF.DMTF|Host Disk|001.2", "MIF.DMTF|Host Disk|001.4" },
 110                     ArrayType ( "Indexed" ), 
 111                     ModelCorrespondence { 
 112                        "CIM_MediaAccessDevice.CapabilityDescriptions" }]
 113                 uint16 Capabilities[];
 114              
 115                    [Description (
 116                        "An array of free-form strings providing more detailed "
 117                        "explanations for any of the AccessDevice features indicated "
 118                        "in the Capabilities array. Note, each entry of this array "
 119                        "is related to the entry in the Capabilities array that is "
 120                        "located at the same index."), 
 121                     ArrayType ( "Indexed" ), 
 122                     ModelCorrespondence { "CIM_MediaAccessDevice.Capabilities" }]
 123                 string CapabilityDescriptions[];
 124              
 125                    [Description (
 126                        "ErrorMethodology is a free-form string describing the "
 127 a.dunfey 1.1           "type(s) of error detection and correction supported by this "
 128                        "Device.")]
 129                 string ErrorMethodology;
 130              
 131                    [Description (
 132                        "A free form string indicating the algorithm or tool used by "
 133                        "the device to support compression. If it is not possible or "
 134                        "not desired to describe the compression scheme (perhaps "
 135                        "because it is not known), recommend using the following "
 136                        "words: \"Unknown\" to represent that it is not known "
 137                        "whether the device supports compression capabilities or "
 138                        "not, \"Compressed\" to represent that the device supports "
 139                        "compression capabilities but either its compression scheme "
 140                        "is not known or not disclosed, and \"Not Compressed\" to "
 141                        "represent that the devices does not support compression "
 142                        "capabilities.")]
 143                 string CompressionMethod;
 144              
 145                    [Description (
 146                        "When the MediaAccessDevice supports multiple individual "
 147                        "Media, this property defines the maximum number which can "
 148 a.dunfey 1.1           "be supported or inserted.")]
 149                 uint32 NumberOfMediaSupported;
 150              
 151                    [Description (
 152                        "Maximum size, in KBytes, of media supported by this Device. "
 153                        "KBytes is interpreted as the number of bytes multiplied by "
 154                        "1000 (NOT the number of bytes multiplied by 1024)."), 
 155                     MappingStrings { "MIF.DMTF|Sequential Access Devices|001.2",
 156                        "MIF.DMTF|Host Disk|001.5" }]
 157                 uint64 MaxMediaSize;
 158              
 159                    [Description (
 160                        "Default block size, in bytes, for this Device."), 
 161                     Units ( "Bytes" )]
 162                 uint64 DefaultBlockSize;
 163              
 164                    [Description (
 165                        "Maximum block size, in bytes, for media accessed by this "
 166                        "Device."), 
 167                     Units ( "Bytes" )]
 168                 uint64 MaxBlockSize;
 169 a.dunfey 1.1 
 170                    [Description (
 171                        "Minimum block size, in bytes, for media accessed by this "
 172                        "Device."), 
 173                     Units ( "Bytes" )]
 174                 uint64 MinBlockSize;
 175              
 176                    [Description (
 177                        "Boolean indicating that the MediaAccessDevice needs "
 178                        "cleaning. Whether manual or automatic cleaning is possible "
 179                        "is indicated in the Capabilities array property.")]
 180                 boolean NeedsCleaning;
 181              
 182                    [Description (
 183                        "True indicates that the media is locked in the Device and "
 184                        "can not be ejected. For non-removeable Devices, this value "
 185                        "should be true.")]
 186                 boolean MediaIsLocked;
 187              
 188                    [Description (
 189                        "An enumeration indicating the operational security defined "
 190 a.dunfey 1.1           "for the MediaAccessDevice. For example, information that "
 191                        "the Device is \"Read Only\" (value=4) or \"Boot Bypass\" "
 192                        "(value=6) can be described using this property."), 
 193                     ValueMap { "1", "2", "3", "4", "5", "6", "7" }, 
 194                     Values { "Other", "Unknown", "None", "Read Only", "Locked Out",
 195                        "Boot Bypass", "Boot Bypass and Read Only" }, 
 196                     MappingStrings { "MIF.DMTF|Disks|003.22" }]
 197                 uint16 Security;
 198              
 199                    [Description (
 200                        "The date and time on which the Device was last cleaned.")]
 201                 datetime LastCleaned;
 202              
 203                    [Description (
 204                        "Time in milliseconds to move from the first location on the "
 205                        "Media to the location that is furthest with respect to "
 206                        "time. For a DiskDrive, this represents full seek + full "
 207                        "rotational delay. For TapeDrives, this represents a search "
 208                        "from the beginning of the tape to the most physically "
 209                        "distant point. (The end of a tape may be at its most "
 210                        "physically distant point, but this is not necessarily "
 211 a.dunfey 1.1           "true.)"), 
 212                     Units ( "MilliSeconds" )]
 213                 uint64 MaxAccessTime;
 214              
 215                    [Description (
 216                        "The sustained data transfer rate in KB/sec that the Device "
 217                        "can read from and write to a Media. This is a sustained, "
 218                        "raw data rate. Maximum rates or rates assuming compression "
 219                        "should not be reported in this property."), 
 220                     Units ( "KiloBytes per Second" )]
 221                 uint32 UncompressedDataRate;
 222              
 223                    [Description (
 224                        "Time in milliseconds from 'load' to being able to read or "
 225                        "write a Media. For example, for DiskDrives, this is the "
 226                        "interval between a disk not spinning to the disk reporting "
 227                        "that it is ready for read/write (ie, the disk spinning at "
 228                        "nominal speeds). For TapeDrives, this is the time from a "
 229                        "Media being injected to reporting that it is ready for an "
 230                        "application. This is usually at the tape's BOT area."), 
 231                     Units ( "MilliSeconds" )]
 232 a.dunfey 1.1    uint64 LoadTime;
 233              
 234                    [Description (
 235                        "Time in milliseconds from being able to read or write a "
 236                        "Media to its 'unload'. For example, for DiskDrives, this is "
 237                        "the interval between a disk spinning at nominal speeds and "
 238                        "a disk not spinning. For TapeDrives, this is the time for a "
 239                        "Media to go from its BOT to being fully ejected and "
 240                        "accessible to a PickerElement or human operator."), 
 241                     Units ( "MilliSeconds" )]
 242                 uint64 UnloadTime;
 243              
 244                    [Description (
 245                        "For a MediaAccessDevice that supports removable Media, the "
 246                        "number of times that Media have been mounted for data "
 247                        "transfer or to clean the Device. For Devices accessing "
 248                        "nonremovable Media, such as hard disks, this property is "
 249                        "not applicable and should be set to 0."), 
 250                     Counter]
 251                 uint64 MountCount;
 252              
 253 a.dunfey 1.1       [Description (
 254                        "For a MediaAccessDevice that supports removable Media, the "
 255                        "most recent date and time that Media was mounted on the "
 256                        "Device. For Devices accessing nonremovable Media, such as "
 257                        "hard disks, this property has no meaning and is not "
 258                        "applicable.")]
 259                 datetime TimeOfLastMount;
 260              
 261                    [Description (
 262                        "For a MediaAccessDevice that supports removable Media, the "
 263                        "total time (in seconds) that Media have been mounted for "
 264                        "data transfer or to clean the Device. For Devices accessing "
 265                        "nonremovable Media, such as hard disks, this property is "
 266                        "not applicable and should be set to 0.")]
 267                 uint64 TotalMountTime;
 268              
 269                    [Description (
 270                        "Defines 'Units' relative to its use in the property, "
 271                        "MaxUnitsBeforeCleaning. This describes the criteria used to "
 272                        "determine when the MediaAccessDevice should be cleaned."), 
 273                     ModelCorrespondence { 
 274 a.dunfey 1.1           "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning",
 275                        "CIM_MediaAccessDevice.UnitsUsed" }]
 276                 string UnitsDescription;
 277              
 278                    [Description (
 279                        "An unsigned integer indicating the maximum 'units' that can "
 280                        "be used, with respect to the AccessDevice, before the "
 281                        "Device should be cleaned. The property, UnitsDescription, "
 282                        "defines how 'units' should be interpreted."), 
 283                     ModelCorrespondence { "CIM_MediaAccessDevice.UnitsDescription" }]
 284                 uint64 MaxUnitsBeforeCleaning;
 285              
 286                    [Description (
 287                        "An unsigned integer indicating the currently used 'units' "
 288                        "of the AccessDevice, helpful to describe when the Device "
 289                        "may require cleaning. The property, UnitsDescription, "
 290                        "defines how 'units' should be interpreted."), 
 291                     Gauge, 
 292                     ModelCorrespondence { "CIM_MediaAccessDevice.UnitsDescription",
 293                        "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning" }]
 294                 uint64 UnitsUsed;
 295 a.dunfey 1.1 
 296                    [Description (
 297                        "Method to lock and unlock the media in a removeable Access "
 298                        "Device. The method takes one parameter as input - a boolean "
 299                        "indicating whether to lock or unlock. TRUE indicates that "
 300                        "the media should be locked in the Device, FALSE indicates "
 301                        "that the media should be unlocked. The method returns 0 if "
 302                        "successful, 1 if not supported, and any other value if an "
 303                        "error occurred. The set of possible return codes should be "
 304                        "specified in a ValueMap qualifier on the method. The "
 305                        "strings to which the ValueMap contents are 'translated' "
 306                        "should be specified as a Values array qualifier on the "
 307                        "method.")]
 308                 uint32 LockMedia ( 
 309                       [IN, Description (
 310                           "If TRUE, lock the media. If FALSE release the media.")]
 311                    boolean Lock); 
 312              };
 313              
 314              
 315              // ===================================================================
 316 a.dunfey 1.1 // DiskDrive
 317              // ===================================================================
 318                 [Version ( "2.6.0" ), Description (
 319                     "Capabilities and managment of a DiskDrive, a subtype of "
 320                     "MediaAccessDevice.")]
 321              class CIM_DiskDrive : CIM_MediaAccessDevice {
 322              };
 323              
 324              
 325              // ===================================================================
 326              // DisketteDrive
 327              // ===================================================================
 328                 [Version ( "2.6.0" ), Description (
 329                     "Capabilities and managment of a DisketteDrive, a subtype of "
 330                     "MediaAccessDevice.")]
 331              class CIM_DisketteDrive : CIM_MediaAccessDevice {
 332              };
 333              
 334              
 335              // ===================================================================
 336              // CDROMDrive
 337 a.dunfey 1.1 // ===================================================================
 338                 [Version ( "2.6.0" ), Description (
 339                     "Capabilities and managment of a CDROMDrive, a subtype of "
 340                     "MediaAccessDevice.")]
 341              class CIM_CDROMDrive : CIM_MediaAccessDevice {
 342              };
 343              
 344              
 345              // ===================================================================
 346              // DVDDrive
 347              // ===================================================================
 348                 [Version ( "2.6.0" ), Description (
 349                     "Capabilities and management of a DVDDrive, a subtype of "
 350                     "MediaAccessDevice.")]
 351              class CIM_DVDDrive : CIM_MediaAccessDevice {
 352              
 353                    [Description (
 354                        "The CD and DVD formats that are supported by this Device. "
 355                        "For example, the Drive may support \"CD-ROM\" and "
 356                        "\"DVD-RAM\". In this case, the values 16 and 24 would be "
 357                        "written to the array. This property's values align with "
 358 a.dunfey 1.1           "those defined in PhysicalMedia.MediaType."), 
 359                     ValueMap { "0", "1", "16", "17", "18", "19", "22", "23", "24",
 360                        "25", "26", "27", "33", "34", "35", "36", "37", "38", "39",
 361                        "40", "41", "42" }, 
 362                     Values { "Unknown", "Other", "CD-ROM", "CD-ROM/XA", "CD-I",
 363                        "CD Recordable", "DVD", "DVD-RW+", "DVD-RAM", "DVD-ROM",
 364                        "DVD-Video", "Divx", "CD-RW", "CD-DA", "CD+",
 365                        "DVD Recordable", "DVD-RW", "DVD-Audio", "DVD-5", "DVD-9",
 366                        "DVD-10", "DVD-18" }, 
 367                     ModelCorrespondence { "CIM_PhysicalMedia.MediaType" }]
 368                 uint16 FormatsSupported[];
 369              };
 370              
 371              
 372              // ===================================================================
 373              // WORMDrive
 374              // ===================================================================
 375                 [Version ( "2.6.0" ), Description (
 376                     "Capabilities and managment of a WORMDrive, a subtype of "
 377                     "MediaAccessDevice.")]
 378              class CIM_WORMDrive : CIM_MediaAccessDevice {
 379 a.dunfey 1.1 };
 380              
 381              
 382              // ===================================================================
 383              // MagnetoOpticalDrive
 384              // ===================================================================
 385                 [Version ( "2.6.0" ), Description (
 386                     "Capabilities and managment of a MagnetoOpticalDrive, a subtype "
 387                     "of MediaAccessDevice.")]
 388              class CIM_MagnetoOpticalDrive : CIM_MediaAccessDevice {
 389              };
 390              
 391              
 392              // ===================================================================
 393              // TapeDrive
 394              // ===================================================================
 395                 [Version ( "2.6.0" ), Description (
 396                     "Capabilities and managment of a TapeDrive, a subtype of "
 397                     "MediaAccessDevice.")]
 398              class CIM_TapeDrive : CIM_MediaAccessDevice {
 399              
 400 a.dunfey 1.1       [Description (
 401                        "EOTWarningZoneSize indicates the size, in bytes, of the "
 402                        "area designated as 'end of tape'. Access in this area "
 403                        "generates an 'end of tape' warning."), 
 404                     Units ( "Bytes" )]
 405                 uint32 EOTWarningZoneSize;
 406              
 407                    [Description (
 408                        "Maximum partition count for the TapeDrive.")]
 409                 uint32 MaxPartitionCount;
 410              
 411                    [Description (
 412                        "Padding indicates the number of bytes inserted between "
 413                        "blocks on a tape Media."), 
 414                     Units ( "Bytes" )]
 415                 uint32 Padding;
 416              
 417                    [Description (
 418                        "Time in milliseconds to move from the most physically "
 419                        "distant point on the tape to the beginning."), 
 420                     Units ( "MilliSeconds" )]
 421 a.dunfey 1.1    uint64 MaxRewindTime;
 422              };
 423              
 424              
 425              // ===================================================================
 426              // MediaAccessStatInfo
 427              // ===================================================================
 428                 [Version ( "2.6.0" ), Description (
 429                     "Statistics related to reading and writing at a specific "
 430                     "MediaAccessDevice, or for a specific StorageExtent. Although "
 431                     "the same class is used to represent this data, at the instance "
 432                     "level the object holds information for the MediaAccessDevice "
 433                     "(independent of the StorageExtent), OR for the Extent "
 434                     "(independent of its AccessDevice). Note that this class models "
 435                     "the same properties as MediaAccessStatData. The latter, "
 436                     "however, uses the simplified key mechanisms of the "
 437                     "StatisticalData class.")]
 438              class CIM_MediaAccessStatInfo : CIM_DeviceStatisticalInformation {
 439              
 440                    [Description (
 441                        "The number of attempted read operations."), 
 442 a.dunfey 1.1        Counter]
 443                 uint64 ReadOperations;
 444              
 445                    [Description (
 446                        "The number of unrecoverable read operations."), 
 447                     Counter]
 448                 uint64 UnrecoverableReadOperations;
 449              
 450                    [Description (
 451                        "The number of attempted write operations."), 
 452                     Counter]
 453                 uint64 WriteOperations;
 454              
 455                    [Description (
 456                        "The number of unrecoverable write operations."), 
 457                     Counter]
 458                 uint64 UnrecoverableWriteOperations;
 459              
 460                    [Description (
 461                        "The number of recovered read operations."), 
 462                     Counter]
 463 a.dunfey 1.1    uint64 RecoveredReadOperations;
 464              
 465                    [Description (
 466                        "The number of recovered write operations."), 
 467                     Counter]
 468                 uint64 RecoveredWriteOperations;
 469              
 470                    [Description (
 471                        "The number of recovered seek operations."), 
 472                     Counter]
 473                 uint64 RecoveredSeekOperations;
 474              
 475                    [Description (
 476                        "The number of unrecoverable seek operations."), 
 477                     Counter]
 478                 uint64 UnrecoverableSeekOperations;
 479              
 480                    [Description (
 481                        "Method to reset the statistical counters. The method takes "
 482                        "one parameter as input - an integer indicating which "
 483                        "counter to reset. For this input parameter, 0 indicates "
 484 a.dunfey 1.1           "all, 1-2 and 5 reset the 'read operation'-related counters, "
 485                        "3-4 and 6 reset the 'write operation'-related counters, and "
 486                        "7-8 reset the seek-related counters. The method returns 0 "
 487                        "if successful, 1 if not supported, and any other value if "
 488                        "an error occurred. A method is specified so that the "
 489                        "Device's instrumentation can also reset its internal "
 490                        "processing and counters. \n"
 491                        "In a subclass, the set of possible return codes should be "
 492                        "specified in a ValueMap qualifier on the method. The "
 493                        "strings to which the ValueMap contents are 'translated' can "
 494                        "be specified as a Values array qualifier.")]
 495                 uint32 ResetCounter ( 
 496                       [IN, Description (
 497                           "The counter to reset."), 
 498                        ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
 499                        Values { "All", "Read Operations",
 500                           "Unrecoverable Read Operations", "Write Operations",
 501                           "Unrecoverable Write Operations",
 502                           "Recovered Read Operations", "Recovered Write Operations",
 503                           "Recovered Seeks", "Unrecoverable Seeks" }]
 504                    uint16 SelectedCounter); 
 505 a.dunfey 1.1 };
 506              
 507              
 508              // ===================================================================
 509              // MediaAccessStatData
 510              // ===================================================================
 511                 [Version ( "2.7.0" ), Description (
 512                     "Statistics related to reading and writing at a specific "
 513                     "MediaAccessDevice, or for a specific StorageExtent. The same "
 514                     "class is used to represent this data - whether for the "
 515                     "MediaAccessDevice (independent of the StorageExtent), OR for "
 516                     "the Extent (independent of its AccessDevice). The element "
 517                     "whose statistics are described is associated using the "
 518                     "relationship, ElementStatisticalData. Note that this class "
 519                     "models the same properties as MediaAccessStatInfo. This class, "
 520                     "however, uses the simplified key mechanisms of its superclass, "
 521                     "StatisticalData.")]
 522              class CIM_MediaAccessStatData : CIM_StatisticalData {
 523              
 524                    [Description (
 525                        "The number of attempted read operations."), 
 526 a.dunfey 1.1        Counter]
 527                 uint64 ReadOperations;
 528              
 529                    [Description (
 530                        "The number of unrecoverable read operations."), 
 531                     Counter]
 532                 uint64 UnrecoverableReadOperations;
 533              
 534                    [Description (
 535                        "The number of attempted write operations."), 
 536                     Counter]
 537                 uint64 WriteOperations;
 538              
 539                    [Description (
 540                        "The number of unrecoverable write operations."), 
 541                     Counter]
 542                 uint64 UnrecoverableWriteOperations;
 543              
 544                    [Description (
 545                        "The number of recovered read operations."), 
 546                     Counter]
 547 a.dunfey 1.1    uint64 RecoveredReadOperations;
 548              
 549                    [Description (
 550                        "The number of recovered write operations."), 
 551                     Counter]
 552                 uint64 RecoveredWriteOperations;
 553              
 554                    [Description (
 555                        "The number of recovered seek operations."), 
 556                     Counter]
 557                 uint64 RecoveredSeekOperations;
 558              
 559                    [Description (
 560                        "The number of unrecoverable seek operations."), 
 561                     Counter]
 562                 uint64 UnrecoverableSeekOperations;
 563              };
 564              
 565              // ===================================================================
 566              // SCSITargetPortGroup
 567              // ===================================================================
 568 a.dunfey 1.1    [Experimental, Version ( "2.8.1000" ), Description (
 569                     "A class derived from SystemSpecificCollection that models SCSI "
 570                     "Target Port Groups. SCSITargetPortGroup is part of the model "
 571                     "for devices with asymmetric access to logical units - access "
 572                     "is optimized for a subset of target ports. SCSITargetPortGroup "
 573                     "is aggregated to SCSIProtocolEndpoints that expose a common "
 574                     "ValueMap { 2, 3, 4, 5, 6 }, Values { Active/Optimized, "
 575                     "Active/Non-optimized, StandBy, Unavailable, Transitioning }, "
 576                     "access state for a set of associated logical Units (modeled by "
 577                     "various subclasses of LogicalDevice). SCSITargetPortGroups "
 578                     "only apply to target devices with asymmetric multipath access "
 579                     "and not to devices with symmetric (or single path) access.")]
 580              class CIM_SCSITargetPortGroup : CIM_SystemSpecificCollection {
 581              
 582                    [Description (
 583                        "Access to all associated logical units through all "
 584                        "aggregated ports share this access state. Access to the "
 585                        "Logical Units through other ports is specified by the "
 586                        "access state of those port's target port group."), 
 587                     ValueMap { "2", "3", "4", "5" }, 
 588                     Values { "Active/Optimized", "Active/Non-optimized", "StandBy",
 589 a.dunfey 1.1           "Unavailable" }, 
 590                     MappingStrings { "SPC.INCITS-T10 |Asymmetric Access State",
 591                        "MP_API.SNIA|MP_ACCESS_STATE_TYPE" }]
 592                 uint16 AccessState;
 593              
 594                    [Description (
 595                        "True indicates that the underlying implementation provides "
 596                        "an interface allowing the administrator to reassign logical "
 597                        "units to target port groups."), 
 598                     MappingStrings { 
 599                        "MP_API.SNIA|MP_TARGET_PORT_PROPERTIES|supportsLuAssignment" 
 600                        }]
 601                 boolean supportsLuAssignment;
 602              
 603              };
 604              
 605              // ===================================================================
 606              // SCSIMultipathConfigurationCapabilities
 607              // ===================================================================
 608              
 609                 [Experimental, Version ( "2.8.1000" ), Description (
 610 a.dunfey 1.1        "A class derived from CIM_Capabilities that models the "
 611                     "capabilities of a multipath driver. Note that 'path' in this "
 612                     "context refers to end-to-end device paths (for example, SCSI "
 613                     "initiator/target) with no understanding of edge paths between "
 614                     "interconnect elements such as switches. Load balancing only "
 615                     "applies to symmetric multipath devices or to the ports in "
 616                     "SCSITargetPortGroups in active access state. \n"
 617                     "A driver may support different algorithms for load balancing. "
 618                     "A few common algorithms are listed. Algorithms for specific "
 619                     "device models and software vendor specific algorithms are also "
 620                     "accommodated.")]
 621              class CIM_SCSIMultipathConfigurationCapabilities : CIM_Capabilities {
 622              
 623                    [Description (
 624                        "The load balance types supported by the driver for all "
 625                        "logical units on a target device. If 'Product Specified' is "
 626                        "included, one or more instances of CIM_Product must be "
 627                        "aggregated to the capabilities instance via "
 628                        "ConcreteComponent. Each Product instance provides the SCSI "
 629                        "Vendor, Product, and Revision ID of a supported product."), 
 630                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
 631 a.dunfey 1.1        Values { "Unknown", "Other", "No Load Balancing", "Round Robin",
 632                        "Least Blocks", "Least IO", "LBA Region",
 633                     "Product Specific" }, 
 634                     MappingStrings { "MP_API.SNIA|MP_LOAD_BALANCE_TYPE" },
 635                     ArrayType ( "Indexed" ), 
 636                     ModelCorrespondence { 
 637                        "CIM_SCSIMultipathConfigurationCapabilities." 
 638                        "OtherSupportedLoadBalanceAlgorithmNames",
 639                        "CIM_SCSIMultipathConfigurationCapabilities." 
 640                        "OtherSupportedLoadBalanceVendorNames" }]
 641                 uint16 SupportedLoadBalanceTypes[];
 642              
 643                    [Description (
 644                        "When the corresponding array entry in "
 645                        "SupportedLoadBalanceTypes[] is 'Other', this entry provides "
 646                        "a string describing the load balancing algorithm. When the "
 647                        "corresponding array entry in SupportedLoadBalanceTypes[] is "
 648                        "'Product Specific', this entry provides a string specifying "
 649                        "the SCSI vendor/product/revision and must be formatted as "
 650                        "exactly 28 ASCII characters - 8 for vendor, 16 for product, "
 651                        "and 4 for revision (see SCSI SPC Inquiry response)"), 
 652 a.dunfey 1.1        MappingStrings { "SPC.INCITS-T10 |Standard Inquiry Response",
 653                        "MP_API.SNIA|MP_LOAD_BALANCE_TYPE",
 654                        "MP_API.SNIA|MP_DEVICE_PRODUCT_PROPERTIES" },
 655                        ArrayType ( "Indexed" ), 
 656                     ModelCorrespondence { 
 657                        "CIM_SCSIMultipathConfigurationCapabilities." 
 658                        "SupportedLoadBalanceTypes",
 659                        "CIM_SCSIMultipathConfigurationCapabilities." 
 660                        "OtherSupportedLoadBalanceVendorNames" }]
 661                 string OtherSupportedLoadBalanceAlgorithmNames[];
 662              
 663                    [Description (
 664                        "When the corresponding array entry in "
 665                        "SupportedLoadBalanceTypes[] is 'Other', this entry provides "
 666                        "a string describing the vendor associated with the load "
 667                        "balancing algorithm."), 
 668                     MappingStrings { "MP_API.SNIA|MP_LOAD_BALANCE_TYPE" },
 669                     ArrayType ( "Indexed" ), 
 670                     ModelCorrespondence { 
 671                        "CIM_SCSIMultipathConfigurationCapabilities." 
 672                        "SupportedLoadBalanceTypes",
 673 a.dunfey 1.1           "CIM_SCSIMultipathConfigurationCapabilities." 
 674                        "OtherSupportedLoadBalanceAlgorithmNames" }]
 675                 string OtherSupportedLoadBalanceVendorNames[];
 676              
 677                    [Description (
 678                        "The capability of the driver to support the SetTPGAccess "
 679                        "method. True if the implementation supports activating "
 680                        "target port groups."), 
 681                     MappingStrings { 
 682                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|canSetTPGAccess" }, 
 683                     ModelCorrespondence { 
 684                        "CIM_SCSIPathConfigurationService.SetTPGAccess" }]
 685                 boolean CanSetTPGAccess = false;
 686              
 687                    [Description (
 688                        "The capability of the driver to support the SetOverridePath "
 689                        "and CancelOverridePaths methods. True if the implementation "
 690                        "supports path overrides."), 
 691                     MappingStrings { 
 692                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|canOverridePaths" }, 
 693                     ModelCorrespondence { 
 694 a.dunfey 1.1           "CIM_SCSIPathConfigurationService.SetOverridePath" }]
 695                 boolean CanOverridePaths = false;
 696              
 697                    [Description (
 698                        "False if the MP drivers assure only a single device file "
 699                        "name (e.g. /dev/dsk/...) exists for each MP device. True if "
 700                        "the implementation exposes (or leaves exposed) device files "
 701                        "for the individual paths encapsulated by the multipath "
 702                        "device file. This is typically true for MP drivers that sit "
 703                        "near the top of the driver stack and false for transport "
 704                        "drivers at the bottom of the stack."), 
 705                     MappingStrings { "MP_API.SNIA|Plugin " 
 706                        "Properties|exposesPathDeviceFiles" }]
 707                 boolean ExposesPathDeviceFiles;
 708              
 709                    [Description (
 710                        "A string representing the primary file names the driver "
 711                        "uses for multipath logical units, if those filenames do not "
 712                        "match the names in Logical Unit osDeviceName as documented "
 713                        "in Appendix A of the SNIA MP API specification. The name is "
 714                        "expressing in the following format: \n"
 715 a.dunfey 1.1           "'*' represents one or more alphanumeric characters \n"
 716                        "'#' represents a string of consecutive digits \n"
 717                        "'%' represents a string of hexadecimal digits \n"
 718                        "backslash is an escape character for literal presentation "
 719                        "of *, #, or %. Any other character is interpreted "
 720                        "literally. For example, '/dev/vx/dmp/*'. If the multipath "
 721                        "driver creates multipath logical unit device file names in "
 722                        "the same namespace as the OS then this property should be "
 723                        "left null."), 
 724                     MappingStrings { 
 725                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace" }]
 726                 string DeviceNameFilespace;
 727              
 728                    [Description (
 729                        "True if the only supported device types are those described "
 730                        "in aggregated CIM_Product instances as described in the "
 731                        "description of SupportedLoadBalanceTypes."), 
 732                     MappingStrings { 
 733                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace" }, 
 734                     ModelCorrespondence { 
 735                        "CIM_SCSIMultipathConfigurationCapabilities." 
 736 a.dunfey 1.1           "SupportedLoadBalanceTypes" }]
 737                 boolean OnlySupportsSpecifidProducts = false;
 738              
 739                    [Description (
 740                        "Describes the range of administer settable path weights "
 741                        "supported by the driver. A driver with no path preference "
 742                        "capabilities should set this property to zero. A driver "
 743                        "with the ability to enable/disable paths should set this "
 744                        "property to 1. Drivers with more weight settings can set "
 745                        "the property appropriately."), 
 746                     MappingStrings { 
 747                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|maximumWeight" }]
 748                 uint32 MaximumWeight;
 749              
 750                    [Description (
 751                        "The maximum polling rate (in seconds) supported by the "
 752                        "driver. A value of zero indicates the driver/plugin does "
 753                        "not support polling. This maximum applies to both "
 754                        "BadPathPollingRate and InactivePathPollingRate."), 
 755                     MappingStrings { 
 756                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|pollingRateMax" }]
 757 a.dunfey 1.1    uint32 PollingRateMax;
 758              
 759                    [Description (
 760                        "The minimum polling rate (in seconds) supported by the "
 761                        "driver. This minimum applies to both BadPathPollingRate and "
 762                        "InactivePathPollingRate."), 
 763                     MappingStrings { 
 764                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|pollingRateMin" }]
 765                 uint32 PollingRateMin;
 766              
 767                    [Description (
 768                        "A Boolean indicating whether the driver will automatically "
 769                        "revert back to preferred (i.e higher weight) paths when "
 770                        "they return to service."), 
 771                     MappingStrings { 
 772                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|autoFailbackSupported" }]
 773                 boolean AutoFailbackSupported;
 774              
 775                    [Write, Description (
 776                        "A Boolean indicating whether auto failback is currently "
 777                        "enabled. Only valid when autoFailbackSupported is true."), 
 778 a.dunfey 1.1        MappingStrings { 
 779                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|autoFailbackEnabled" }]
 780                 boolean AutoFailbackEnabled;
 781              
 782                    [Write, Description (
 783                        "The rate in seconds between polling I/Os to paths that are "
 784                        "marked unavailable due to hardware errors. Only valid when "
 785                        "pollingRateMax is greater than 0 and canAutoFailback are "
 786                        "true."), 
 787                     MappingStrings { 
 788                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|badPathPollingRate" }]
 789                 uint32 BadPathPollingRate;
 790              
 791                    [Write, Description (
 792                        "The rate in seconds between polling I/Os to paths that are "
 793                        "not is use due to administrative settings (pathWeight or "
 794                        "manual overrides). Only valid when pollingRateMax is "
 795                        "greater than zero."), 
 796                     MappingStrings { 
 797                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|inactivePathPollingRate" }]
 798                 uint32 InactivePathPollingRate;
 799 a.dunfey 1.1 
 800                    [Write, Description (
 801                        "The load balance types supported by the driver if not "
 802                        "overridden by an administrative action."), 
 803                     ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 804                     Values { "Unknown", "Other", "No Load Balancing", "Round Robin",
 805                        "Least Blocks", "Least IO", "Product Specific" }, 
 806                     MappingStrings { 
 807                        "MP_API.SNIA|MP_PLUGIN_PROPERTIES|defaultLoadBalanceType" }]
 808                 uint16 DefaultLoadBalanceType;
 809              
 810              };
 811              
 812              
 813              
 814              // ===================================================================
 815              // SCSIInitiatorTargetLogicalUnitPath
 816              // ===================================================================
 817              
 818                 [Association, Experimental, Version ( "2.8.1000" ), Description (
 819                     "An association that models a host driver path to a SCSI "
 820 a.dunfey 1.1        "logical unit. Each permutation of initiator and target "
 821                     "ProtocolEndpoints and logical units is considered a separate "
 822                     "path. This class describes end-to-end path behavior such as "
 823                     "properties and operations commonly used in multipath "
 824                     "management.")]
 825              class CIM_SCSIInitiatorTargetLogicalUnitPath {
 826              
 827                    [Key, Description (
 828                        "An initiator endpoint.")]
 829                 CIM_SCSIProtocolEndpoint REF Initiator;
 830              
 831                    [Key, Description (
 832                        "A target endpoint.")]
 833                 CIM_SCSIProtocolEndpoint REF Target;
 834              
 835                    [Key, Description (
 836                        "A subclass of LogicalDevice representing a SCSI Logical "
 837                        "Unit (such as StorageVolume or TapeDrive).")]
 838                 CIM_LogicalDevice REF LogicalUnit;
 839              
 840                    [Description (
 841 a.dunfey 1.1           "The OS Device Name for this path. Only applicable if the "
 842                        "ExposedPathDeviceFiles property is true in the instance of "
 843                        "SCSIMultipathConfigurationCapabilities associated with the "
 844                        "LogicalDevice/RedundancySet this instance is a member of."), 
 845                     MappingStrings { 
 846                        "MP_API.SNIA|MP_PATH_LOGICAL_UNIT_PROPERTIES|deviceFileName" 
 847                        }]
 848                 string OSDeviceName;
 849              
 850                    [Write, Description (
 851                        "A value assigned by an administrator specifying a "
 852                        "preference to assign to a path. The drivers will actively "
 853                        "use all available paths with the highest weight. This "
 854                        "allows an administrator to assign a subset of available "
 855                        "paths for load balanced access and reserve the others as "
 856                        "backup paths. For symmetric access devices, all paths are "
 857                        "considered 'available'. For asymmetric access devices, all "
 858                        "paths in active target port groups are considered "
 859                        "available."), 
 860                     MappingStrings { 
 861                        "MP_API.SNIA|MP_PATH_LOGICAL_UNIT_PROPERTIES|weight" }]
 862 a.dunfey 1.1    uint32 AdministrativeWeight;
 863              
 864                    [Write, Description (
 865                        "The state of this path. Values are defined as follows: \n"
 866                        "Unknown - the path is unavailable,but the cause is not "
 867                        "known. \n"
 868                        "Active - The path is okay and active. \n"
 869                        "Passive - The path is okay, but is associated with a target "
 870                        "port of target port group in standby access state. Only "
 871                        "applies to devices with asymmetric access. \n"
 872                        "Disabled - The path is disabled by administrative request "
 873                        "(DisablePathLU). \n"
 874                        "Path Error - The path is unusable due to an error on this "
 875                        "path and no SCSI status was received. \n"
 876                        "Logical Unit Error - A SCSI status was received for an I/O "
 877                        "through this path indicating a logical unit error. \n"
 878                        "Reserved - The path is unavailable due to a SCSI "
 879                        "reservation. \n"
 880                        "Removed - The path is unavailable because the OS or drivers "
 881                        "marked the pathunusable. \n"
 882                        "Transitioning - the path is transitioning between two valid "
 883 a.dunfey 1.1           "states. \n"
 884                        "The only valid values a client can specify are Disabled and "
 885                        "Active. All other states are determined by the underlying "
 886                        "implementation; attempts to set them should be given an "
 887                        "error response."), 
 888                     ValueMap { "0", "2", "3", "4", "5", "6", "7", "8", "9" }, 
 889                     Values { "Unknown", "Active", "Passive", "Disabled",
 890                        "Path Error", "Logical Unit Error", "Reserved", "Removed",
 891                        "Transitioning" }, 
 892                     MappingStrings { 
 893                        "MP_API.SNIA|MP_PATH_LOGICAL_UNIT_PROPERTIES|pathState" }]
 894                 uint32 State;
 895              
 896                    [Description (
 897                        "AdministrativeOverride allows an administrator to select a "
 898                        "single path, force all I/O to this path, and disables load "
 899                        "balancing. The steady-state value is 'No override in "
 900                        "effect'. When an administrator sets an override for a "
 901                        "particular path, that path's AdministrativeOverride is set "
 902                        "to 'Overridding' and all other paths to same logical unit "
 903                        "are assigned a value of 'Overridden'. This property is "
 904 a.dunfey 1.1           "changed using the OverridePath method in "
 905                        "SCSIPathConfigurationService."), 
 906                     ValueMap { "2", "3", "4" }, 
 907                     Values { "Overriding", "Overridden", "No override in effect" }, 
 908                     MappingStrings { 
 909                        "MP_API.SNIA|MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES|overridePath" 
 910                        }, 
 911                     ModelCorrespondence { 
 912                        "CIM_SCSIPathConfigurationService.SetOverridePath" }]
 913                 uint16 AdministrativeOverride;
 914              };
 915              
 916              // ===================================================================
 917              // SCSIPathConfigurationService
 918              // ===================================================================
 919              
 920                 [Experimental, Version ( "2.8.1000" ), Description (
 921                     "A class derived from CIM_Service providing methods related to "
 922                     "management of multiple paths to SCSI devices.")]
 923              class CIM_SCSIPathConfigurationService : CIM_Service {
 924              
 925 a.dunfey 1.1       [Description (
 926                        "This method requests that the target change the access "
 927                        "states of the requested SCSITargetPortGroups. This will "
 928                        "have the effect of doing a failover or failback operation."), 
 929                     ValueMap { "0", "1", "2", "3", "4", "5", "..", "4096", "4097",
 930                        "4098", "4099", "..", "32768..65535" }, 
 931                     Values { "Success", "Not Supported", "Unknown", "Timeout",
 932                        "Failed", "Invalid Parameter", "DMTF Reserved",
 933                        "Unsupported AccessState", "Invalid SCSITargetPortGroup",
 934                        "Unsupported AccessState combination",
 935                        "Unsupported SCSITargetPortGroup combination",
 936                        "Method Reserved", "Vendor Specific" }]
 937                 uint32 SetTPGAccess ( 
 938                       [IN, Description (
 939                           "A reference to an instances of a subclass of "
 940                           "CIM_LogicalDevice representing the SCSI logical unit "
 941                           "where the command will be sent.")]
 942                    CIM_LogicalDevice REF LogicalUnit, 
 943                       [IN, Description (
 944                           "Array of references to instances of SCSITargetPortGroup. "
 945                           "All the referenced TargetPortGroup instances must be "
 946 a.dunfey 1.1              "part of the same target device."), 
 947                        ArrayType ( "Indexed" ), 
 948                        ModelCorrespondence { "CIM_SCSITargetPortGroup" }]
 949                    CIM_SCSITargetPortGroup REF TargetPortGroups[], 
 950                       [IN, Description (
 951                           "An array of desired access states. Each access state in "
 952                           "this array is the desired access state for the "
 953                           "SCSITargetPortGroup in the corresponding entry in the "
 954                           "TargetPortGroups parameter. \n"
 955                           "\n"
 956                           "The Active value is not part of the SCSI Specification; "
 957                           "it is a convenience for clients that are not sure "
 958                           "whether to specify Active/Optimized of "
 959                           "Active/Non-optimized. The instrumentation selects a "
 960                           "value based on historic information, knowledge of the "
 961                           "target configuration, or trial and error. \n"
 962                           "\n"
 963                           "Note that SCSITargetPortGroup.AccessState includes the "
 964                           "value 'Transitioning' that is excluded here - a caller "
 965                           "cannot request transitioning, though it can be reported "
 966                           "by a target device."), 
 967 a.dunfey 1.1           ValueMap { "2", "3", "4", "5", "6" }, 
 968                        Values { "Active/Optimized", "Active/Non-optimized",
 969                           "StandBy", "Unavailable", "Active" },
 970                           ArrayType ( "Indexed" ), 
 971                        ModelCorrespondence { "CIM_SCSITargetPortGroup.AccessState" }]
 972                    uint16 AccessStates[] ); 
 973              
 974                    [Description (
 975                        "This method requests that the target change the load "
 976                        "balance algorithm for the referenced LogicalDevice "
 977                        "instance."), 
 978                     ValueMap { "0", "1", "2", "3", "4", "5", "..", "4096", "4097",
 979                        "..", "32768..65535" }, 
 980                     Values { "Success", "Not Supported", "Unknown", "Timeout",
 981                        "Failed", "Invalid Parameter", "DMTF Reserved",
 982                        "Unsupported LogicalDevice", "Invalid LoadBalanceType",
 983                        "Method Reserved", "Vendor Specific" }]
 984                 uint32 SetLoadBalanceAlgorithm ( 
 985                       [IN, Description (
 986                           "A reference to the LogicalDevice subclass instance with "
 987                           "an LogicalIdentity to the load balance RedundancySet. If "
 988 a.dunfey 1.1              "SCSIMultipathConfigurationCapabilities. "
 989                           "CanLoadBalanceLUsIndependently is true, just the "
 990                           "referenced logical unit is modified. Otherwise, all "
 991                           "logical units sharing the target are modified.")]
 992                    CIM_LogicalDevice REF LogicalDevice,
 993                    
 994                       [IN, Description (
 995                           "The desired load balance algorithm."), 
 996                        ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 997                        Values { "Unknown", "Other", "No Load Balancing",
 998                           "Round Robin", "Least Blocks", "Least IO",
 999                           "Product Specific" }]
1000                    uint16 LoadBalanceAlgorithm,
1001                    
1002                       [IN, Description (
1003                           "When LoadBalanceAlgorithm is 'Other', this parameter "
1004                           "specifies a description of the load balancing algorithm. "
1005                           "When LoadBalanceAlgorithm is 'Product Specific', this "
1006                           "property provides a string specifying the "
1007                           "vendor/product/version of the ManagedElement.")]
1008                    string OtherLoadBalanceAlgorithmDescription ); 
1009 a.dunfey 1.1 
1010              
1011                    [Description (
1012                        "This method allows an administrator to assign a logical "
1013                        "unit to a target port group. At any time, each LU will "
1014                        "typically be associated with two target port groups, one in "
1015                        "active state and one in standby state. The result of this "
1016                        "method will be that the LU associations change to a pair of "
1017                        "target port groups. Only valid if the target device "
1018                        "supports asymmetric access state and "
1019                        "SCSIMultipathConfigurationCapabilities SupportsLuAssignment "
1020                        "is set."), 
1021                     ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" }, 
1022                     Values { "Success", "Not Supported", "Unknown", "Timeout",
1023                        "Failed", "Invalid Parameter", "DMTF Reserved",
1024                        "Vendor Specific" }]
1025                 uint32 AssignLogicalUnitToPortGroup ( 
1026                       [IN, Description (
1027                           "A reference to a target port group. The Target Port "
1028                           "Group should be in an active state.")]
1029                    CIM_SCSITargetPortGroup REF TargetPortGroup ); 
1030 a.dunfey 1.1 
1031                    [Description (
1032                        "This method allows an administrator to temporarily disable "
1033                        "load balancing for a specific logical unit. The path "
1034                        "specified as a parameter will have its "
1035                        "AdministrativeOverride property set to 'Overriding' and all "
1036                        "I/O to the logical unit will be directed to this path. All "
1037                        "other paths to this logical unit will have "
1038                        "AdministrativeOverride set to 'Overridden'."), 
1039                     ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" }, 
1040                     Values { "Success", "Not Supported", "Unknown", "Timeout",
1041                        "Failed", "Invalid Parameter", "DMTF Reserved",
1042                        "Vendor Specific" }]
1043                 uint32 SetOverridePath ( 
1044                       [IN, Description (
1045                           "A reference to a SCSIInitiatorTargetLogicalUnitPath.")]
1046                    CIM_SCSIInitiatorTargetLogicalUnitPath REF Path ); 
1047              
1048                    [Description (
1049                        "This method clears an override path as set in "
1050                        "SetOverridePath and load balancing is enabled. All paths to "
1051 a.dunfey 1.1           "the logical unit specified as a parameter will have "
1052                        "AdministrativeOverride property set to 'No override in "
1053                        "effect'."), 
1054                     ValueMap { "0", "1", "2", "3", "4", "5", "..", "32768..65535" }, 
1055                     Values { "Success", "Not Supported", "Unknown", "Timeout",
1056                        "Failed", "Invalid Parameter", "DMTF Reserved",
1057                        "Vendor Specific" }]
1058                 uint32 CancelOverridePath ( 
1059                       [IN, Description (
1060                           "A reference to a SCSIInitiatorTargetLogicalUnitPath.")]
1061                    CIM_LogicalDevice REF LogicalUnit ); 
1062              
1063              };
1064              
1065              
1066              // ===================================================================
1067              // end of file
1068              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2