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

更新云硬盘

功能介绍

更新云硬盘。

调用方法

请参见如何调用API

URI

PUT /v2/{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参数

参数

参数类型

描述

volume

CreateVolumeDetail object

待创建的云硬盘信息。

表6 CreateVolumeDetail

参数

参数类型

描述

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

预留属性。

表8 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

表9 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

表10 响应Body参数

参数

参数类型

描述

error

Error object

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

表11 Error

参数

参数类型

描述

code

String

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

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

message

String

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

请求示例

更新云硬盘的名称和描述。

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

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

响应示例

状态码: 200

OK

{
  "volume" : {
    "attachments" : [ ],
    "availability_zone" : "az-dc-1",
    "bootable" : "false",
    "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" : {
      "hw:passthrough" : true
    },
    "name" : "openapi_vol01",
    "replication_status" : "disabled",
    "multiattach" : false,
    "size" : 40,
    "status" : "creating",
    "user_id" : "39f6696ae23740708d0f358a253c2637",
    "volume_type" : "SATA"
  }
}

状态码: 400

Bad Request

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

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码