更新时间:2022-09-27 GMT+08:00
分享

创建云硬盘

功能介绍

创建按需或包周期云硬盘。 在创建包周期云硬盘的场景下:

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2.1/{project_id}/cloudvolumes

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

bssParam

BssParamForCreateVolume object

按需和包周期的扩展参数

server_id

String

创建云硬盘并挂载到目标虚拟机。 创建的云硬盘的计费模式会与虚拟机的计费模式保持一致。 目前只支持ECS服务的虚拟机,暂不支持BMS的裸金属服务器。

volume

CreateVolumeOption object

待创建的云硬盘信息

OS-SCH-HNT:scheduler_hints

CreateVolumeSchedulerHints object

云硬盘调度参数,可用于指定云硬盘创建到某个专属存储池中

表4 BssParamForCreateVolume

参数

是否必选

参数类型

描述

chargingMode

String

功能说明:计费模式。默认值为postPaid。 取值范围:

  • prePaid:包年包月

  • postPaid:按需

缺省值:postPaid

枚举值:

  • postPaid

  • prePaid

isAutoPay

String

功能说明:是否立即支付。chargingMode为PrePaid时该参数会生效。默认值为false。 取值范围:

  • true:立即支付,从帐户余额中自动扣费

  • false:不立即支付,创建订单暂不支付

缺省值:false

枚举值:

  • true

  • false

isAutoRenew

String

功能说明:是否自动续订。chargingMode为prePaid时该参数会生效。默认值为false。 取值范围:

  • true:自动续订,自动续订周期与订购周期相同

  • false:不自动续订

缺省值:false

枚举值:

  • true

  • false

periodNum

Integer

功能说明:订购周期数,chargingMode为prePaid时该参数会生效,并且该参数为为必选。 取值范围:

  • periodType为month时,为[1-9]

  • periodType为year时,为[1-1]

periodType

String

功能说明:订购周期单位。chargingMode为prePaid时该参数会生效,并且该参数为必选。 取值范围:

  • month:月

  • year:年

枚举值:

  • month

  • year

表5 CreateVolumeOption

参数

是否必选

参数类型

描述

availability_zone

String

指定要创建云硬盘的可用区。

backup_id

String

备份ID,从备份创建云硬盘时为必选。

count

Integer

批量创云硬盘的个数。如果无该参数,表明只创建1个云硬盘,目前最多支持批量创建100个。 从备份创建云硬盘时,不支持批量创建,数量只能为“1”。

如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。

description

String

云硬盘的描述。最大支持255个字节。

enterprise_project_id

String

企业项目ID。创建云硬盘时,给云硬盘绑定企业项目ID。

imageRef

String

镜像ID,指定该参数表示创建云硬盘方式为从镜像创建云硬盘。

metadata

Map<String,String>

创建云硬盘的metadata信息

可选参数如下:[__system__cmkid]metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。

说明:

请求获取密钥ID的方法请参考:"查询密钥列表"。

[__system__encrypted]metadata中的表示加密功能的字段,0代表不加密,1代表加密。不指定该字段时,云硬盘的加密属性与数据源保持一致,如果不是从数据源创建的场景,则默认不加密。

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

[hw:passthrough]

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

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

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

[create_for_volume_id]

  • true表示接口响应中会通过volume_ids字段返回本次创建的云硬盘ID。

  • false表示接口响应中不会返回本次创建的云硬盘ID。

该字段不存在时,默认为false。

multiattach

Boolean

是否为共享云硬盘。true为共享盘,false为普通云硬盘。

name

String

云硬盘名称。 如果为创建单个云硬盘,name为云硬盘名称。最大支持255个字节。 创建的云硬盘数量(count字段对应的值)大于1时,为区分不同云硬盘,创建过程中系统会自动在名称后加“-0000”的类似标记。例如:volume-0001、volume-0002。最大支持250个字节。

size

Integer

云硬盘大小,单位为GB,其限制如下: 系统盘:1GB-1024GB 数据盘:10GB-32768GB 创建空白云硬盘和从 镜像/快照 创建云硬盘时,size为必选,且云硬盘大小不能小于 镜像/快照 大小。 从备份创建云硬盘时,size为可选,不指定size时,云硬盘大小和备份大小一致。

snapshot_id

String

快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘。

volume_type

String

云硬盘类型。

目前支持"SATA","SAS","GPSSD","SSD"和 "ESSD"五种。

  • "SATA"为普通IO云硬盘(已售罄)

  • "SAS"为高IO云硬盘

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

  • "SSD"为超高IO云硬盘

  • "ESSD"为极速IO云硬盘

当指定的云硬盘类型在avaliability_zone内不存在时,则创建云硬盘失败。

说明:

说明: 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。 了解不同磁盘类型的详细信息,请参见 磁盘类型及性能介绍

枚举值:

  • SATA

  • SAS

  • GPSSD

  • SSD

  • ESSD

tags

Map<String,String>

云硬盘标签信息。

表6 CreateVolumeSchedulerHints

参数

是否必选

参数类型

描述

dedicated_storage_id

String

指定专属存储池ID,表示将云硬盘创建在该ID对应的存储池中。

响应参数

状态码: 202

表7 响应Body参数

参数

参数类型

描述

job_id

String

任务ID,云硬盘为按需计费时返回该参数。

说明:

如果需要查询job的状态,请参考:"查询job的状态"。

order_id

String

订单ID,云硬盘为包周期计费时返回该参数。

说明:

直接在包周期云服务器上新增云硬盘,系统会自动将云硬盘挂载到包周期云服务器上。该情形下也会返回该参数。

volume_ids

Array of strings

待创建的云硬盘ID列表,在请求体的metadata字段中指定create_for_volume_id为true时才返回该参数。

状态码: 400

表8 响应Body参数

参数

参数类型

描述

error

Error object

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

表9 Error

参数

参数类型

描述

code

String

出现错误时,返回的错误码。 错误码和其对应的含义请参考错误码说明

message

String

错误提示信息。

请求示例

POST https://{endpoint}/v2.1/{project_id}/cloudvolumes

{
  "volume" : {
    "name" : "test_volume_3",
    "availability_zone" : "az1.dc1",
    "volume_type" : "SATA",
    "size" : 120,
    "description" : "test",
    "multiattach" : true,
    "count" : 1,
    "tags" : {
      "key1" : "value1",
      "key2" : "value2"
    }
  },
  "bssParam" : {
    "chargingMode" : "prePaid",
    "periodType" : "year",
    "periodNum" : 1,
    "isAutoPay" : "true",
    "isAutoRenew" : "true"
  }
}

响应示例

状态码: 202

Accepted

  • 示例 1

    {
      "job_id" : "70a599e0-31e7-49b7-b260-868f441e862b",
      "volume_ids" : [ "e1fa3e72-8c92-4871-9152-bf66fef0afe9" ]
    }
  • 示例 2

    {
      "order_id" : "CS1711152257C60TL",
      "volume_ids" : [ "e1fa3e72-8c92-4871-9152-bf66fef0afe9" ]
    }

状态码: 400

Bad Request

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

状态码

状态码

描述

202

Accepted

400

Bad Request

错误码

请参见错误码

分享:

    相关文档

    相关产品

close