Update Volume

Overview

Updates properties of a volume

Pre/Post Conditions

  • volume status must be 'available'

Classification

  • Update

Synchronous / Asynchronous

  • Asynchronous

Request

HTTP Request Method

  • PUT

HTTP Request Path

{api_endpoint}/v1.0/{tenant_id}/volumes/{volume_id}

HTTP Request Header

Format

X-Auth-Token: <token>

HTTP Request Body

Request Parameter

Request Parameter

Parameter

Request Type

Type

Description

Required or Optional

Note

name

plain

String

Name of volume

Optional

Must be unique by tenant

description

plain

String

Description of volume

Optional

initiator_iqns

plain

Array of String

List of initiator IQN who can access to this volume

Optional

Available for piops_iscsi_na volume_type.

Response

HTTP Response Header

Response Code

Response Codes

Code

Description

Error?

Note

202

Accepted

No

Returned in case of success

400

Bad Request

Yes

401

Unauthorized

Yes

409

Tenant is busy

Yes

Returned if one of creation/update/deletion/restore request is already on-going

500

Internal Server Error

Yes

HTTP Response Body

Response Parameter

Response Parameters

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

Available for piops_iscsi_na volume_type.

target_secret

String

Target's secret (password) for CHAP auth of iSCSI

Available for piops_iscsi_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.

throughput

String

Throughput value reserved for the volume

Available for pre_nfs_na volume_type.

metadata

String

One or more metadata key and value pairs to associate with the volume.

Available for piops_iscsi_na volume_type.

virtual_storage_id

String

virtual_storage ID (UUID)

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

SMB properties for the virtual storage and its volumes

Optional (only 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

$ cat ./iqn.json
{
        "volume" : {
                "initiator_iqns"  : [
                        "iqn.2001-04.com.example:diskarrays-sn-a8675309",
                        "iqn.2001-04.com.example.storage:tape.sys1.xyz",
                        "iqn.2000-02.edu.example.cs:users.oaks:proto.target4"
                ]
        }
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: d7a68609107d4f5db67e6d4dfe6d80d9' -X PUT -d @./iqn.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes/888e362e-7732-44a2-8e46-a623185b19c0

Sample API Response

HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 06:54:15 GMT
Content-Type: application/json
Content-Length: 707
Connection: keep-alive
ECL-Transaction-ID: 84f049c5-6f92-46ac-83de-c6eeec323615
Set-Cookie: TS0183560f=01cce65ce1395c86d8d32fbd3d456807a49068d9bb436fe2e8b64bafbbd52aca57fbb85429946bfb0c25435177a10db861fe14fd34; Path=/

{
    "api_error_message": "",
    "volume": {
        "availability_zone": "zone1-groupa",
        "created_at": "2022-07-15T09:47:53+0000",
        "description": "",
        "error_message": "",
        "id": "888e362e-7732-44a2-8e46-a623185b19c0",
        "initiator_iqns": [
            "iqn.2001-04.com.example:diskarrays-sn-a8675309",
            "iqn.2001-04.com.example.storage:tape.sys1.xyz",
            "iqn.2000-02.edu.example.cs:users.oaks:proto.target4"
        ],
        "initiator_secret": null,
        "iops_per_gb": "2",
        "metadata": {
            "lun_id": "3"
        },
        "name": "vol-20220715-01",
        "percentage_snapshot_reserve_used": 0,
        "size": 100,
        "snapshot_ids": [],
        "status": "updating",
        "target_ips": [
            "10.21.100.100",
            "10.21.100.101"
        ],
        "target_secret": null,
        "updated_at": "2022-09-07T09:35:15+0000",
        "virtual_storage_id": "643bb1d3-904b-4d0f-94fc-951879222ae9",
        "encrypt": true
    }
}

File Storage Premium (volume_type=pre_nfs_na)

Sample API Request

$ cat ./desc.json
{
        "volume": {
                "description": "updated_description"
        }
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: d7a68609107d4f5db67e6d4dfe6d80d9' -X PUT -d @./desc.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes/f2fa519e-cd31-46aa-b594-f8390fb1bd7f

Sample API Response

HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 07:19:35 GMT
Content-Type: application/json
Content-Length: 439
Connection: keep-alive
ECL-Transaction-ID: 36a7a6ff-6f42-4076-a61d-f25aa8ee9aee
Set-Cookie: TS0183560f=01cce65ce1e0813950dd8ff7f57a20eb0ce75cf2febfa6e0890f789c4472d255d93ef745bdaf787155a9cf0680633d37d2a09120b8; Path=/

{
    "api_error_message": "",
    "volume": {
        "availability_zone": "zone1-groupa",
        "created_at": "2022-09-08T05:10:48+0000",
        "description": "updated_description",
        "error_message": "",
        "export_rules": [
            "0.0.0.0/0"
        ],
        "id": "f2fa519e-cd31-46aa-b594-f8390fb1bd7f",
        "name": "pre-nfs-vol01",
        "size": 256,
        "snapshot_ids": [],
        "status": "updating",
        "target_ips": [
            "192.168.101.101"
        ],
        "throughput": "50",
        "updated_at": null,
        "virtual_storage_id": "94514162-bcf3-4d3a-a142-a5a173054e27",
        "encrypt": false
    }
}

File Storage Standard NFS (volume_type=standard_nfs_na)

Sample API Request

$ cat ./desc.json
{
        "volume": {
                "description": "updated_description"
        }
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: d7a68609107d4f5db67e6d4dfe6d80d9' -X PUT -d @./desc.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes/f2fa519e-cd31-46aa-b594-f8390fb1bd7f

Sample API Response

HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 07:20:22 GMT
Content-Type: application/json
Content-Length: 415
Connection: keep-alive
ECL-Transaction-ID: d7a676fe-0f57-4046-8eb9-6cd005cba143
Set-Cookie: TS0183560f=01cce65ce12a4c5065020f2fd9c78b807c2804f90ae3fdeddfd2218bbcd770a8ce1968469ed4d1ffb2bdaf158e756bc1c0414d4a9c; Path=/

{
    "api_error_message": "",
    "volume": {
        "availability_zone": "zone1-groupb",
        "created_at": "2022-09-08T05:15:35+0000",
        "description": "updated_description",
        "error_message": "",
        "export_rules": [
            "0.0.0.0/0"
        ],
        "id": "9a4afb52-fc61-4014-ba09-8580fc81e820",
        "name": "stdnfs01",
        "size": 1024,
        "snapshot_ids": [],
        "status": "updating",
        "target_ips": [
            "10.161.18.201"
        ],
        "updated_at": null,
        "virtual_storage_id": "18125408-f741-48d4-8b6a-1a880f0cb5b9",
        "encrypt": false
    }
}

File Storage Standard SMB (volume_type=standard_smb_na)

Sample API Request

$ cat ./desc.json
{
        "volume": {
                "description": "updated_description"
        }
}
$ curl -s -i -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: d7a68609107d4f5db67e6d4dfe6d80d9' -X PUT -d @./desc.json https://storage-jp1-ecl.api.ntt.com/v1.0/49dec55d78d446dabfe6ecd8858133f4/volumes/4e7a1567-414d-409c-9b40-abad35e3c366

Sample API Response

HTTP/1.1 202 Accepted
Date: Thu, 08 Sep 2022 07:21:25 GMT
Content-Type: application/json
Content-Length: 514
Connection: keep-alive
ECL-Transaction-ID: faabfaed-4c81-453e-940b-842eab903fcb
Set-Cookie: TS0183560f=01cce65ce16f93abba6c49dc2f958ef09fcd3c4e1f0c0df97d83975dc334d3bf105f2ce60837dbaa07b359119328f4e6de72a5ba59; Path=/

{
    "api_error_message": "",
    "volume": {
        "availability_zone": "zone1-groupb",
        "created_at": "2022-09-08T05:18:42+0000",
        "description": "updated_description",
        "error_message": "",
        "export_rules": [
            "0.0.0.0/0"
        ],
        "id": "4e7a1567-414d-409c-9b40-abad35e3c366",
        "name": "stdsmb01",
        "size": 1024,
        "smb_properties": {
            "users": [
                {
                    "password": "********",
                    "username": "testuser"
                }
            ],
            "workgroup": "WORKGROUP2"
        },
        "snapshot_ids": [],
        "status": "updating",
        "target_ips": [
            "192.168.0.11"
        ],
        "updated_at": null,
        "virtual_storage_id": "ea2d35d9-b740-4720-890e-8a2bda56075f",
        "encrypt": true
    }
}