# Class CIM_StorageConfigurationService
extends CIM_Service

This service allows the active management of a Storage Server. It allows jobs to be started for the creation, modification and deletion of storage objects (StoragePools, StorageVolumes and LogicalDisks).

### 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_StorageConfigurationService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | This service allows the active management of a Storage Server. It allows jobs to be started for the creation, modification and deletion of storage objects (StoragePools, StorageVolumes and LogicalDisks).
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

#### CreateOrModifyStoragePool (uint32)

#### Method Qualifiers (CreateOrModifyStoragePool)

Name | Data Type | Value
--- | --- | ---
Description | string | Starts a job to create (or modify) a StoragePool. The StoragePool will be (or must be) scoped to the same System as this Service. One of the parameters for this method is Size. As an input parameter, Size specifies the desired size of the pool. As an output parameter, it specifies the size achieved. Space is taken from either or both of the specified input StoragePools and StorageExtents (InPools and InExtents). The capability requirements that the Pool must support are defined using the Goal parameter. If the requested pool size cannot be created, no action will be taken, the Return Value will be 4097/0x1001, and the output value of Size will be set to the nearest possible size. If 0 is returned, then the task completed successfully and the use of ConcreteJob was not required. If the task will take some time to complete, a ConcreteJob will be created and its reference returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098..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, Size Not Supported, Method Reserved, Vendor Specific

#### Method Parameters (CreateOrModifyStoragePool)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementName | string
Description | string | A end user relevant name for the pool being created. If NULL, then a system supplied default name can be used. The value will be stored in the 'ElementName' property for the created pool. If not NULL, this parameter will supply a new name when modifying an existing pool.
Size | uint64
Description | string | As an input parameter this specifies the desired pool size in bytes. As an output parameter this specifies the size achieved.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
InExtents | string[]
Description | string | Array of strings containing representations of references to CIM_StorageExtent instances, that are used to create the Pool or modify the source extents.
InPools | string[]
Description | string | Array of strings containing representations of references to CIM_StoragePool instances, that are used to create the Pool or modify the source pools.
Goal | REF CIM_StorageSetting
Description | string | Reference to an instance of StorageSetting that defines the desired capabilities of the StoragePool. If set to a null value, the default configuration from the source pool will be used. If not NULL, this parameter will supply a new Goal setting when modifying an existing pool.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Pool | REF CIM_StoragePool
Description | string | As an input parameter: if null, creates a new StoragePool. If not null, modifies the referenced Pool. When returned, it is a reference to the resulting StoragePool.
OUT | boolean | true

#### CreateOrModifyElementFromStoragePool (uint32)

#### Method Qualifiers (CreateOrModifyElementFromStoragePool)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to create (or modify) a specified element (for example a StorageVolume or StorageExtent) from a StoragePool. One of the parameters for this method is Size. As an input parameter, Size specifies the desired size of the element. As an output parameter, it specifies the size achieved. Space is taken from the input StoragePool. The desired settings for the element are specified by the Goal parameter. If the requested size cannot be created, no action will be taken, and the Return Value will be 4097/0x1001. Also, the output value of Size is set to the nearest possible size. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a ConcreteJob will be started to create the element. The Job's reference will be returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098..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, Size Not Supported, Method Reserved, Vendor Specific

#### Method Parameters (CreateOrModifyElementFromStoragePool)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementName | string
Description | string | A end user relevant name for the element being created. If NULL, then a system supplied default name can be used. The value will be stored in the 'ElementName' property for the created element. If not NULL, this parameter will supply a new name when modifying an existing element.
ElementType | uint16
Description | string | Enumeration indicating the type of element being created or modified. If the input parameter TheElement is specified when the operation is a 'modify', this type value must match the type of that instance. With ElementType of "2" and "3", the implementation decides the provisioning of the element.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, .., 32768..65535
Values | string | Unknown, Reserved, StorageVolume, StorageExtent, LogicalDisk, ThinlyProvisionedStorageVolume, ThinlyProvisionedLogicalDisk, FullyProvisionedStorageVolume, FullyProvisionedLogicalDisk, DMTF Reserved, Vendor Specific
Size | uint64
Description | string | As an input parameter Size specifies the desired size. If not NULL, this parameter will supply a new size when modifying an existing element. As an output parameter Size specifies the size achieved.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
Goal | REF CIM_ManagedElement
Description | string | The requirements for the element to maintain. If set to a null value, the default configuration from the source pool will be used. This parameter should be a reference to a Setting or Profile appropriate to the element being created. If not NULL, this parameter will supply a new Goal when modifying an existing element.
InPool | REF CIM_StoragePool
Description | string | The Pool from which to create the element. This parameter must be set to null if the input parameter TheElement is specified (in the case of a 'modify' operation).
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
TheElement | REF CIM_LogicalElement
Description | string | As an input parameter: if null, creates a new element. If not null, then the method modifies the specified element. As an output parameter, it is a reference to the resulting element.
OUT | boolean | true

#### DeleteStoragePool (uint32)

#### Method Qualifiers (DeleteStoragePool)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to delete a StoragePool. The freed space is returned source StoragePools (indicated by AllocatedFrom StoragePool) or back to underlying storage extents. If 0 is returned, the function completed successfully, and no ConcreteJob was required. If 4096/0x1000 is returned, a ConcreteJob will be started to delete the StoragePool. A reference to the Job is returned in the Job parameter.
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 (DeleteStoragePool)

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
Pool | REF CIM_StoragePool
Description | string | Reference to the pool to delete.

#### ReturnToStoragePool (uint32)

#### Method Qualifiers (ReturnToStoragePool)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to delete an element previously created from a StoragePool. The freed space is returned to the source StoragePool. If 0 is returned, the function completed successfully and no ConcreteJob was required. If 4096/0x1000 is returned, a ConcreteJob will be started to delete the element. A reference to the Job is returned in the Job parameter.
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 (ReturnToStoragePool)

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
TheElement | REF CIM_LogicalElement
Description | string | Reference to the element to return to the StoragePool.

#### CreateReplica (uint32)

#### Method Qualifiers (CreateReplica)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to create a new storage object which is a replica of the specified source storage object. (SourceElement). Note that using the input paramter, CopyType, this function can be used to instantiate the replica, and to create an ongoing association between the source and replica. If 0 is returned, the function completed successfully and no ConcreteJob instance is created. If 4096/0x1000 is returned, a ConcreteJob is started, a reference to which is returned in the Job output parameter.
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 (CreateReplica)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CopyType | uint16
Description | string | CopyType describes the type of copy that will be made. Values are: Async: Create and maintain an asynchronous copy of the source. Sync: Create and maintain a synchronized copy of the source. UnSyncAssoc: Create an unsynchronized copy and maintain an association to the source. UnSyncUnAssoc: Create unassociated copy of the source element.
ValueMap | string | 2, 3, 4, 5, .., 32768..65535
Values | string | Async, Sync, UnSyncAssoc, UnSyncUnAssoc, DMTF Reserved, Vendor Specific
ElementName | string
Description | string | A end user relevant name for the element being created. If NULL, then a system supplied default name can be used. The value will be stored in the 'ElementName' property for the created element.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
SourceElement | REF CIM_LogicalElement
Description | string | The source storage object which may be a StorageVolume or storage object.
Required | boolean | true
TargetElement | REF CIM_LogicalElement
Description | string | Reference to the created target storage element (i.e., the replica).
IN | boolean | false
OUT | boolean | true
TargetPool | REF CIM_StoragePool
Description | string | The underlying storage for the target element (the replica) will be drawn from TargetPool if specified, otherwise the allocation is implementation specific.
TargetSettingGoal | REF CIM_StorageSetting
Description | string | The definition for the StorageSetting to be maintained by the target storage object (the replica).

#### ModifySynchronization (uint32)

#### Method Qualifiers (ModifySynchronization)

Name | Data Type | Value
--- | --- | ---
Description | string | Modify (or start a job to modify) the synchronization association between two storage objects. If 0 is returned, the function completed successfully and no ConcreteJob instance was created. If 0x1000 is returned, a ConcreteJob was started and a reference to this Job is returned in the Job output parameter. A return value of 1 indicates the method is not supported. All other values indicate some type of error condition.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000, 0x1001..0x7FFF, 0x8000..0xFFFF
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (ModifySynchronization)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Operation | uint16
Description | string | Operation describes the type of modification to be made to the replica. Values are: Detach: 'Forget' the synchronization between two storage objects. Start to treat the objects as independent. Fracture: Suspend the synchronization between two storage objects using Sync or Async replication. The association and (typically) changes are remembered to allow a fast resynchronization. This may be used during a backup cycle to allow one of the objects to be copied while the other remains in production. Resync Replica: Re-establish the synchronization of a Sync or Async replication. This will negate the action of a previous Fracture operation. Recreate a Point In Time image for an UnSyncAssoc replication. Restore from Replica: Renew the contents of the original storage object from a replica. Prepare: Get the link ready for a Resync operation to take place. Some implementations will require this operation to be invoked to keep the Resync operation as fast as possible. May start the copy engine. Unprepare: Clear a prepared state if a Prepare is not to be followed by a Resync operation. Quiesce: Some applications require notification so that they can ready the link for an operation. For example flush any cached data or buffered changes. The copy engine is stopped for UnSyncAssoc replications. Unquiesce: Take the link from the quiesced state (without executing the intended operation. Start Copy: initiate a full background copy of the source to the UnSyncAssoc replica. Replica enters Frozen state when copy operation is completed. Stop Copy: stop the background copy previously started. Reset To Sync: Change the CopyType of the association to Sync (e.g., from the Async CopyType). Reset To Async: Change the CopyType of the association to Async (e.g., from the Sync CopyType).
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, .., 0x8000..0xFFFF
Values | string | DMTF Reserved, DMTF Reserved, Detach, Fracture, Resync Replica, Restore from Replica, Prepare, Unprepare, Quiesce, Unquiesce, Reset To Sync, Reset To Async, Start Copy, Stop Copy, 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
Synchronization | REF CIM_StorageSynchronized
Description | string | The referenced to the StorageSynchronized association describing the storage source/replica relationship.

#### AttachReplica (uint32)

#### Method Qualifiers (AttachReplica)

Name | Data Type | Value
--- | --- | ---
Description | string | Create (or start a job to create) a StorageSynchronized relationship between two existing storage objects. Note that using the input parameter, CopyType, this function can be used to to create an ongoing association between the source and replica. If 0 is returned, the function completed successfully and no ConcreteJob instance is created. If 0x1000 is returned, a ConcreteJob is started, a reference to which is returned in the Job output parameter. A return value of 1 indicates the method is not supported. All other values indicate some type of error condition.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000, 0x1001..0x7FFF, 0x8000..0xFFFF
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (AttachReplica)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CopyType | uint16
Description | string | CopyType describes the type of Synchronized relationship that will be created. Values are: Async: Create and maintain an asynchronous copy of the source. Sync: Create and maintain a synchronized copy of the source. UnSyncAssoc: Create an unsynchronized copy and maintain an association to the source. UnSyncUnAssoc: Create unassociated copy of the source element.
ValueMap | string | 2, 3, 4, 5, .., 0x8000..0xFFFF
Values | string | Async, Sync, UnSyncAssoc, UnSyncUnAssoc, 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
SourceElement | REF CIM_ManagedElement
Description | string | The source storage object which may be a StorageVolume or other storage object.
Required | boolean | true
TargetElement | REF CIM_ManagedElement
Description | string | Reference to the target storage element (i.e., the replica).

#### CreateOrModifyElementFromElements (uint32)

#### Method Qualifiers (CreateOrModifyElementFromElements)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to create (or modify) a specified storage element from specified input StorageExtents. The created or modified storage element can be a StorageExtent, StorageVolume, LogicalDisk, or StoragePool. An input list of InElements must be specified. The GetAvailableExtents method can be used to get a list of valid extents that can be used to achieve a desired goal. Validity of the extents is determined by the implementation. As an input parameter, Size specifies the desired size of the element. As an output parameter, it specifies the size achieved. Space is taken from the input InElements. The desired Settings for the element are specified by the Goal parameter. If the size of Extents passed is less than the size requested, then the capacity is drawn from the extents in the order, left to right, that the Extents were specified. The partial consumption of an Extent is represented by an Extent for the capacity used and an Extent for the capacity not used. If the Size is NULL, then a configuration using all Extents passed will be attempted. If the requested size cannot be created, no action will be taken, and the Return Value will be 4097/0x1001. Also, the output value of Size is set to the nearest possible size. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a ConcreteJob will be started to create the element. The Job's reference will be returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Size Not Supported, Method Reserved, Vendor Specific

#### Method Parameters (CreateOrModifyElementFromElements)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementName | string
Description | string | A end user relevant name for the element being created. If NULL, then a system-supplied default name can be used. The value will be stored in the 'ElementName' property for the created element. If not NULL, this parameter will supply a new name when modifying an existing element.
ElementType | uint16
Description | string | Enumeration indicating the type of element being created or modified. If the input parameter TheElement is specified when the operation is a 'modify', this type value must match the type of that instance. The actual CIM class of the created TheElement can be vendor-specific, but it must be a derived class of the appropriate CIM class -- i.e., CIM_StorageVolume, CIM_StorageExtent, CIM_LogicalDisk, or CIM_StoragePool.
Required | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, .., 32768..65535
Values | string | Unknown, Reserved, Storage Volume, Storage Extent, Storage Pool, Logical Disk, ThinlyProvisionedStorageVolume, ThinlyProvisionedLogicalDisk, DMTF Reserved, Vendor Specific
Size | uint64
Description | string | As an input parameter Size specifies the desired size. If not NULL, this parameter will supply a new size when modifying an existing element. As an output parameter Size specifies the size achieved.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
InElements | CIM_StorageExtent[]
Description | string | Array of references to storage element instances that are used to create or modify TheElement.
Required | boolean | true
Goal | REF CIM_ManagedElement
Description | string | The requirements for the element to maintain. If set to a null value, the default configuration associated with the Service will be used. This parameter should be a reference to a Setting, SettingData, or Profile appropriate to the element being created. If not NULL, this parameter will supply a new Goal when modifying an existing element.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
TheElement | REF CIM_LogicalElement
Description | string | As an input parameter: if null, creates a new element. If not null, then the method modifies the specified element. As an output parameter, it is a reference to the resulting element.
OUT | boolean | true

#### AssignStorageResourceAffinity (uint32)

#### Method Qualifiers (AssignStorageResourceAffinity)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to assign affinity of a StoragePool(s) or StorageVolume(s) to a storage processor. At the conclusion of the operation, the resource will be a member of the StorageResourceLoadGroup with the primary affinity for the specified storage processor. Support for this method is indicated by the presence of an instance of StorageServerAsymmetryCapabilites in which the property StorageResourceAffinityAssignable is 'true'. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a job will be started to assign the element. The Job's reference will be returned in the output parameter Job.
MethodConstraint | string | pre:(StorageResources.oclIsTypeOf(CIM_StoragePool)OR StorageResources.oclIsTypeOf(CIM_StorageVolume))
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Size Not Supported, Method Reserved, Vendor Specific

#### Method Parameters (AssignStorageResourceAffinity)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ResourceType | uint16
Description | string | Enumeration indicating the type of resource being assigned or modified. .
Required | boolean | true
ValueMap | string | 2, 3
Values | string | StorageVolume, StoragePool
StorageResources | CIM_LogicalElement[]
Description | string | Array of references to storage resource instances to be assigned.
Required | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
StorageProcessor | REF CIM_ComputerSystem
Description | string | Reference to the storage processor to which to assign the resource.

#### AttachOrModifyReplica (uint32)

#### Method Qualifiers (AttachOrModifyReplica)

Name | Data Type | Value
--- | --- | ---
Description | string | Create (or start a job to create) a StorageSynchronized mirror relationship between two storage elements. The target element may be a local or a remote storage element. A remote mirror pair may be scoped by a peer-to-peer connection modeled as a NetworkPipe between peers. If Job Completed with No Error (0) is returned, the function completed successfully and a ConcreteJob instance is not created. If Method Parameters Checked - Job Started (0x1000) is returned, a ConcreteJob is started, a reference to which is returned in the Job output parameter. A return value of Not Supported (1) indicates the method is not supported. All other values indicate some type of error condition.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000, 0x1001..0x7FFF, 0x8000..0xFFFF
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (AttachOrModifyReplica)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CopyType | uint16
Description | string | CopyType describes the type of Synchronized relationship that will be created. Values are: Async: Create and maintain an asynchronous copy of the source. Sync: Create and maintain a synchronized copy of the source. UnSyncAssoc: Create an unsynchronized copy and maintain an association to the source element. UnSyncUnAssoc: Create an unassociated copy of the source element. UnSyncAssoc and UnSyncUnAssoc are not supported for remote mirror replicas.
Required | boolean | true
ValueMap | string | 2, 3, 4, 5, 6..4095, 0x1000..0xFFFF
Values | string | Async, Sync, UnSyncAssoc, UnSyncUnAssoc, DMTF Reserved, Vendor Specific
Goal | string
Description | string | The StorageSetting properties to be created or modified for the target element.
EmbeddedInstance | string | CIM_SettingData
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if the task completed).
IN | boolean | false
OUT | boolean | true
ReplicationPipe | REF CIM_NetworkPipe
Description | string | The NetworkPipe element that scopes the remote mirror pair. If the value is null, remote mirrors do not require a pre-established connection.
SourceElement | REF CIM_ManagedElement
Description | string | The source storage element which may be a StorageVolume, StorageExtent, LogicalFile, FileSystem, CommonDatabase, or any other storage object. For this reason, the type is made very generic.
Required | boolean | true
TargetElement | REF CIM_ManagedElement
Description | string | Reference to the target storage element (i.e., the replica). The target storage element which may be a StorageVolume, StorageExtent, LogicalFile, FileSystem, CommonDatabase, or any other storage object. For this reason, the type is made very generic.
Required | boolean | true

#### CreateElementsFromStoragePools (uint32)

#### Method Qualifiers (CreateElementsFromStoragePools)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to create (or modify) a specified elements (for example StorageVolumes or StorageExtents) from StoragePools. One of the parameters for this method is Size. As an input parameter, Size specifies the desired size of the element. As an output parameter, it specifies the size achieved. Space is taken from the input StoragePool. The desired settings for the element are specified by the Goal parameter. If the requested size cannot be created, no action will be taken, and the Return Value will be 4097/0x1001. Also, the output value of Size is set to the nearest possible size. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a ConcreteJob will be started to create the element. The Job's reference will be returned in the output parameter Job. If the number of elements created is less than the number of elements requested, the return value will be 4098/0x1002.
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, Size Not Supported, Partially Completed Operation, Method Reserved, Vendor Specific

#### Method Parameters (CreateElementsFromStoragePools)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ElementCount | uint64
Description | string | Count of elements to create. If null, it defaults to one element.
ElementType | uint16
Description | string | Enumeration indicating the type of element being created. With ElementType of "2" and "3", the implementation decides the provisioning of the element.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8, .., 32768..65535
Values | string | Unknown, Reserved, StorageVolume, StorageExtent, LogicalDisk, ThinlyProvisionedStorageVolume, ThinlyProvisionedLogicalDisk, FullyProvisionedStorageVolume, FullyProvisionedLogicalDisk, DMTF Reserved, Vendor Specific
Size | uint64
Description | string | As an input parameter Size specifies the desired size for each element created. As an output parameter Size specifies the size achieved.
OUT | boolean | true
PUnit | string | byte
Units | string | Bytes
ElementNames | string[]
Description | string | One or more user relevant names for the element being created. If NULL, then system supplied default names may be used. The value will be stored in the "ElementName" property for the created element.
InPools | CIM_StoragePool[]
Description | string | The Pools from which to create the elements. If not supplied, system locates the appropriate pools.
TheElements | CIM_LogicalElement[]
Description | string | Reference to the resulting elements.
OUT | boolean | true
Goal | REF CIM_SettingData
Description | string | The requirements for the element to maintain. If set to a null value, the default configuration from the source pool will be used. This parameter should be a reference to a Setting or Profile appropriate to the element being created.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true

#### CreateOrModifyReplicationPipe (uint32)

#### Method Qualifiers (CreateOrModifyReplicationPipe)

Name | Data Type | Value
--- | --- | ---
Description | string | This method establishes a peer-to-peer connection identified by a NetworkPipe element and two ProtocolEndpoint elements created by the method provider. The NetworkPipe is associated to a special peer-to-peer Network element. The provider will verify that two systems are capable of a peer relationship. If endpoints are assigned to the pipe, the same number of source and target endpoints must be supplied by the client to form a set of endpoint pairs. If ReplicationPipe is not supplied as an input parameter, a new pipe is created. If a pipe is supplied, a new set of endpoints is assigned to the existing pipe. If Success (0) is returned, the function completed successfully. A return value of Not Supported (1) indicates the method is not supported. A return value of Busy (0x1000) indicates the method is not supported. All other values indicate some type of error condition.
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 0x1000, 0x1001..0x7FFF, 0x8000..0xFFFF
Values | string | Success, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, DMTF Reserved, Busy, Method Reserved, Vendor Specific

#### Method Parameters (CreateOrModifyReplicationPipe)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Goal | string
Description | string | The setting properties to be maintained for the peer-to-peer connection.
EmbeddedInstance | string | CIM_SettingData
PipeElementName | string
Description | string | A user-friendly name for the element created.
SourceEndpoint | CIM_ProtocolEndpoint[]
Description | string | References to source system endpoints/ports assigned to the pipe. If a new pipe is created, this is the initial set of endpoints assigned. If an existing pipe is modified, this set replaces the previous set. The list must be null if a provider does not allow the client to manage port assignment.
TargetEndpoint | CIM_ProtocolEndpoint[]
Description | string | References to target system endpoints/ports assigned to the pipe. If a new pipe is created, this is the initial set of endpoints assigned. If an existing pipe is modified, this set replaces the previous set. The list must be null if a provider does not allow the client to manage port assignment.
ReplicationPipe | REF CIM_NetworkPipe
Description | string | Reference to the created or modified NetworkPipe.
OUT | boolean | true
SourceSystem | REF CIM_ComputerSystem
Description | string | One of the two peer systems participating in the established peer-to-peer connection. If the provider supports uni-directional connections, this must identify the system hosting replica source elements.
Required | boolean | true
TargetSystem | REF CIM_ComputerSystem
Description | string | One of the two peer systems participating in the established peer-to-peer connection. If the provider supports uni-directional connections, this must identify the system hosting replica target elements.
Required | boolean | true

#### CreateReplicationBuffer (uint32)

#### Method Qualifiers (CreateReplicationBuffer)

Name | Data Type | Value
--- | --- | ---
Description | string | Create (or start a job to create) a replication buffer that buffers asynchronous write operations for remote mirror pairs. The buffer is an instance of CIM_Memory with an AssociatedMemory association to a hosting system or to a replication network pipe. The buffer element may be created based on a StorageExtent, in a pool or in a manner opaque to a client. If 0 is returned, the function completed successfully and no ConcreteJob instance is created. If 0x1000 is returned, a ConcreteJob is started, a reference to which is returned in the Job output parameter. A return value of 1 indicates the method is not supported. All other values indicate some type of error condition. If Job Completed with No Error (0) is returned, the function completed successfully and a ConcreteJob instance is not created. If Method Parameters Checked - Job Started (0x1000) is returned, a ConcreteJob is started, a reference to which is returned in the Job output parameter. A return value of Not Supported (1) indicates the method is not supported. All other values indicate some type of error condition.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 0x1000, 0x1001..0x7FFF, 0x8000..0xFFFF
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, In Use, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (CreateReplicationBuffer)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Host | REF CIM_ManagedElement
Description | string | The hosting system or replication pipe that will be antecedent to the created buffer.
Required | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if the task completed).
IN | boolean | false
OUT | boolean | true
ReplicaBuffer | REF CIM_Memory
Description | string | Reference to the created replica buffer element.
OUT | boolean | true
TargetElement | REF CIM_StorageExtent
Description | string | Reference to a component extent for the buffer element.
TargetPool | REF CIM_StoragePool
Description | string | Reference to a container pool for the buffer element.

#### GetAvailableTargetElements (uint32)

#### Method Qualifiers (GetAvailableTargetElements)

Name | Data Type | Value
--- | --- | ---
Description | string | Given a source volume and a set of storage pools, this method will return a list of candidate target volumes. Since the rules for determining potential target volumes for a copy operation are not always straightforward, due to certain conditions, such as RAID level, the number of extents which consist of the StorageVolume, the type of storage array, and so on, it can be difficult for the client to know which volumes can be used as copy targets for a given source volume. This makes it difficult for the user to create a copy pair with the AttachOrModifyReplica because he must know which volumes can be used for target volume for a particular source volume, otherwise the request may fail.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096..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 (GetAvailableTargetElements)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
CopyType | uint16
Description | string | Copy type: 2: Async 3: Sync 4: UnSyncAssoc 5: UnSyncUnAssoc 6: Migrate
Required | boolean | true
Candidates | CIM_LogicalElement[]
Description | string | The list of the target volumes as the candidates.
OUT | boolean | true
TargetPool | CIM_StoragePool[]
Description | string | The arrays of the pools to search for target volumes. The method finds candidate target volumes from the available volumes in the specified TargetPools. This does include volumes with a Usage property value of reserved for copy target. If null, the method finds volumes from all of the pools.
SourceElement | REF CIM_LogicalElement
Description | string | The original source volume for the pair.
Required | boolean | true

#### GetElementsBasedOnUsage (uint32)

#### Method Qualifiers (GetElementsBasedOnUsage)

Name | Data Type | Value
--- | --- | ---
Description | string | Allows retrieving elements that meet the specified Usage. The criteria can be "available only", "in use only", or both.
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Vendor Specific

#### Method Parameters (GetElementsBasedOnUsage)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Criteria | uint16
Description | string | Specifies whether to retrieve all elements, available elements only, or the elements that are in use.
ValueMap | string | 0, 2, 3, 4, .., 32768..65535
Values | string | Unknown, All, Available Only, In Use Only, DMTF Reserved, Vendor Specific
ElementType | uint16
Description | string | Enumeration indicating the type of elements to get.
ValueMap | string | 0, 2, 3, 4, 5, .., 32768..65535
Values | string | Unknown, StorageVolume, StorageExtent, StoragePool, Logical Disk, DMTF Reserved, Vendor Specific
Usage | uint16
Description | string | The specific Usage to be retrieved.
ModelCorrespondence | string | CIM_StoragePool.Usage, CIM_StorageExtent.Usage
TheElements | CIM_ManagedSystemElement[]
Description | string | Array of references to storage element instances retrieved.
OUT | boolean | true
ThePool | REF CIM_StoragePool
Description | string | Limit the search for the elements that satisfy the criteria to this StoragePool only. If null, all appropriate StoragePools will be considered.

#### RequestUsageChange (uint32)

#### Method Qualifiers (RequestUsageChange)

Name | Data Type | Value
--- | --- | ---
Description | string | Allows a client to request the Usage to be set if the client has access to the element supplied and the request is valid.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097..32767, 32768..65535
Values | string | Completed with No Error, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Not Authorized, DMTF Reserved, Method Parameters Checked - Job Started, Method Reserved, Vendor Specific

#### Method Parameters (RequestUsageChange)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Operation | uint16
Description | string | The action to perform.
ValueMap | string | 2, 3, .., 32768..65535
Values | string | Set, Modify "Other" description only, DMTF Reserved, Vendor Specific
OtherUsageDescription | string
Description | string | New description text. Applicable when the usage value includes "Other".
UsageValue | uint16
Description | string | Applicable requested usage/restriction -- see the appropriate Usage ValueMap.
ModelCorrespondence | string | CIM_StoragePool.Usage, CIM_StorageExtent.Usage
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
OUT | boolean | true
TheElement | REF CIM_LogicalElement
Description | string | The storage element to modify.

#### ReturnElementsToStoragePool (uint32)

#### Method Qualifiers (ReturnElementsToStoragePool)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to delete elements previously created from StoragePools. The freed space is returned to the source StoragePool. If 0 is returned, the function completed successfully and no ConcreteJob was required. If 4096/0x1000 is returned, a ConcreteJob will be started to delete the element. A reference to the Job is returned in the Job parameter.
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 (ReturnElementsToStoragePool)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
Options | uint16
Description | string | Additional options. Continue on nonexistent element: if the method encounters a non-existent element in the list of elements supplied, the method continues to delete the remaining elements. Return error on nonexistent element: if the method encounters a non-existent element in the list of elements supplied, the method returns an error.
ValueMap | string | 2, 3, .., 32768..65535
Values | string | Continue on nonexistent element, Return error on nonexistent element, DMTF Reserved, Vendor Specific
TheElements | CIM_LogicalElement[]
Description | string | References to the elements to return to the StoragePool.
Required | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true

#### ScsiScan (uint32)

#### Method Qualifiers (ScsiScan)

Name | Data Type | Value
--- | --- | ---
Description | string | This method requests that the system rescan SCSI devices for changes in their configuration. If called on a general-purpose host, the changes are reflected in the list of devices available to applications (for example, the UNIX 'device tree'. This method may also be used on a storage appliance to force rescanning of attached SCSI devices. This operation can be disruptive; optional parameters allow the caller to limit the scan to a single or set of SCSI device elements. All parameters are optional; if parameters other Job are passed in as null, a full scan is invoked.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6..4095, 4096, 4097, 4098, 4099, 4100, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Invalid connection type, Invalid Initiator, No matching target found, No matching LUs found, Prohibited by name binding configuration, DMTF Reserved, Vendor Specific

#### Method Parameters (ScsiScan)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
ConnectionType | uint16
Description | string | The type of connection, constrains the scan to initiator ports of this type. Only used if the Initiators parameter is null.
ModelCorrespondence | string | CIM_SCSIProtocolEndpoint.ConnectionType
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8, 9
Values | string | Other, Fibre Channel, Parallel SCSI, SSA, IEEE 1394, RDMA, iSCSI, SAS, ADT
OtherConnectionType | string
Description | string | The connection type, if the ConnectionType parameter is "Other".
LogicalUnits | string[]
Description | string | A list of SCSI logical unit numbers representing logical units hosted on the targets specified in the Targets argument.
Targets | string[]
Description | string | A list of names or numbers for targets. These should be formatted to match the appropriate connection type, For example, PortWWNs would be specified for Fibre Channel targets.
Initiators | CIM_SCSIProtocolEndpoint[]
Description | string | A list of references to initiators. Scanning will be limited to SCSI targets attached to these initiators. If this parameter is null and connection is specified, all initiators of that connection type are scanned. If this parameter and ConnectionType are null, all targets on all system initiators are probed.
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
OUT | 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