This API is used to create one or multiple EVS disks.
Parameter |
Type |
Mandatory |
Description |
---|---|---|---|
volume |
Object |
Yes |
Specifies the information of the disks to be created. For details, see Parameters in the volume field. |
Parameter |
Type |
Mandatory |
Description |
---|---|---|---|
availability_zone |
String |
Yes |
Specifies the AZ where you want to create the disk. If the AZ does not exist, the disk will fail to create. NOTE:
For details about how to obtain the AZ, see Querying All AZs. |
source_volid |
String |
No |
Specifies the source disk ID. If this parameter is specified, the disk is cloned from an existing disk. Currently, this function is not supported. |
description |
String |
No |
Specifies the disk description. The value can contain a maximum of 255 bytes. |
snapshot_id |
String |
No |
Specifies the snapshot ID. If this parameter is specified, the disk is created from a snapshot. NOTE:
For details about how to obtain the snapshot ID, see Querying Details About EVS Snapshots. |
size |
Integer |
Yes |
Specifies the disk size, in GB. Its value can be as follows:
This parameter is mandatory when you create an empty disk. You can specify the parameter value as required within the value range. This parameter is mandatory when you create the disk from a snapshot. Ensure that the disk size is greater than or equal to the snapshot size. This parameter is mandatory when you create the disk from an image. Ensure that the disk size is greater than or equal to the minimum disk capacity required by min_disk in the image attributes. |
name |
String |
No |
Specifies the disk name. The value can contain a maximum of 255 bytes. |
imageRef |
String |
No |
Specifies the image ID. If this parameter is specified, the disk is created from an image. NOTE:
BMS system disks cannot be created from BMS images. For how to obtain the image ID, see Querying Images in the Image Management Service API Reference. |
volume_type |
String |
No |
Specifies the disk type. Currently, the value can be SSD, SAS, SATA, co-p1, or uh-l1.
If the specified disk type is not available in the AZ, the disk will fail to create. NOTE:
|
metadata |
Object |
No |
Specifies the disk metadata. The length of the key or value in the metadata cannot exceed 255 bytes. For details about metadata, see Parameters in the metadata field. The table lists some fields. You can also specify other fields based on the disk creation requirements. NOTE:
Parameter values under metadata cannot be null. |
source_replica |
String |
No |
Specifies the source disk ID. If this parameter is specified, the disk is cloned from an existing disk. Currently, this function is not supported. |
consistencygroup_id |
String |
No |
Reserved field |
shareable |
String |
No |
Specifies whether the disk is shareable. The value can be true (sharable) or false (not sharable). This is an extended attribute. NOTE:
This field is no longer used. Use multiattach. |
multiattach |
Boolean |
No |
Specifies whether the disk is shareable. The default value is false.
|
Specifying either two of the source_volid, snapshot_id, and imageRef fields is not supported.
Parameter |
Type |
Mandatory |
Description |
---|---|---|---|
__system__encrypted |
String |
No |
Specifies the encryption field in metadata. The value can be 0 (not encrypted) or 1 (encrypted). If this parameter does not exist, the disk will not be encrypted by default. |
__system__cmkid |
String |
No |
Specifies the encryption CMK ID in metadata. This parameter is used together with __system__encrypted for encryption. The length of cmkid is fixed at 36 bytes. NOTE:
For details about how to obtain the CMK ID, see Querying the List of CMKs in the Key Management Service API Reference. |
hw:passthrough |
String |
No |
|
full_clone |
String |
No |
If the disk is created from a snapshot and linked cloning needs to be used, set this parameter to 0. |
The preceding table provides only some parameters in metadata for your reference. You can also specify other fields based on the disk creation requirements.
{ "volume": { "name": "openapi_vol01", "imageRef": "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", "availability_zone": "az-dc-1", "description": "create for api test", "volume_type": "SATA", "metadata": { "volume_owner": "openapi" }, "multiattach": false, "size": 40 }, }
Parameter |
Type |
Description |
---|---|---|
volume |
Object |
Specifies the information of the created disks. For details, see Parameters in the volumes field. |
error |
Object |
Specifies the error message returned when an error occurs. For details, see Parameters in the error field. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Specifies the disk ID. |
links |
list |
Specifies the disk URI. For details, see Parameters in the links field. |
name |
String |
Specifies the disk name. |
status |
String |
Specifies the disk status. For details, see EVS Disk Status. |
attachments |
list |
Specifies the disk attachment information. For details, see Parameters in the attachments field. |
availability_zone |
String |
Specifies the AZ to which the disk belongs. |
bootable |
String |
Specifies whether the disk is bootable.
|
encrypted |
Boolean |
Currently, this field is not supported by EVS. |
created_at |
String |
Specifies the time when the disk was created. Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX |
description |
String |
Specifies the disk description. |
volume_type |
String |
Specifies the disk type. Currently, the value can be SSD, SAS, SATA, co-p1, or uh-l1.
|
replication_status |
String |
Reserved field |
consistencygroup_id |
String |
Specifies the ID of the consistency group where the disk belongs. Currently, this field is not supported by EVS. |
source_volid |
String |
Specifies the source disk ID. Currently, this field is not supported by EVS. |
snapshot_id |
String |
Specifies the snapshot ID. |
metadata |
Object |
Specifies the disk metadata. For details, see Parameters in the metadata field. |
size |
Integer |
Specifies the disk size, in GB. |
user_id |
String |
Reserved field |
updated_at |
String |
Specifies the time when the disk was updated. Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX |
shareable |
Boolean |
Specifies whether the disk is shareable. NOTE:
This field is no longer used. Use multiattach. |
multiattach |
Boolean |
Specifies whether the disk is shareable.
|
Parameter |
Type |
Description |
---|---|---|
href |
String |
Specifies the corresponding shortcut link. |
rel |
String |
Specifies the shortcut link marker name. |
Parameter |
Type |
Description |
---|---|---|
server_id |
String |
Specifies the ID of the server to which the disk is attached. |
attachment_id |
String |
Specifies the ID of the attachment information. |
attached_at |
String |
Specifies the time when the disk was attached. Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX |
host_name |
String |
Specifies the name of the physical host accommodating the server to which the disk is attached. |
volume_id |
String |
Specifies the disk ID. |
device |
String |
Specifies the device name. |
id |
String |
Specifies the ID of the attached resource. |
Parameter |
Type |
Description |
---|---|---|
__system__encrypted |
String |
Specifies the parameter that describes the encryption function in metadata. The value can be 0 or 1.
|
__system__cmkid |
String |
Specifies the encryption CMK ID in metadata. This parameter is used together with __system__encrypted for encryption. The length of cmkid is fixed at 36 bytes. |
hw:passthrough |
String |
Specifies the parameter that describes the disk device type in metadata. The value can be true or false.
|
full_clone |
String |
Specifies the clone method. When the disk is created from a snapshot, the parameter value is 0, indicating the linked cloning method. |
Parameter |
Type |
Description |
---|---|---|
message |
String |
Specifies the error message returned when an error occurs. |
code |
String |
Specifies the error code returned when an error occurs. For details about the error code, see Error Codes. |
{ "volume": { "attachments": [ ], "availability_zone": "az-dc-1", "bootable": "false", "consistencygroup_id": null, "created_at": "2016-05-25T02:38:40.392463", "description": "create for api test", "encrypted": false, "id": "8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "links": [ { "href": "https://volume.localdomain.com:8776/v2/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel": "self" }, { "href": "https://volume.localdomain.com:8776/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", "rel": "bookmark" } ], "metadata": { "volume_owner": "openapi" }, "name": "openapi_vol01", "replication_status": "disabled", "multiattach": false, "size": 40, "snapshot_id": null, "source_volid": null, "status": "creating", "updated_at": null, "user_id": "39f6696ae23740708d0f358a253c2637", "volume_type": "SATA" } }
or
{ "error": { "message": "XXXX", "code": "XXX" } }
In the preceding example, error indicates a general error, for example, badRequest or itemNotFound. An example is provided as follows:
{ "badRequest": { "message": "XXXX", "code": "XXX" } }
For details, see Error Codes.