Create Volume¶
Classification¶
Create
Synchronous / Asynchronous¶
Asynchronous
Request¶
HTTP Request Method¶
POST
HTTP Request Path¶
{api_endpoint}/v1.0/{tenant_id}/volumes
HTTP Request Body¶
Request Parameter¶
Parameter |
Request Type |
Type |
Description |
Required or Optional |
Note |
|
---|---|---|---|---|---|---|
name |
plain |
String |
Name of volume |
Required |
Must be unique by tenant |
|
description |
plain |
String |
Description of volume |
Optional |
||
size |
plain |
Integer |
Size of volume in Gigabyte |
Required |
||
availability_zone |
plain |
String |
Availability zone |
Optional |
availability_zone='zonename-groupname'. |
|
virtual_storage_id |
plain |
String |
virtual_storage ID (UUID) |
Required |
||
iops_per_gb |
plain |
String |
Provisioned IOPS/GB for volume |
Optional |
Available for piops_iscsi_na volume_type |
|
initiator_iqns |
plain |
Array of String |
List of initiator IQN who can access to this volume |
Optional |
Available for piops_iscsi_na volume_type |
|
throughput |
plain |
String |
Throughput value reserved for the volume |
Optional |
Available for pre_nfs_na volume_type. |
|
encrypt |
plain |
Boolean |
Whether the volume is encrypted or not. True if omitted. |
Optional |
Response¶
HTTP Response Header¶
HTTP Response Body¶
Response Parameter¶
Parameter |
Type |
Description |
Note |
---|---|---|---|
api_error_message |
String |
Error message in API error case. |
|
id |
String |
Volume's ID (UUID) |
|
status |
String |
Volume status |
|
name |
String |
Name of the volume |
Must be unique by tenant |
description |
String |
Description of the volume |
|
size |
Integer |
The size of volume in gigabyte |
|
iops_per_gb |
String |
The provisioned IOPS/GB for volume |
Available for piops_iscsi_na volume_type |
initiator_iqns |
Array of String |
Array of initiator IQN who can access to this volume |
Available for piops_iscsi_na volume_type |
initiator_secret |
String |
Initiator's secret (password) for CHAP auth of iSCSI |
This field is currently null and reserved for future use.Available for piops_iscsi_na volume_type |
target_secret |
String |
Target's secret (password) for CHAP auth of iSCSI |
This field is currently null and reserved for future use.Available for piops_iscsi_na volume_type |
throughput |
String |
Throughput value reserved for the volume |
Available for pre_nfs_na volume_type. |
snapshot_ids |
Array of String |
Array of Snapshot IDs taken from this volume |
|
target_ips |
Array of IPv4 addresses |
Array of IPv4 addresses of the volume. |
|
metadata |
String |
One or more metadata key and value pairs to associate with the volume. |
lun_id displays LUN ID of iSCSI volume.Available for piops_iscsi_na volume_type |
virtual_storage_id |
String |
ID (UUID) of virtual_storage which accommodates this volume |
|
availability_zone |
String |
An availability_zone in which the volume belongs to |
availability_zone=zone-group |
created_at |
DateTime |
Timestamp of volume creation complete |
|
updated_at |
DateTime |
Timestamp of volume update complete |
|
error_message |
String |
Error message for the volume |
|
percent_snapshot_reserve_used |
Integer |
Usage of available snapshot capacity in percent |
Available for piops_iscsi_na volume_type. |
smb_properties |
SMB properties for the virtual storage and its volumes |
Available for standard_smb_na volume_type. |
|
export_rules |
List of String |
Allow list for volumes.Clients from CIDRs listed here can access to volumes |
Available for pre_nfs_na/standard_nfs_na/standard_smb_na volume_type. |
encrypt |
Boolean |
Volume is encrypted if encrypt=true |
else volume is not encrypted. |
Sample API Request and Response¶
Block Storage (volume_type=piops_iscsi_na)¶
Sample API Request¶
curl -s -i -H 'Accept:application/json' -H 'Content-Type:application/json' -H 'X-Auth-Token:86dbf35fa591400da1640048ed093129' -X POST https://storage-jp1.ecl.api.ntt.com/v1.0/ec9316a82873441799af53d9dd538132/volumes -d '{"volume": {"virtual_storage_id": "985d5c89-cdde-404f-b8e8-92ce5a63e55e", "name": "volume01", "size": 100}}'
Sample API Response¶
HTTP/1.1 202 Accepted
Date: Thu, 3 Oct 2016 04:59:13 GMT
Content-Type: application/json
Content-Length: 104
Connection: keep-alive
Set-Cookie:
TS0183560f=01cce65ce128601861395335dd182427413def44343cffdb05cf2bc235112eece0b3dbb0a0;
Path=/
{
"api_error_message": "",
"volume": {
"availability_zone": "zone1-groupa",
"created_at": "null",
"description": "",
"error_message": "",
"id": "1978b14d-632a-441f-a718-3e29669a91c5",
"initiator_iqns": [],
"initiator_secret": "null",
"iops_per_gb": "2",
"metadata": {"lun_id": "null"},
"name": "volume01",
"size": 100,
"snapshot_ids": [],
"status": "creating",
"target_ips": [],
"target_secret": "null",
"virtual_storage_id": "985d5c89-cdde-404f-b8e8-92ce5a63e55e",
"percentage_snapshot_reserve_used": 0,
"encrypt": true
}
}
File Storage Standard NFS (volume_type=standard_nfs_na)¶
Sample API Request¶
$ cat ./stdnfs01.json
{
"volume": {
"name": "stdnfs01",
"description": "stdnfs01",
"size": 1024,
"virtual_storage_id": "18125408-f741-48d4-8b6a-1a880f0cb5b9"
}
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: 7f300d881444442f9a9ae72a1f91b090' -X POST -d @./stdnfs01.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes
Sample API Response¶
HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 05:15:31 GMT
Content-Type: application/json
Content-Length: 367
Connection: keep-alive
ECL-Transaction-ID: 4d27b4ac-3b8f-49e1-bb40-a54dd527f0ea
Set-Cookie: TS0183560f=01cce65ce105f98fbb54423cc5b5827281e5ed5402779d3a516294a07f8a07b70afa883c863612af5828e3c346131e4c9e9ce1c018; Path=/
{
"api_error_message": "",
"volume": {
"availability_zone": "zone1-groupb",
"created_at": null,
"description": "stdnfs01",
"error_message": "",
"export_rules": [
"0.0.0.0/0"
],
"id": "9a4afb52-fc61-4014-ba09-8580fc81e820",
"name": "stdnfs01",
"size": 1024,
"snapshot_ids": [],
"status": "creating",
"target_ips": [],
"updated_at": null,
"virtual_storage_id": "18125408-f741-48d4-8b6a-1a880f0cb5b9",
"encrypt": true
}
}
File Storage Standard SMB (volume_type=standard_smb_na)¶
Sample API Request¶
$ cat ./stdsmb01.json
{
"volume": {
"name": "stdsmb01",
"description": "stdsmb01",
"size": 1024,
"virtual_storage_id": "ea2d35d9-b740-4720-890e-8a2bda56075f"
}
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: 7f300d881444442f9a9ae72a1f91b090' -X POST -d @./stdsmb01.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes
Sample API Response¶
HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 05:18:38 GMT
Content-Type: application/json
Content-Length: 414
Connection: keep-alive
ECL-Transaction-ID: fa87d234-1f93-46f8-8ce5-6147cff1b11d
Set-Cookie: TS0183560f=01cce65ce1c57fef85d8ae663ccd89a94bd115c5bc282fe9133cab05d0e47a4f51723bd1c2a2a83151132e0167be08c8e3174217af; Path=/
{
"api_error_message": "",
"volume": {
"availability_zone": "zone1-groupb",
"created_at": null,
"description": "stdsmb01",
"error_message": "",
"export_rules": [
"0.0.0.0/0"
],
"id": "4e7a1567-414d-409c-9b40-abad35e3c366",
"name": "stdsmb01",
"size": 1024,
"smb_properties": {
"users": [],
"workgroup": null
},
"snapshot_ids": [],
"status": "creating",
"target_ips": [],
"updated_at": null,
"virtual_storage_id": "ea2d35d9-b740-4720-890e-8a2bda56075f",
"encrypt": true
}
}