# Class CIM_SpareConfigurationService
extends CIM_Service

This service allows the active management of spares in a Storage Server. It allows jobs to be started for the adding and removing of spares, replacing a failed storage extent with a spare and rebuilding a storage extent in a StorageRedundancySet.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_SpareConfigurationService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | This service allows the active management of spares in a Storage Server. It allows jobs to be started for the adding and removing of spares, replacing a failed storage extent with a spare and rebuilding a storage extent in a StorageRedundancySet.
UMLPackagePath | string | CIM::Device::StorageServices
Version | string | 2.45.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LoSID | string | CIM_Service
LoSOrgID | string | CIM_Service
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### AssignSpares (uint32)

#### Method Qualifiers (AssignSpares)

Name | Data Type | Value
--- | --- | ---
Description | string | This method assigns one or more primordial StorageExtents as spares. Once a spare is assigned, the storage system can use it to spare a failed StorageExtent associated to a StorageRedundancySet. Depending on the capabilities of the storage system, the spare may failover the failed extent or may remain a spare. The spare extents may be designated to spare for a specific StorageRedundancySet (dedicated) or may be used to spare for any compatible StorageRedundancySet (global).
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Multiple StoragePools, Spares Are Not Compatible, StorageExtent is in use, Method Reserved, Vendor Specific

#### Method Parameters (AssignSpares)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
InExtents | CIM_StorageExtent[]
Description | string | An array of references to StorageExtents that are to be assigned as spares.
Required | boolean | true
InPool | REF CIM_StoragePool
Description | string | The primordial StoragePool that contains the StorageExtents. This parameter does not need to be specified if there is only one primordial StoragePool.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
RedundancySet | REF CIM_StorageRedundancySet
Description | string | If specified, the spares will only spare for StorageExtents in this StorageRedundancySet (dedicated). If no reference is specified, the spares can spare for any compatible StorageRedundancySet (global).

#### UnassignSpares (uint32)

#### Method Qualifiers (UnassignSpares)

Name | Data Type | Value
--- | --- | ---
Description | string | This method unassigns spares and returns the StorageExtents to the primordial StoragePool.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Multiple Primordial StoragePools, StorageExtent is in use, Spares Are Not Compatible, Method Reserved, Vendor Specific

#### Method Parameters (UnassignSpares)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
InExtents | CIM_StorageExtent[]
Description | string | An array of references to StorageExtents that are spares.
Required | boolean | true
InPool | REF CIM_StoragePool
Description | string | The primordial StoragePool to which the unassigned StorageExtents are to be returned. This parameter does not need to be specified if there is only one primordial StoragePool.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true

#### RebuildStorageExtent (uint32)

#### Method Qualifiers (RebuildStorageExtent)

Name | Data Type | Value
--- | --- | ---
Description | string | This method causes the data in the StorageExtent to be rebuilt from the other members of the StorageRedundancySet.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Target is Not a Member of a StorageRedundancySet, Rebuild already in Progress, Method Reserved, Vendor Specific

#### Method Parameters (RebuildStorageExtent)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Target | REF CIM_StorageExtent
Description | string | The StorageExtent that will be rebuilt.
Required | boolean | true

#### CheckParityConsistency (uint32)

#### Method Qualifiers (CheckParityConsistency)

Name | Data Type | Value
--- | --- | ---
Description | string | This method checks the parity data in the StorageRedundancySet to ensure that it is consistent with the real data. If no StorageRedundancySet is specified, all StorageRedundancySets are checked.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Consistency Check Already in Progress, No Parity to Check, Method Reserved, Vendor Specific

#### Method Parameters (CheckParityConsistency)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Target | REF CIM_StorageExtent
Description | string | The StorageExtent that will be rebuilt.
Required | boolean | true

#### RepairParity (uint32)

#### Method Qualifiers (RepairParity)

Name | Data Type | Value
--- | --- | ---
Description | string | This method repairs parity consistency problems found by the CheckParityConsistency method.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (RepairParity)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Target | REF CIM_StorageExtent
Description | string | The StorageExtent that will be checked.
Required | boolean | true

#### GetAvailableSpareExtents (uint32)

#### Method Qualifiers (GetAvailableSpareExtents)

Name | Data Type | Value
--- | --- | ---
Description | string | This method can be used to retrieve a list of available Extents that may be used in sparing the passed Redundancy set. The returned Extents are available at the time the method returns. There is no guarantee that the same Extents will be available later. This method MUST return the Extents that are not being used as supporting capacity for any other Pools, Volumes, or LogicalDisks. The extents returned from this method shall be compatible with all restrictions imposed by the AssignSpares() method. The implementor and consumer of this method must be aware of what is the allowable source pools and returned extents as specified by the AssignSpares() method.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4098..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Reserved, Vendor Specific

#### Method Parameters (GetAvailableSpareExtents)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
AvailableExtents | CIM_StorageExtent[]
Description | string | List of references to available StorageExtents.
OUT | boolean | true
InPool | REF CIM_StoragePool
Description | string | The Storage pool that is the source of the extents that can be used for sparing. This may be a NULL value in which case the method shall not be restricted to return a set of extents from a particular storage pool.
RedundancySet | REF CIM_StorageRedundancySet
Description | string | A list of redundancy sets which the returned list of extents must spare.

#### CheckStorageElement (uint32)

#### Method Qualifiers (CheckStorageElement)

Name | Data Type | Value
--- | --- | ---
Description | string | The method performs a check of the StorageElement in accordance to the specified CheckType . If the Job execution fails or the job completes with error, then use concreteJob.GetError() to get the Error that indicates what caused the failure. In this case, the storage elements affected by the error shall report the appropriate, non OK, OperationalStatus.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4099..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Storage Element Check Already in Progress, Method Reserved, Vendor Specific

#### Method Parameters (CheckStorageElement)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CheckMode | uint16
Description | string | RunOneTime - Perform the check one time. Continuous - Perform the check continuously. Operation Stops when job is terminated.
ValueMap | string | 1, 2, .., 32768..65535
Values | string | Run One Time, Continuous, DMTF Reserved, Vendor Specific
CheckType | uint16
Description | string | Default - Perform any data check the storage element is capable of Parity - Check that the parity distribution across the storage element is consistent Bad Block - Check for any bad blocks across the element where data may be stored. Replication - Check that replicated data on the element is consistent.
ValueMap | string | 1, 2, 3, 4, .., 32768..65535
Values | string | Default, Parity, Bad Block, Replication, DMTF Reserved, Vendor Specific
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if the task completed).
IN | boolean | false
OUT | boolean | true
TargetElement | REF CIM_LogicalElement
Description | string | The target storage object of the operation.
Required | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
ChangeAffectedElementsAssignedSequence | uint32 | CIM_Service
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service