CIM_StorageConfigurationService class

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).

The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties.

Syntax

[Abstract, Version("2.13.0"), UMLPackagePath("CIM::Device::StorageServices")]
class CIM_StorageConfigurationService : CIM_Service
{
  string   Caption;
  string   Description;
  string   ElementName;
  datetime InstallDate;
  uint16   OperationalStatus[];
  string   StatusDescriptions[];
  string   Status;
  uint16   HealthState;
  uint16   EnabledState = 5;
  string   OtherEnabledState;
  uint16   RequestedState = 12;
  uint16   EnabledDefault = 2;
  datetime TimeOfLastStateChange;
  string   SystemCreationClassName;
  string   SystemName;
  string   CreationClassName;
  string   Name;
  string   PrimaryOwnerName;
  string   PrimaryOwnerContact;
  string   StartMode;
  boolean  Started;
};

Members

The CIM_StorageConfigurationService class has these types of members:

Methods

The CIM_StorageConfigurationService class has these methods.

Method Description
AttachOrModifyReplica 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.
AttachReplica 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.
CreateOrModifyElementFromElements 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.
CreateOrModifyElementFromStoragePool 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.
CreateOrModifyReplicationPipe 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.
CreateOrModifyStoragePool 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.
CreateReplica 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.
CreateReplicationBuffer 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.
DeleteStoragePool 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.
GetElementsBasedOnUsage Allows retrieving elements that meet the specified Usage. The criteria can be "available only", "in use only", or both.
ModifySynchronization 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.
RequestStateChange Requests that the state of the element be changed to the value specified in the RequestedState parameter. When the requested state change takes place, the EnabledState and RequestedState of the element will be the same. Invoking the RequestStateChange method multiple times could result in earlier requests being overwritten or lost. If 0 is returned, then the task completed successfully and the use of ConcreteJob was not required. If 4096 (0x1000) is returned, then the task will take some time to complete, ConcreteJob will be created, and its reference returned in the output parameter Job. Any other return code indicates an error condition.
This method is inherited from CIM_EnabledLogicalElement.
RequestUsageChange Allows a client to request the Usage to be set if the client has access to the element supplied and the request is valid.
ReturnToStoragePool 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.
ScsiScan 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.
StartService The StartService method places the Service in the started state. Note that the function of this method overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (such as a persisted value) of the last state request. Invoking the StartService method should set the RequestedState property appropriately. The method returns an integer value of 0 if the Service was successfully started, 1 if the request is not supported, and any other number to indicate an error. In a subclass, the set of possible return codes could be specified using a ValueMap qualifier on the method. The strings to which the ValueMap contents are translated can also be specified in the subclass as a Values array qualifier. Note: The semantics of this method overlap with the RequestStateChange method that is inherited from EnabledLogicalElement. This method is maintained because it has been widely implemented, and its simple "start" semantics are convenient to use.
This method is inherited from CIM_Service.
StopService The StopService method places the Service in the stopped state. Note that the function of this method overlaps with the RequestedState property. RequestedState was added to the model to maintain a record (such as a persisted value) of the last state request. Invoking the StopService method should set the RequestedState property appropriately. The method returns an integer value of 0 if the Service was successfully stopped, 1 if the request is not supported, and any other number to indicate an error. In a subclass, the set of possible return codes could be specified using a ValueMap qualifier on the method. The strings to which the ValueMap contents are translated can also be specified in the subclass as a Values array qualifier. Note: The semantics of this method overlap with the RequestStateChange method that is inherited from EnabledLogicalElement. This method is maintained because it has been widely implemented, and its simple "stop" semantics are convenient to use.
This method is inherited from CIM_Service.

Properties

The CIM_StorageConfigurationService class has these properties.

Caption

Data type: string

Access type: Read-only

Qualifiers: MaxLen (64)

The Caption property is a short textual description (one- line string) of the object.

This property is inherited from CIM_ManagedElement.

CreationClassName

Data type: string

Access type: Read-only

Qualifiers: Key, MaxLen (256)

CreationClassName indicates the name of the class or the subclass that is used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.

This property is inherited from CIM_Service.

Description

Data type: string

Access type: Read-only

Contains a textual description of the object.

This property is inherited from CIM_ManagedElement.

ElementName

Data type: string

Access type: Read-only

Contains a user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information.

This property is inherited from CIM_ManagedElement.

EnabledDefault

Data type: uint16

Access type: Read/write

An enumerated value indicating an administrator's default or startup configuration for the Enabled State of an element. By default, the element is "Enabled" (value=2).

This property is inherited from CIM_EnabledLogicalElement.

Enabled (2)

Disabled (3)

Not Applicable (5)

Enabled but Offline (6)

No Default (7)

Quiesce (9)

DMTF Reserved

10 32767

Vendor Reserved

32768 65535

EnabledState

Data type: uint16

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.OtherEnabledState")

EnabledState is an integer enumeration that indicates the enabled and disabled states of an element. It can also indicate the transitions between these requested states. For example, shutting down (value=4) and starting (value=10) are transient states between enabled and disabled. The following text briefly summarizes the various enabled and disabled states: Enabled (2) indicates that the element is or could be executing commands, will process any queued commands, and queues new requests. Disabled (3) indicates that the element will not execute commands and will drop any new requests. Shutting Down (4) indicates that the element is in the process of going to a Disabled state. Not Applicable (5) indicates the element does not support being enabled or disabled. Enabled but Offline (6) indicates that the element might be completing commands, and will drop any new requests. Test (7) indicates that the element is in a test state. Deferred (8) indicates that the element might be completing commands, but will queue any new requests. Quiesce (9) indicates that the element is enabled but in a restricted mode. Starting (10) indicates that the element is in the process of going to an Enabled state. New requests are queued.

This property is inherited from CIM_EnabledLogicalElement.

Unknown (0)

Other (1)

Enabled (2)

Disabled (3)

Shutting Down (4)

Not Applicable (5)

Enabled but Offline (6)

In Test (7)

Deferred (8)

Quiesce (9)

Starting (10)

DMTF Reserved

11 32767

Vendor Reserved

32768 65535

HealthState

Data type: uint16

Access type: Read-only

Indicates the current health of the element. This attribute expresses the health of this element but not necessarily that of its sub-components.

This property is inherited from CIM_ManagedSystemElement.

The following values have been defined:

Unknown (0)

The implementation cannot report on HealthState at this time.

OK (5)

The element is fully functional and is operating within normal operational parameters and without error.

Degraded/Warning (10)

The element is in working order and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors

Minor failure (15)

All functionality is available but some might be degraded.

Major failure (20)

The element is failing. It is possible that some or all of the functionality of this component is degraded or not working.

Critical failure (25)

The element is non-functional and recovery might not be possible.

Non-recoverable error (30)

The element has completely failed, and recovery is not possible. All functionality provided by this element has been lost.

DMTF Reserved

DMTF has reserved the unused portion of the continuum for additional HealthStates in the future.

InstallDate

Data type: datetime

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5")

Indicates when the object was installed. The lack of a value does not indicate that the object is not installed.

This property is inherited from CIM_ManagedSystemElement.

Name

Data type: string

Access type: Read-only

Qualifiers: Key, MaxLen (256)

The Name property uniquely identifies the Service and provides an indication of the functionality that is managed. This functionality is described in more detail in the Description property of the object.

This property is inherited from CIM_Service.

OperationalStatus

Data type: uint16 array

Access type: Read-only

Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_ManagedSystemElement.StatusDescriptions")

Contains indicators of the current status of the element. The first value of OperationalStatus should contain the primary status for the element.

Note

OperationalStatus replaces the deprecated Status property. Due to the widespread use of the existing Status property in management applications, Microsoft strongly recommends that providers or instrumentation provide both the Status and OperationalStatus properties. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.

This property is inherited from CIM_ManagedSystemElement.

The following values have been defined:

Unknown (0)

Indicates the implementation cannot report on OperationalStatus at this time.

Other (1)

Indicates an undefined state.

OK (2)

Indicates full functionality without errors.

Degraded (3)

Indicates the element is working and all functionality is provided. However, the element is not working to the best of its abilities. For example, the element might not be operating at optimal performance or it might be reporting recoverable errors

Stressed (4)

Indicates that the element is functioning, but needs attention. Overload and overheated are examples of Stressed states.

Predictive Failure (5)

Indicates that an element is functioning nominally but predicting a failure in the near future.

Error (6)

Indicates that an error has occurred.

Non-Recoverable Error (7)

A non-recoverable error has occurred.

Starting (8)

The job is starting.

Stopping (9)

The job is stopping.

Stopped (10)

The element has been intentionally stopped.

In Service (11)

Indicates the element is being configured, maintained, cleaned, or otherwise administered.

No Contact (12)

Indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.

Lost Communication (13)

Indicates that the job is known to exist and has been contacted successfully in the past, but is currently unreachable.

Aborted (14)

Indicates the job stopped in an unexpected way. The state and configuration of the job might need to be updated.

Dormant (15)

Indicates that the job is inactive.

Supporting Entity in Error (16)

Indicates that an element on which this job depends is in error. This element may be OK but is unable to function because of the state of a dependent element. An example is a network service or endpoint that cannot function due to lower-layer networking problems.

Completed (17)

Indicates that the job has completed its operation. This value should be combined with either OK, ErrorError, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error).

Power Mode (18)

"Power Mode" indicates that the element has additional power model information contained in the associated PowerManagementService association.

DMTF Reserved

DMTF has reserved this portion of the range for additional OperationalStatus values in the future.

Vendor Reserved

Microsoft has reserved the unused portion of the range for additional OperationalStatus values in the future.

OtherEnabledState

Data type: string

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.EnabledState")

A string that describes the enabled or disabled state of the element when the EnabledState property is set to 1 ("Other"). This property must be set to null when EnabledState is any value other than 1.

This property is inherited from CIM_EnabledLogicalElement.

PrimaryOwnerContact

Data type: string

Access type: Read/write

Qualifiers: MaxLen (256), MappingStrings ("MIF.DMTF|General Information|001.4")

A string that provides information on how the primary owner of the Service can be reached (for example, phone number, e-mail address, and so on).

This property is inherited from CIM_Service.

PrimaryOwnerName

Data type: string

Access type: Read/write

Qualifiers: MaxLen (64), MappingStrings ("MIF.DMTF|General Information|001.3")

The name of the primary owner for the service, if one is defined. The primary owner is the initial support contact for the Service.

This property is inherited from CIM_Service.

RequestedState

Data type: uint16

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_EnabledLogicalElement.EnabledState")

RequestedState is an integer enumeration that indicates the last requested or desired state for the element. The actual state of the element is represented by EnabledState. This property is provided to compare the last requested and current enabled or disabled states. Note that when EnabledState is set to 5 ("Not Applicable"), then this property has no meaning. By default, the RequestedState of the element is 5 ("No Change"). Refer to the EnabledState property description for explanations of the values in the RequestedState enumeration. Offline (6) indicates that the element has been requested to transition to the Enabled but Offline EnabledState. It should be noted that there are two new values in RequestedState that build on the statuses of EnabledState. These are "Reboot" (10) and "Reset" (11). Reboot refers to doing a "Shut Down" and then moving to an "Enabled" state. Reset indicates that the element is first "Disabled" and then "Enabled". The distinction between requesting "Shut Down" and "Disabled" should also be noted. Shut Down requests an orderly transition to the Disabled state, and might involve removing power, to completely erase any existing state. The Disabled state requests an immediate disabling of the element, such that it will not execute or accept any commands or processing requests. This property is set as the result of a method invocation (such as Start or StopService on CIM_Service), or can be overridden and defined as WRITEable in a subclass. The method approach is considered superior to a WRITEable property, because it allows an explicit invocation of the operation and the return of a result code. A particular instance of EnabledLogicalElement might not support RequestedStateChange. If this occurs, the value 12 ("Not Applicable") is used.

This property is inherited from CIM_EnabledLogicalElement.

Enabled (2)

Disabled (3)

Shut Down (4)

No Change (5)

Offline (6)

Test (7)

Deferred (8)

Quiesce (9)

Reboot (10)

Reset (11)

Not Applicable (12)

DMTF Reserved

13 32767

Vendor Reserved

32768 65535

Started

Data type: boolean

Access type: Read-only

Started is a Boolean that indicates whether the Service has been started (TRUE), or stopped (FALSE).

This property is inherited from CIM_Service.

StartMode

Data type: string

Access type: Read-only

Qualifiers: Deprecated ("CIM_Service.EnabledDefault"), MaxLen (10)

Note: The use of this element is deprecated in lieu of the EnabledDefault property that is inherited from EnabledLogicalElement. The EnabledLogicalElement addresses the same semantics. The change to a uint16 data type was discussed when CIM V2.0 was defined. However, existing V1.0 implementations used the string property. To remain compatible with those implementations, StartMode was grandfathered into the schema. Use of the deprecated qualifier allows the maintenance of the existing property but also permits an improved, clarified definition using EnabledDefault. Deprecated description: StartMode is a string value that indicates whether the Service is automatically started by a System, an Operating System, and so on, or is started only upon request.

This property is inherited from CIM_Service.

("Automatic")

("Manual")

Status

Data type: string

Access type: Read-only

Qualifiers: Deprecated ("CIM_ManagedSystemElement.OperationalStatus"), MaxLen (10)

Contains a string indicating the primary status of the object.

Note

This property is deprecated and replaced by the OperationalStatus property. If you choose to use the Status property for backward compatibility it should be secondary to the OperationalStatus property.

This property is inherited from CIM_ManagedSystemElement.

("OK")

("Error")

("Degraded")

("Unknown")

("Pred Fail")

("Starting")

("Stopping")

("Service")

("Stressed")

("NonRecover")

("No Contact")

("Lost Comm")

("Stopped")

StatusDescriptions

Data type: string array

Access type: Read-only

Qualifiers: ArrayType ("Indexed"), ModelCorrespondence ("CIM_ManagedSystemElement.OperationalStatus")

Contains strings describing the corresponding values in the OperationalStatus array. For example, if an element in OperationalStatus contains the value Stopping, then the element at the same array index in this property may contain an explanation as to why an object is being stopped.

This property is inherited from CIM_ManagedSystemElement.

SystemCreationClassName

Data type: string

Access type: Read-only

Qualifiers: Key, Propagated ("CIM_System.CreationClassName"), MaxLen (256)

The CreationClassName of the scoping System.

This property is inherited from CIM_Service.

SystemName

Data type: string

Access type: Read-only

Qualifiers: Key, Propagated ("CIM_System.Name"), MaxLen (256)

The Name of the scoping System.

This property is inherited from CIM_Service.

TimeOfLastStateChange

Data type: datetime

Access type: Read-only

The date or time when the EnabledState of the element last changed. If the state of the element has not changed and this property is populated, then it must be set to a 0 interval value. If a state change was requested, but rejected or not yet processed, the property must not be updated.

This property is inherited from CIM_EnabledLogicalElement.

Requirements

Minimum supported client
None supported
Minimum supported server
Windows Server 2012 R2
Namespace
Root\CIMv2\Storage\iScsiTarget
MOF
SmIscsiTarget.mof
DLL
SMiSCSITargetProv.dll

See also

CIM_Service