
The fundamental abstraction in the Block Store is a volume. A volume is a unit of block storage capacity that has been allocated by a consumer to a project. This API allows the user to create one or more volumes. The volumes are created in the same storage pool. NOTE: This is an asynchronous operation.
This call has no restrictions.
All parameters are required unless otherwise stated.
Field | Description | Type | Notes |
<volume_create> | |||
<consistency_group> | This parameter will allow for the creation of a source consistency group. Once the source consistency group is established, the snapshot operations for any volume in the group would apply to all volumes in the group. Valid value: currently not supported for VMAX volumes | URI | |
<count> | Number of volumes to be created. | Integer | |
<name> | Name with which the volume is to be created. Valid value: minimum 2 characters and maximum 128 characters | String |
Valid Values:
|
<project> | The ViPR project to which the volume will belong. | URI | |
<size> | Size of the volume (in GB) to be created. | String | |
<varray> | The virtual array to which the volume will belong. | URI | |
<vpool> | The virtual pool to which the volume will belong. | URI | |
<computeResource> | The host to which the volume is exported | URI | |
</volume_create> |
A reference to a BlockTaskList containing a list of TaskResourceRep references specifying the task data for the volume creation tasks.
This is an asychronous operation that returns a task object. For information on working with tasks, see Asynchronous Operations.
Field | Description | Type | Notes |
<tasks> | |||
<task> |
0-* Elements |
||
<op_id> | The task operation id | String | |
<resource> | |||
<name> | The name of the resource | String | |
<id> | ViPR ID of the related object | URI | |
<link> | A hyperlink to the related object | ||
</resource> | |||
<tenant> | |||
<id> | ViPR ID of the related object | URI | |
<link> | A hyperlink to the related object | ||
</tenant> | |||
<associated_resources> | A list of links for associated resources | ||
<associated_resource> |
0-* Elements |
||
<name> | The name of the resource | String | |
<id> | ViPR ID of the related object | URI | |
<link> | A hyperlink to the related object | ||
</associated_resource> | |||
</associated_resources> | |||
<state> | The state of the task Valid values: queued = task is queued pending = task is pending ready = task succeed error = task fails suspended_error = task is suspended due to an error suspended_no_error = task is suspended due to config/request | String | |
<allowed_operations> | The allowed operations of the task | String | |
<message> | The task detail message | String | |
<description> | The description of the task | String | |
<service_error> | |||
<code> | The numerical code associated with the error encountered when processing a service request | Integer | |
<description> | The description of the error | String | |
<details> | Detailed information concerning the error | String | |
</service_error> | |||
<start_time> | The date and time of when the task was started | DateTime | |
<end_time> | The date and time of when the task ended | DateTime | |
<progress> | Integer | ||
<workflow> | |||
<id> | ViPR ID of the related object | URI | |
<link> | A hyperlink to the related object | ||
</workflow> | |||
<queuedStartTime> | DateTime | ||
<queueName> | String | ||
<name> | The name assigned to this resource in ViPR. The resource name is set by a user and can be changed at any time. It is not a unique identifier. | String | |
<id> | An identifier that is generated by ViPR when the resource is created. The resource ID is guaranteed to be unique and immutable across all virtual data centers for all time. | URI | |
<link> | A hyperlink to the details for this resource | ||
<creation_time> | A timestamp that shows when this resource was created in ViPR | DateTime | |
<tags> | Keywords and labels that can be added by a user to a resource to make it easy to find when doing a search. | ||
<tag> | String |
0-* Elements |
|
</tags> | |||
<inactive> | Whether or not the resource is inactive. When a user removes a resource, the resource is put in this state before it is removed from the ViPR database. | Boolean | |
<global> | Boolean | ||
<remote> | Boolean | ||
<vdc> | |||
<id> | ViPR ID of the related object | URI | |
<link> | A hyperlink to the related object | ||
</vdc> | |||
<internal> | Whether or not the resource is an internal resource. | Boolean | |
</task> | |||
</tasks> |
POST https://192.168.0.0:4443/block/volumes HTTP/1.1 Content-Type: application/xml X-SDS-AUTH-TOKEN: <AUTH_TOKEN> <volume_create> <name>volume1234</name> <size>1GB</size> <count>1</count> <project>urn:storageos:Project:7a6b150e-d224-492a-939b-57ca4d91d15a:</project> <varray>urn:storageos:VirtualArray:ae316135-5742-4f40-b4b0-8d38d9604917:</varray> <vpool>urn:storageos:VirtualPool:9cdc6936-4636-4909-a85f-3fd4c2e87e41:</vpool> </volume_create>
HTTP/1.1 200 OK Content-Type: application/xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <tasks> <task> <op_id>52c81901-3cc0-4428-a3ec-2e69dbdbf36f</op_id> <resource> <id>urn:storageos:Volume:50c25b8b-589f-4896-ad14-b27b4de9b0e5:</id> <link href="/block/volumes/urn:storageos:Volume:50c25b8b-589f-4896-ad14-b27b4de9b0e5:" rel="self"/> <name>volume1234</name> </resource> <link href="/block/volumes/urn:storageos:Volume:50c25b8b-589f-4896-ad14-b27b4de9b0e5:/tasks/52c81901-3cc0-4428-a3ec-2e69dbdbf36f" rel="self"/> <start_time>1380041965765</start_time> <state>pending</state> </task> </tasks> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><error><code>1021</code><description>Unable to find a suitable placement to handle the request</description><details>No matching storage pool found using virtual pool urn:storageos:VirtualPool:bf7104ec-3db2-4dcb-9e0d-7232a4460aea: and virtual array urn:storageos:VirtualArray:ae316135-5742-4f40-b4b0-8d38d9604917: as virtual pool contains 1) Pools are over subscribed. 2) Pools are over utilized. 3) No free space. 4) Reached Pool/System maximum resources limit.</details><retryable>false</retryable></error>