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

   1 karl  1.1 // ===================================================================
   2           // Title:  Storage Devices
   3           // $State: Preliminary $
   4           // $Date: 2004/07/15 00:47:12 $
   5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Device_StorageDevices.mof,v $
   6           // $Revision: 1.11 $
   7           // ===================================================================
   8           //#pragma inLine ("Includes/copyright.inc")
   9           // Copyright 1998-2004 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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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