更新时间:2024-02-27 GMT+08:00

更新云硬盘

功能介绍

更新云硬盘。

调用方法

请参见如何调用API

URI

PUT /v3/{project_id}/volumes/{volume_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

获取方法请参见"获取项目ID"。

volume_id

String

云硬盘ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

volume

CinderUpdateVolumeOption object

待更新的云硬盘信息

表4 CinderUpdateVolumeOption

参数

是否必选

参数类型

描述

name

String

云硬盘名称。最大支持64个字符。

description

String

云硬盘描述。最大支持85个字符。

metadata

Map<String,String>

云硬盘的元数据。

元数据中的key和value长度不大于255字节

display_description

String

同description,description和 display_description任意指定一个即可 (若两个都指定,则以description为 主)。最大支持85个字符。

display_name

String

同name,name和display_name任意指定 一个即可(若两个都指定,则以name为 主)。最大支持64个字符。

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

id

String

云硬盘ID。

links

Array of Link objects

云硬盘URI自描述信息。

name

String

云硬盘名称。

status

String

云硬盘状态,具体请参见云硬盘状态

attachments

Array of VolumeAttachment objects

挂载信息。

availability_zone

String

云硬盘所属AZ。

bootable

String

是否为启动云硬盘。 true:表示为启动云硬盘。 false:表示为非启动云硬盘。

encrypted

Boolean

当前云硬盘服务不支持该字段。

created_at

String

创建云硬盘的时间。

时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

description

String

云硬盘描述。

volume_type

String

云硬盘类型。

目前支持"SATA", "SAS", "GPSSD, "SSD","ESSD","GPSSD2","ESSD2"七种

  • “SATA”为普通IO云硬盘

  • “SAS”为高IO云硬盘

  • "GPSSD"为通用型SSD云硬盘

  • “SSD”为超高IO云硬盘

  • “ESSD”为极速IO云硬盘

  • "GPSSD2"为通用型SSD V2云硬盘

  • "ESSD2"为极速型SSD V2云硬盘 当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。

replication_status

String

预留属性。

consistencygroup_id

String

所属一致性组ID。

source_volid

String

源云硬盘ID。

当前云硬盘服务不支持该字段。

snapshot_id

String

快照ID。

metadata

VolumeMetadata object

元数据。

size

Integer

云硬盘大小,单位为GiB。

user_id

String

使用云硬盘用户ID。

updated_at

String

云硬盘更新时间。

shareable

Boolean

是否为可共享云硬盘。 说明: 该字段已经废弃,请使用multiattach。

multiattach

Boolean

是否为共享云硬盘。 true:表示为共享云硬盘。 false:表示为非共享云硬盘。

storage_cluster_id

String

预留属性。

表7 VolumeAttachment

参数

参数类型

描述

attached_at

String

挂载的时间信息。

时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

attachment_id

String

挂载信息对应的ID。

device

String

挂载点

host_name

String

云硬盘挂载到的云服务器云主机对应 的物理主机的名称。

id

String

挂载的资源ID

server_id

String

云硬盘挂载到的云服务器云主机的 ID。

volume_id

String

云硬盘ID

表8 VolumeMetadata

参数

参数类型

描述

__system__cmkid

String

metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。

说明:

请参考 查询密钥列表,通过HTTPS请求获取密钥ID。

__system__encrypted

String

metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。

full_clone

String

从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。

hw:passthrough

String

true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。

false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。

该字段不存在时,云硬盘默认为VBD类型。

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error

Error object

出现错误时,返回的错误信息。

表10 Error

参数

参数类型

描述

code

String

出现错误时,返回的错误码。

错误码和其对应的含义请参考错误码说明

message

String

出现错误时,返回的错误消息。

请求示例

PUT https://{endpoint}/v3/{project_id}/volumes/{volume_id}

{
  "volume" : {
    "name" : "test_volume",
    "description" : "test"
  }
}

响应示例

状态码: 200

OK

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

状态码: 400

Bad Request

{
  "error" : {
    "message" : "XXXX",
    "code" : "XXX"
  }
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码