Update Volume¶
Classification¶
- Update 
Synchronous / Asynchronous¶
- Asynchronous 
Request¶
HTTP Request Method¶
- PUT 
HTTP Request Path¶
{api_endpoint}/v1.0/{tenant_id}/volumes/{volume_id}
HTTP Request Body¶
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¶
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 | 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 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 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
    }
}