version 1.1.2.1, 2012/01/24 13:50:09
|
version 1.1.2.2, 2012/02/15 17:46:24
|
|
|
|
// Copyright (c) 2005 DMTF. All rights reserved. |
|
[Version ( "2.11.0" ), |
|
UMLPackagePath ( "CIM::Device::StorageServices" ), |
|
Description ( |
|
"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)." )] |
|
class CIM_StorageConfigurationService : CIM_Service { |
|
|
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097", "4098..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 CreateOrModifyStoragePool( |
|
[IN, 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." )] |
|
string ElementName, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, 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." )] |
|
CIM_StorageSetting REF Goal, |
|
[IN, OUT, Description ( |
|
"As an input parameter this specifies the desired " |
|
"pool size in bytes. As an output parameter this " |
|
"specifies the size achieved." ), |
|
Units ( "Bytes" )] |
|
uint64 Size, |
|
[IN, Description ( |
|
"Array of strings containing representations of " |
|
"references to CIM_StoragePool instances, that are " |
|
"used to create the Pool or modify the source " |
|
"pools." )] |
|
string InPools[], |
|
[IN, Description ( |
|
"Array of strings containing representations of " |
|
"references to CIM_StorageExtent instances, that " |
|
"are used to create the Pool or modify the source " |
|
"extents." )] |
|
string InExtents[], |
|
[IN, OUT, 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." )] |
|
CIM_StoragePool REF Pool); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097", "4098..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 CreateOrModifyElementFromStoragePool( |
|
[IN, 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." )] |
|
string ElementName, |
|
[IN, 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" }] |
|
uint16 ElementType, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, 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." )] |
|
CIM_ManagedElement REF Goal, |
|
[IN, OUT, 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." ), |
|
Units ( "Bytes" )] |
|
uint64 Size, |
|
[IN, 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)." )] |
|
CIM_StoragePool REF InPool, |
|
[IN, OUT, 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." )] |
|
CIM_LogicalElement REF TheElement); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 DeleteStoragePool( |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, Description ( "Reference to the pool to delete." )] |
|
CIM_StoragePool REF Pool); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 ReturnToStoragePool( |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, Description ( |
|
"Reference to the element to return to the StoragePool." |
|
)] |
|
CIM_LogicalElement REF TheElement); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 CreateReplica( |
|
[IN, 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." )] |
|
string ElementName, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[Required, IN, Description ( |
|
"The source storage object which may be a " |
|
"StorageVolume or storage object." )] |
|
CIM_LogicalElement REF SourceElement, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the created target storage element " |
|
"(i.e., the replica)." )] |
|
CIM_LogicalElement REF TargetElement, |
|
[IN, Description ( |
|
"The definition for the StorageSetting to be " |
|
"maintained by the target storage object (the " |
|
"replica)." )] |
|
CIM_StorageSetting REF TargetSettingGoal, |
|
[IN, Description ( |
|
"The underlying storage for the target element (the " |
|
"replica) will be drawn from TargetPool if " |
|
"specified, otherwise the allocation is " |
|
"implementation specific." )] |
|
CIM_StoragePool REF TargetPool, |
|
[IN, Description ( |
|
"CopyType describes the type of copy that will be " |
|
"made. Values are: \n" |
|
"Async: Create and maintain an asynchronous copy of " |
|
"the source. \n" |
|
"Sync: Create and maintain a synchronized copy of " |
|
"the source. \n" |
|
"UnSyncAssoc: Create an unsynchronized copy and " |
|
"maintain an association to the source. \n" |
|
"UnSyncUnAssoc: Create unassociated copy of the " |
|
"source element." ), |
|
ValueMap { "2", "3", "4", "5", "..", "32768..65535" }, |
|
Values { "Async", "Sync", "UnSyncAssoc", |
|
"UnSyncUnAssoc", "DMTF Reserved", "Vendor Specific" }] |
|
uint16 CopyType); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "0x1000", |
|
"0x1001..0x7FFF", "0x8000..0xFFFF" }, |
|
Values { "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" }] |
|
uint32 ModifySynchronization( |
|
[IN, Description ( |
|
"Operation describes the type of modification to be " |
|
"made to the replica. Values are: \n" |
|
"Detach: \'Forget\' the synchronization between two " |
|
"storage objects. Start to treat the objects as " |
|
"independent. \n" |
|
"Fracture: Suspend the synchronization between two " |
|
"storage objects using Sync or Async replication. \n" |
|
"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. \n" |
|
"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. \n" |
|
"Restore from Replica: Renew the contents of the " |
|
"original storage object from a replica. \n" |
|
"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. \n" |
|
"Unprepare: Clear a prepared state if a Prepare is " |
|
"not to be followed by a Resync operation. \n" |
|
"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. \n" |
|
"Unquiesce: Take the link from the quiesced state " |
|
"(without executing the intended operation. \n" |
|
"Start Copy: initiate a full background copy of the " |
|
"source to the UnSyncAssoc replica. Replica enters " |
|
"Frozen state when copy operation is completed. \n" |
|
"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). \n" |
|
"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" }] |
|
uint16 Operation, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if the task completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, Description ( |
|
"The referenced to the StorageSynchronized " |
|
"association describing the storage source/replica " |
|
"relationship." )] |
|
CIM_StorageSynchronized REF Synchronization); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "0x1000", |
|
"0x1001..0x7FFF", "0x8000..0xFFFF" }, |
|
Values { "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" }] |
|
uint32 AttachReplica( |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if the task completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[Required, IN, Description ( |
|
"The source storage object which may be a " |
|
"StorageVolume or other storage object." )] |
|
CIM_ManagedElement REF SourceElement, |
|
[IN, Description ( |
|
"Reference to the target storage element (i.e., the replica)." |
|
)] |
|
CIM_ManagedElement REF TargetElement, |
|
[IN, Description ( |
|
"CopyType describes the type of Synchronized " |
|
"relationship that will be created. Values are: \n" |
|
"Async: Create and maintain an asynchronous copy of " |
|
"the source. \n" |
|
"Sync: Create and maintain a synchronized copy of " |
|
"the source. \n" |
|
"UnSyncAssoc: Create an unsynchronized copy and " |
|
"maintain an association to the source. \n" |
|
"UnSyncUnAssoc: Create unassociated copy of the " |
|
"source element." ), |
|
ValueMap { "2", "3", "4", "5", "..", "0x8000..0xFFFF" }, |
|
Values { "Async", "Sync", "UnSyncAssoc", |
|
"UnSyncUnAssoc", "DMTF Reserved", "Vendor Specific" }] |
|
uint16 CopyType); |
|
|
|
[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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", |
|
"4097", "4098..32767", "32768..65535" }, |
|
Values { "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" }] |
|
uint32 CreateOrModifyElementFromElements( |
|
[IN, 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." )] |
|
string ElementName, |
|
[Required, IN, 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." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "..", |
|
"32768..65535" }, |
|
Values { "Unknown", "Reserved", "Storage Volume", |
|
"Storage Extent", "Storage Pool", "Logical Disk", |
|
"DMTF Reserved", "Vendor Specific" }] |
|
uint16 ElementType, |
|
[IN ( false ), OUT, Description ( |
|
"Reference to the job (may be null if job completed)." |
|
)] |
|
CIM_ConcreteJob REF Job, |
|
[IN, 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." )] |
|
CIM_ManagedElement REF Goal, |
|
[IN, OUT, 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." ), |
|
Units ( "Bytes" )] |
|
uint64 Size, |
|
[Required, IN, Description ( |
|
"Array of references to storage element instances " |
|
"that are used to create or modify TheElement." )] |
|
CIM_StorageExtent REF InElements[], |
|
[IN, OUT, 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." )] |
|
CIM_LogicalElement REF TheElement); |
|
|
|
}; |