创建云硬盘
功能介绍
创建云硬盘。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/volumes
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 获取方法请参见"获取项目ID"。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
volume |
是 |
CinderCreateVolumeOption object |
待创建的云硬盘信息 说明: 不支持同时使用“source_volid”、“snapshot_id”和“imageRef”这三个字段中的任意两个。 |
OS-SCH-HNT:scheduler_hints |
否 |
调度参数。调度参数,当前支持dedicated_storage_id字段,表明将云硬盘创建在DSS存储池中。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
availability_zone |
是 |
String |
指定要创建云硬盘的AZ。 若指定的AZ不存在或指定的AZ和备份所在的AZ不同,则创云硬盘失败。 |
consistencygroup_id |
否 |
String |
一致性组ID,该参数表示此云硬盘属 于该一致性组,当前云硬盘服务不支 持该功能 |
description |
否 |
String |
云硬盘的描述。最大支持85个字符。 |
imageRef |
否 |
String |
镜像ID,指定该参数表示创建云硬盘方式为从镜像创建。
说明:
不支持通过BMS的镜像创建BMS系统盘。 获取镜像ID的方法:请参见查询镜像列表。 |
metadata |
否 |
VolumeMetadata object |
云硬盘的metadata数据,metadata中的key和value长度不大于255个字节。 “metadata”字段信息中列举了部分字段,您还可以根据创建云硬盘的要求输入其他字段。
说明:
metadata里面不能有value为null的键值对。 |
multiattach |
否 |
Boolean |
创建共享云硬盘的信息。默认值为false。 true:表示为共享云硬盘。 false:表示为非共享云硬盘。 请参见 共享云硬盘及使用方法了解更多信息。 |
name |
否 |
String |
云硬盘名称。最大支持64个字符。 |
size |
否 |
Integer |
云硬盘大小,单位为GiB,其限制如下: 系统盘:1GiB-1024GiB 数据盘:10GiB-32768GiB 创建空白云硬盘,size为必选,请在范围内根据需求自定义。 从快照创建云硬盘时,size为必选,且云硬盘大小不能小于快照大小。 从镜像创建云硬盘时,size为必选,且云硬盘大小不小于镜像属性中min_disk要求的最小云硬盘容量。 |
snapshot_id |
否 |
String |
快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘 |
source_replica |
否 |
String |
该参数表示从云硬盘的克隆来创建云硬 盘,当前云硬盘服务不支持该功能 |
source_volid |
否 |
String |
源云硬盘ID,指定该参数表示创建云 硬盘方式为从源云硬盘克隆。当前云 硬盘服务不支持该功能。 |
volume_type |
是 |
String |
云硬盘类型。 目前支持"SATA", "SAS", "GPSSD, "SSD","ESSD","GPSSD2","ESSD2"七种
说明:
从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。 了解不同云硬盘类型的详细信息,请参见 枚举值:
|
iops |
否 |
Integer |
给云硬盘配置iops,购买GPSSD2、ESSD2类型的云硬盘时必填,其他类型不能设置。
说明:
|
throughput |
否 |
Integer |
给云硬盘配置吞吐量,单位是MiB/s,购买GPSSD2类型云盘时必填,其他类型不能设置。
说明:
-了解GPSSD2类型的吞吐量大小范围,请参见云硬盘类型及性能介绍里面的云硬盘性能数据表。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
__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类型。 |
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
volume |
CreateVolumeDetail object |
待创建的云硬盘信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
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"七种
|
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 |
预留属性。 |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
参数 |
参数类型 |
描述 |
---|---|---|
__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
参数 |
参数类型 |
描述 |
---|---|---|
error |
Error object |
出现错误时,返回的错误信息。 |
请求示例
创建一个云硬盘:使用镜像在DSS存储池中创建一个非共享云硬盘,云硬盘的类型为普通IO,磁盘模式为SCSI,云硬盘的大小为40GiB。
POST https://{endpoint}/v2/{project_id}/volumes { "volume" : { "name" : "openapi_vol01", "imageRef" : "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", "availability_zone" : "xxx", "description" : "create for api test", "volume_type" : "SATA", "metadata" : { "hw:passthrough" : "true" }, "consistencygroup_id" : null, "source_volid" : null, "snapshot_id" : null, "multiattach" : false, "source_replica" : null, "size" : 40 }, "OS-SCH-HNT:scheduler_hints" : { "dedicated_storage_id" : "eddc1a3e-4145-45be-98d7-bf6f65af9767" } }
响应示例
状态码: 202
Accepted
{ "volume" : { "attachments" : [ ], "availability_zone" : "xxx", "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" : { "__system__encrypted" : 0 }, "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" } }
状态码
状态码 |
描述 |
---|---|
202 |
Accepted |
400 |
Bad Request |
错误码
请参见错误码。