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