Device\CIM_StorageCapabilities.mof.mof (HTML version)

Return to index
CIM_StorageCapabilities Superclass: CIM_Capabilities
A subclass of Capabilities that defines the Capabilities of a StorageService or StoragePool. For example, an instance of StorageCapabilities could be associated with either a StorageConfigurationService or StoragePool by using ElementCapabilities.
Qualifiers:Version ( "2.11.0" ) UMLPackagePath ( "CIM::Device::StorageServices" )
Parameters (local in grey)
ModelCorrespondence { "CIM_StorageCapabilities.PackageRedundancyMax" , "CIM_StorageCapabilities.PackageRedundancyDefault" }
uint16 PackageRedundancyMin ;
PackageRedundancyMin describes the minimum number of redundant packages that can be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The default redundancy is specified using PackageRedundancyDefault, while the minimum is defined by PackageRedundancyMin.
ValueMap { "0" , "1" , "2" , "3" }
Values { "Method completed OK" , "Method not supported" , "Choices not available for this Capability" , "Use GetSupportedStripeLengthRange instead" }
Experimental
uint32GetSupportedStripeLengths(
List of supported ExtentStripeLengths for a Volume/Pool creation or modification.
Qualifiers:ArrayType ( "Indexed" ) OUT IN ( false )
uint16 StripeLengths [ ]
)
For systems that support discrete ExtentStripeLengths for volume or pool creation, this method can be used to retrieve a list of supported values. Note that different implementations may support either the GetSupportedStripeLengths or the GetSupportedStripeLengthRange method. Also note that the advertised sizes may change after the call due to requests from other clients. If the system only supports a range of sizes, then the return value will be set to 3.
ValueMap { "2" , "3" }
Values { "Non-Rotated Parity" , "Rotated Parity" }
uint16 ParityLayoutDefault ;
ParityLayout specifies whether a parity-based storage organization is using rotated or non-rotated parity. If this capabilities instance is associated with a pool that was created with a range of QOS then ParityLayoutDefault represents the default value. Other available values can be determined by using the 'GetSupportedParityLayouts' method. If the pool was created with a single specific QOS, representing a Raid group, set, or rank, then this property represents the current/fixed value for the pool, and ParityLayout is not supported in subsequent creation of elements from this pool. Consequently, the 'GetSupportedParityLayouts' method cannot be used, and the ParityLayoutGoal property in StorageSetting instances used in child element operations on this pool MUST be set to NULL. A NULL value for ParityLayoutDefault indicates that the system does not support configuration of storage by specifying ParityLayout.
Punit ( "byte" )
MinValue ( 1 )
Units ( "Bytes" )
uint64 UserDataStripeDepthDefault ;
User Data Stripe Depth describes the number of bytes forming a strip in common striping-based storage organizations. The strip is defined as the size of the portion of a stripe that lies on one extent. Thus, ExtentStripeLength * UserDataStripeDepth will yield the size of one stripe of user data. A NULL value for UserDataStripeDepthDefault indicates that the system does not support configuration of storage by specifying Stripe Depth.
If User Data Stripe Depth is supported, and this Capabilities instance is associated with a pool that was created with a range of QOS then UserDataStripeDepthDefault represents the default value. Other available values(such as min, max, and discrete values) can be determined by using the 'GetSupportedStripeDepths' and 'GetSupportedStripeDepthRange' methods.
If User Data Stripe Depth is supported and the pool was created with a single specific QOS, representing a Raid group, set, or rank, then this property represents the current/fixed value for the pool, and User Data Stripe Depth is not supported in subsequent creation of elements from this pool. Consequently, the 'GetSupportedStripeDepth' methods cannot be used, and in a StorageSetting instance used as a goal when creating or modifying a child element of the pool, UserDataStripeDepthGoal, UserDataStripeDepthMin, and UserDataStripeDepthMax MUST be set to NULL.
ValueMap { "0" , "1" , "2" }
Values { "Method completed OK" , "Method not supported" , "Use GetSupportedStripeDepthRange instead" }
Experimental
uint32GetSupportedStripeDepths(
List of supported UserDataStripeDepths for a Volume/Pool creation or modification.
Qualifiers:Punit ( "byte" ) ArrayType ( "Indexed" ) Units ( "Bytes" ) OUT IN ( false )
uint64 StripeDepths [ ]
)
For systems that support discrete UserDataStripeDepths for volume or pool creation, this method can be used to retrieve a list of supported values. Note that different implementations may support either the GetSupportedStripeDepths or the GetSupportedStripeDepthRange method. If the system only supports a range of sizes, then the return value will be set to 2.
ValueMap { "0" , "1" , "2" }
Values { "Method completed OK" , "Method not supported" , "Choice not aavailable for this capability" }
uint32GetSupportedParityLayouts(
List of supported Parity for a Volume/Pool creation or modification.
Qualifiers:ValueMap { "2" , "3" } ArrayType ( "Indexed" ) Values { "Non-Rotated Parity" , "Rotated Parity" } OUT IN ( false )
uint16 ParityLayout [ ]
)
For systems that support Parity-based storage organizations for volume or pool creation, this method can be used to the supported parity layouts.
MinValue ( 1 )
ModelCorrespondence { "CIM_StorageCapabilities.DataRedundancyMax" , "CIM_StorageCapabilities.DataRedundancyDefault" }
uint16 DataRedundancyMin ;
DataRedundancyMin describes the minimum number of complete copies of data that can be maintained. Examples would be RAID 5 where 1 copy is maintained and RAID 1 where 2 or more copies are maintained). Possible values are 1 to n. The default redundancy is specified using DataRedundancyDefault, while the maximum is defined by DataRedundancyMax.
Punit ( "percent" )
MaxValue ( 100 )
MinValue ( 0 )
Units ( "Percentage" )
ModelCorrespondence { "CIM_StorageCapabilities.DeltaReservationMin" , "CIM_StorageCapabilities.DeltaReservationDefault" }
uint16 DeltaReservationMax ;
DeltaReservatioMax is a number between 1 (1%) and a 100 (100%) that specifies the maximum amount of space reserved in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the upper limit, while DeltaReservationMin sets the lower limit.
ModelCorrespondence { "CIM_StorageCapabilities.PackageRedundancyMin" , "CIM_StorageCapabilities.PackageRedundancyMax" }
uint16 PackageRedundancyDefault ;
PackageRedundancyDefault describes the default number of redundant packages that will be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The bounds for redundancy are specified using the properties, PackageRedundancyMax and PackageRedundancyMin.
ValueMap { "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" }
Values { "Unknown" , "Reserved" , "Any Type" , "StorageVolume" , "StorageExtent" , "StoragePool" , "StorageConfigurationService" , "LogicalDisk" }
uint16 ElementType ;
Enumeration indicating the type of element to which this StorageCapabilities applies.
ModelCorrespondence { "CIM_StorageCapabilities.NoSinglePointOfFailure" }
boolean NoSinglePointOfFailureDefault ;
Indicates the default value for the NoSinglePointOfFailure property.
MinValue ( 1 )
ModelCorrespondence { "CIM_StorageCapabilities.DataRedundancyMin" , "CIM_StorageCapabilities.DataRedundancyDefault" }
uint16 DataRedundancyMax ;
DataRedundancyMax describes the maximum number of complete copies of data that can be maintained. Examples would be RAID 5 (where 1 copy is maintained) and RAID 1 (where 2 or more copies are maintained). Possible values are 1 to n. The default redundancy is specified using DataRedundancyDefault, while the minimum is defined by DataRedundancyMin.
ModelCorrespondence { "CIM_StorageCapabilities.NoSinglePointOfFailureDefault" }
boolean NoSinglePointOfFailure ;
Indicates whether or not the associated element supports no single point of failure. Values are: FALSE = does not support no single point of failure, and TRUE = supports no single point of failure.
ValueMap { "0" , "1" , "2" }
Values { "Method completed OK" , "Method not supported" , "Use GetSupportedStripeDepths instead" }
Experimental
uint32GetSupportedStripeDepthRange(
The minimum UserDataStripeDepth for a volume/pool in bytes.
Qualifiers:Punit ( "byte" ) Units ( "Bytes" ) OUT IN ( false )
uint64 MinimumStripeDepth
The maximum UserDataStripeDepth for a volume/pool in bytes.
Qualifiers:Punit ( "byte" ) Units ( "Bytes" ) OUT IN ( false )
uint64 MaximumStripeDepth
A volume/pool UserDataStripeDepth must be a multiple of this value which is specified in bytes.
Qualifiers:Punit ( "byte" ) Units ( "Bytes" ) OUT IN ( false )
uint64 StripeDepthDivisor
)
For systems that support a range of UserDataStripeDepths for volume or pool creation, this method can be used to retrieve the supported range. Note that different implementations may support either the GetSupportedStripeDepths or the GetSupportedStripeDepthRange method. If the system only supports discrete values, then the return value will be set to 2.
ValueMap { "0" , "1" , "2" , "3" , "4" , "5" , ".." , "32768..65535" }
Values { "Success" , "Not Supported" , "Unspecified Error" , "Timeout" , "Failed" , "Invalid Parameter" , "DMTF Reserved" , "Vendor Specific" }
uint32CreateSetting(
If 'Default' is passed for the CreateDefault parameter, the Max, Goal, and Min setting attributes are set to the Default values of the parent StorageCapabilities when the instance is created.
If set to 'Goal' the new StorageSetting attributes are set to the related attributes of the parent StorageCapabilities, e.g. Min to Min, Goal to Default, and Max to Max.

This method maybe deprecated in lieu of intrinsics once limitations in the CIM Operations are addressed.

Qualifiers:ValueMap { "2" , "3" } Values { "Default" , "Goal" } IN
uint16 SettingType
Reference to the created StorageSetting instance.
Qualifiers:OUT IN ( False )
CIM_StorageSetting REF NewSetting
)
Method to create and populate a StorageSetting instance from a StorageCapability instance. This removes the need to populate default settings and other settings in the context of each StorageCapabilities (which could be numerous). If the underlying instrumentation supports the StorageSettingWithHints subclass, then an instance of that class will be created instead.
MinValue ( 1 )
uint16 ExtentStripeLengthDefault ;
Extent Stripe Length describes the number of underlying StorageExtents across which data is striped in the common striping-based storage organizations. This is also known as the number of 'members' or 'columns'.
A NULL value for ExtentStripeLengthDefault indicates that the system does not support configuration of storage by specifying Stripe Length.
If Extent Stripe Length is supported, and this Capabilities instance is associated with a pool that was created with a range of QOS then ExtentStripeLengthDefault represents the default value. Other available values(such as min, max, and discrete values) can be determined by using the 'GetSupportedStripeLengths' and 'GetSupportedStripeLengthRange' methods.
If Extent Stripe Length is supported and the pool was created with a single specific QOS, representing a Raid group, set, or rank, then this property represents the current/fixed value for the pool, and Extent Stripe Length is not supported in subsequent creation of elements from this pool. Consequently, the 'GetSupportedStripeLength' methods cannot be used, and in a StorageSetting instance used as a goal when creating or modifying a child element of the pool, ExtentStripeLengthGoal, ExtentStripeLengthMin, and ExtentStripeLengthMax MUST be set to NULL.
MinValue ( 1 )
ModelCorrespondence { "CIM_StorageCapabilities.DataRedundancyMax" , "CIM_StorageCapabilities.DataRedundancyMin" }
uint16 DataRedundancyDefault ;
DataRedundancyDefault describes the default number of complete copies of data that can be maintained. Examples would be RAID 5 where 1 copy is maintained and RAID 1 where 2 or more copies are maintained. Possible values are 1 to n. The bounds for the redundancy (max and min) are defined by DataRedundancyMax and DataRedundancyMin.
ModelCorrespondence { "CIM_StorageCapabilities.PackageRedundancyMin" , "CIM_StorageCapabilities.PackageRedundancyDefault" }
uint16 PackageRedundancyMax ;
PackageRedundancyMax describes the maximum number of redundant packages that can be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The default redundancy is specified using PackageRedundancyDefault, while the maximum is defined by PackageRedundancyMax.
ValueMap { "0" , "1" , "2" , "3" }
Values { "Method completed OK" , "Method not supported" , "Choices not available for this Capability" , "Use GetSupportedStripeLengths instead" }
Experimental
uint32GetSupportedStripeLengthRange(
The minimum ExtentStripeDepth for a volume/pool in bytes.
Qualifiers:OUT IN ( false )
uint16 MinimumStripeLength
The maximum ExtentStripeLength for a volume/pool in bytes.
Qualifiers:OUT IN ( false )
uint16 MaximumStripeLength
A volume/pool ExtentStripeLength must be a multiple of this value which is specified in bytes.
Qualifiers:OUT IN ( false )
uint32 StripeLengthDivisor
)
For systems that support a range of ExtentStripeLengths for volume or pool creation, this method can be used to retrieve the supported range. Note that different implementations may support either the GetSupportedExtentLengths or the GetSupportedExtentLengthRange method. Also note that the advertised sizes may change after the call due to requests from other clients. If the system only supports discrete values, then the return value will be set to 3.
Punit ( "percent" )
MaxValue ( 100 )
MinValue ( 0 )
Units ( "Percentage" )
ModelCorrespondence { "CIM_StorageCapabilities.DeltaReservationMax" , "CIM_StorageCapabilities.DeltaReservationDefault" }
uint16 DeltaReservationMin ;
DeltaReservationMin is a number between 1 (1%) and a 100 (100%) that specifies the minimum amount of space that should be reserved in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the lower limit, while DeltaReservationMax sets the upper limit.
Punit ( "percent" )
MaxValue ( 100 )
MinValue ( 0 )
Units ( "Percentage" )
ModelCorrespondence { "CIM_StorageCapabilities.DeltaReservationMax" , "CIM_StorageCapabilities.DeltaReservationMin" }
uint16 DeltaReservationDefault ;
Delta reservation is a number between 1 (1%) and a 100 (100%) that specifies how much space should be reserved by default in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the default value, while DeletaReservationMax and DeltReservationMin set the upper and lower bounds.
Required
Override ( "ElementName" )
string ElementName ;
The user friendly name for this instance of Capabilities. In addition, the user friendly name can be used as a index property for a search of query. (Note: Name does not have to be unique within a namespace.)
Key
string InstanceID ;
Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm:
<OrgID>:<LocalID>
Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>.
<LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace.
For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.
ValueMap { "0" , "1" , "2" , "3" , "4" , "5" , "6" , ".." , "32768..65535" }
Values { "Success" , "Not Supported" , "Unknown" , "Timeout" , "Failed" , "Invalid Parameter" , "Alternative Proposed" , "DMTF Reserved" , "Vendor Specific" }
Experimental
uint16CreateGoalSettings(
If provided, TemplateGoalSettings are elements of class CIM_SettingData, or a derived class, that is used as the template to be matched. .
At most, one instance of each SettingData subclass may be supplied.
All SettingData instances provided by this property are interpreted as a set, relative to this Capabilities instance.
SettingData instances that are not relevant to this instance are ignored.
If not provided, it shall be set to NULL. In that case, a SettingData instance representing the default settings of the associated ManagedElement is used.

Qualifiers:EmbeddedInstance ( "CIM_SettingData" ) IN
string TemplateGoalSettings [ ]
SupportedGoalSettings are elements of class CIM_SettingData, or a derived class.
At most, one instance of each SettingData subclass may be supplied.
All SettingData instances provided by this property are interpreted as a set, relative to this Capabilities instance.

To enable a client to provide additional information towards achieving the TemplateGoalSettings, an input set of SettingData instances may be provided. If not provided, this property shall be set to NULL on input.. Note that when provided, what property values are changed, and how, is implementation dependent and may be the subject of other standards.
If provided, the input SettingData instances must be ones that the implementation is able to support relative to the ManagedElement associated via ElementCapabilities. Typically, the input SettingData instances are created by a previous instantiation of CreateGoalSettings.
If the input SupportedGoalSettings is not supported by the implementation, then an 'Invalid Parameter' (5) error is returned by this call. In this case, a corresponding CIM_ERROR should also be returned.
On output, this property is used to return the best supported match to the TemplateGoalSettings.
If the output SupportedGoalSettings matches the input SupportedGoalSettings, then the implementation is unable to improve further towards meeting the TemplateGoalSettings.

Qualifiers:EmbeddedInstance ( "CIM_SettingData" ) OUT IN
string SupportedGoalSettings [ ]
)
Method to create a set of supported SettingData elements, from two sets of SettingData elements, provided by the caller.
CreateGoal should be used when the SettingData instances that represents the goal will not persist beyond the execution of the client and where those instances are not intended to be shared with other, non-cooperating clients.
Both TemplateGoalSettings and SupportedGoalSettings are represented as strings containing EmbeddedInstances of a CIM_SettingData subclass. These embedded instances do not exist in the infrastructure supporting this method but are maintained by the caller/client.
This method should return CIM_Error(s) representing that a single named property of a setting (or other) parameter (either reference or embedded object) has an invalid value or that an invalid combination of named properties of a setting (or other) parameter (either reference or embedded object) has been requested.
If the input TemplateGoalSettings is NULL or the empty string, this method returns a default SettingData element that is supported by this Capabilities element.
If the TemplateGoalSettings specifies values that cannot be supported, this method shall return an appropriate CIM_Error and should return a best match for a SupportedGoalSettings.
The client proposes a goal using the TemplateGoalSettings parameter and gets back Success if the TemplateGoalSettings is exactly supportable. It gets back 'Alternative Proposed' if the output SupportedGoalSettings represents a supported alternative. This alternative should be a best match, as defined by the implementation.
If the implementation is conformant to a RegisteredProfile, then that profile may specify the algorithms used to determine best match. A client may compare the returned value of each property against the requested value to determine if it is left unchanged, degraded or upgraded.

Otherwise, if the TemplateGoalSettings is not applicable an 'Invalid Parameter' error is returned.

When a mutually acceptable SupportedGoalSettings has been achieved, the client may use the contained SettingData instances as input to methods for creating a new object ormodifying an existing object. Also the embedded SettingData instances returned in the SupportedGoalSettings may be instantiated via CreateInstance, either by a client or as a side-effect of the execution of an extrinsic method for which the returned SupportedGoalSettings is passed as an embedded instance.
MaxLen ( 64 )
string Caption ;
The Caption property is a short textual description (one- line string) of the object.
string Description ;
The Description property provides a textual description of the object.