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).
CIM_StorageConfigurationService - child subclasses in ROOT\CIMV2\storage\iscsitarget
{'Description':'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':True}
{'Description':'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':True}
CopyType
uint16
3
✓
-
{'Description':'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':True,'ValueMap':['2', '3', '4', '5', '6..4095', '0x1000..0xFFFF'],'Values':['Async', 'Sync', 'UnSyncAssoc', 'UnSyncUnAssoc', 'DMTF Reserved', 'Vendor Specific']}
Goal
string
4
✓
-
{'Description':'The StorageSetting properties to be created or modified for the target element.','EmbeddedInstance':'CIM_SettingData'}
{'Description':'The NetworkPipe element that scopes the remote mirror pair. If the value is null, remote mirrors do not require a pre-established connection.'}
Description
'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.'
{'Description':'Reference to the target storage element (i.e., the replica).'}
CopyType
uint16
3
✓
-
{'Description':'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':['2', '3', '4', '5', '..', '0x8000..0xFFFF'],'Values':['Async', 'Sync', 'UnSyncAssoc', 'UnSyncUnAssoc', 'DMTF Reserved', 'Vendor Specific']}
Description
'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.'
{'Description':'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
1
✓
-
{'Description':'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':True,'ValueMap':['0', '1', '2', '3', '4', '5', '..', '32768..65535'],'Values':['Unknown', 'Reserved', 'Storage Volume', 'Storage Extent', 'Storage Pool', 'Logical Disk', 'DMTF Reserved', 'Vendor Specific']}
{'Description':'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.'}
Size
uint64
4
-
✓
{'Description':'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.','Punit':'byte','Units':'Bytes'}
{'Description':'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.'}
Description
'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.'
{'Description':'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
1
✓
-
{'Description':'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.','ValueMap':['0', '1', '2', '3', '4', '..', '32768..65535'],'Values':['Unknown', 'Reserved', 'StorageVolume', 'StorageExtent', 'LogicalDisk', 'DMTF Reserved', 'Vendor Specific']}
{'Description':'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.'}
Size
uint64
4
-
✓
{'Description':'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.','Punit':'byte','Units':'Bytes'}
{'Description':'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).'}
{'Description':'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.'}
Description
'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.'
{'Description':'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':True}
{'Description':'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':True}
{'Description':'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.'}
{'Description':'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.'}
Goal
string
5
✓
-
{'Description':'The setting properties to be maintained for the peer-to-peer connection.','EmbeddedInstance':'CIM_SettingData'}
{'Description':'Reference to the created or modified NetworkPipe.'}
Description
'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.'
{'Description':'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.'}
{'Description':'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.'}
Size
uint64
3
-
✓
{'Description':'As an input parameter this specifies the desired pool size in bytes. As an output parameter this specifies the size achieved.','Punit':'byte','Units':'Bytes'}
InPools
string
4
✓
-
{'Description':'Array of strings containing representations of references to CIM_StoragePool instances, that are used to create the Pool or modify the source pools.'}
InExtents
string
5
✓
-
{'Description':'Array of strings containing representations of references to CIM_StorageExtent instances, that are used to create the Pool or modify the source extents.'}
{'Description':'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.'}
Description
'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.'
{'Description':'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.'}
{'Description':'The underlying storage for the target element (the replica) will be drawn from TargetPool if specified, otherwise the allocation is implementation specific.'}
CopyType
uint16
6
✓
-
{'Description':'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':['2', '3', '4', '5', '..', '32768..65535'],'Values':['Async', 'Sync', 'UnSyncAssoc', 'UnSyncUnAssoc', 'DMTF Reserved', 'Vendor Specific']}
Description
'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.'
{'Description':'Reference to the created replica buffer element.'}
Description
'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.'
{'Description':'Reference to the pool to delete.'}
Description
'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.'
{'Description':'Enumeration indicating the type of elements to get.','ValueMap':['0', '2', '3', '4', '5', '..', '32768..65535'],'Values':['Unknown', 'StorageVolume', 'StorageExtent', 'StoragePool', 'Logical Disk', 'DMTF Reserved', 'Vendor Specific']}
Usage
uint16
1
✓
-
{'Description':'The specific Usage to be retrieved.','ModelCorrespondence':['CIM_StoragePool.Usage', 'CIM_StorageExtent.Usage']}
Criteria
uint16
2
✓
-
{'Description':'Specifies whether to retrieve all elements, available elements only, or the elements that are in use.','ValueMap':['0', '2', '3', '4', '..', '32768..65535'],'Values':['Unknown', 'All', 'Available Only', 'In Use Only', 'DMTF Reserved', 'Vendor Specific']}
{'Description':'Limit the search for the elements that satisfy the criteria to this StoragePool only. If null, all appropriate StoragePools will be considered.'}
{'Description':'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':['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '..', '0x8000..0xFFFF'],'Values':['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']}
{'Description':'The referenced to the StorageSynchronized association describing the storage source/replica relationship.'}
Description
'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.'
{'Description':'Applicable requested usage/restriction -- see the appropriate Usage ValueMap.','ModelCorrespondence':['CIM_StoragePool.Usage', 'CIM_StorageExtent.Usage']}
OtherUsageDescription
string
2
✓
-
{'Description':'New description text. Applicable when the usage value includes "Other".','ModelCorrespondence':['CIM_StorageConfigurationService.RequestUsageChange.UsageValue']}
{'Description':'Reference to the element to return to the StoragePool.'}
Description
'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.'
{'Description':'Reference to the job (may be null if job completed).'}
ConnectionType
uint16
1
✓
-
{'Description':'The type of connection, constrains the scan to initiator ports of this type. Only used if the Initiators parameter is null.','ModelCorrespondence':['CIM_SCSIProtocolEndpoint.ConnectionType'],'ValueMap':['1', '2', '3', '4', '5', '6', '7', '8', '9'],'Values':['Other', 'Fibre Channel', 'Parallel SCSI', 'SSA', 'IEEE 1394', 'RDMA', 'iSCSI', 'SAS', 'ADT']}
OtherConnectionType
string
2
✓
-
{'Description':'The connection type, if the ConnectionType parameter is "Other".'}
{'Description':'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.'}
Targets
string
4
✓
-
{'Description':'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.'}
LogicalUnits
string
5
-
✓
{'Description':'A list of SCSI logical unit numbers representing logical units hosted on the targets specified in the Targets argument.'}
Description
'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.'
{'Description':'The state requested for the element. This information will be placed into the RequestedState property of the instance if the return code of the RequestStateChange method is 0 ('Completed with No Error'), 3 ('Timeout'), or 4096 (0x1000) ('Job Started'). Refer to the description of the EnabledState and RequestedState properties for the detailed explanations of the RequestedState values.','ModelCorrespondence':['CIM_EnabledLogicalElement.RequestedState'],'ValueMap':['2', '3', '4', '6', '7', '8', '9', '10', '11', '..', '32768..65535'],'Values':['Enabled', 'Disabled', 'Shut Down', 'Offline', 'Test', 'Defer', 'Quiesce', 'Reboot', 'Reset', 'DMTF Reserved', 'Vendor Reserved']}
{'Description':'Reference to the job (can be null if the task is completed).'}
TimeoutPeriod
datetime
2
✓
-
{'Description':'A timeout period that specifies the maximum amount of time that the client expects the transition to the new state to take. The interval format must be used to specify the TimeoutPeriod. A value of 0 or a null parameter indicates that the client has no time requirements for the transition. If this property does not contain 0 or null and the implementation does not support this parameter, a return code of 'Use Of Timeout Parameter Not Supported' must be returned.'}
'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).'