Create Volume

POST /block/volumes

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

URI

Valid Values:

example: Currently not supported for VMAX volumes.

<count>

Number of volumes to be created.

Integer

<name>

Name with which the volume is to be created.

String

Valid Values:

minimum of 2 characters

maximum of 128 characters

Length: 2..128

<project>

The ViPR project to which the volume will belong.

URI

Valid Values:

example: a valid URI of a ViPR project

<size>

Size of the volume (in GB) to be created.

String

<varray>

The virtual array to which the volume will belong.

URI

Valid Values:

example: a valid URI of a varray

<vpool>

The virtual pool to which the volume will belong.

URI

Valid Values:

example: a valid URI of a vpool

</volume_create>

Response Body

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

String

Valid Values:

pending = task is pending

ready = task succeed

error = task fails

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

<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

Valid Values:

urn:storageos:resource-type:UUID:

<link>

A hyperlink to the details for this resource

<creation_time>

A timestamp that shows when this resource was created in ViPR

DateTime

Valid Values:

YYYY-MM-DDTHH:mm:ssZ

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