创建云硬盘
功能介绍
创建云硬盘。
URI
- URI格式
- 参数说明
参数
是否必选
描述
project_id
是
项目ID。
获取方法请参见获取项目ID。
请求消息
- 请求参数
参数
参数类型
是否必选
描述
volume
Object
是
待创建的云硬盘信息,请参见•volume参数说明。
- volume参数说明
参数
参数类型
是否必选
描述
availability_zone
String
是
指定要创建云硬盘的所属AZ,若指定的AZ不存在,则创建云硬盘失败。
说明:获取AZ的方法:请参考查询所有的可用分区信息获取。
source_volid
String
否
源云硬盘ID,指定该参数表示创建云硬盘方式为从源云硬盘克隆。当前云硬盘服务不支持该功能。
description
String
否
云硬盘的描述。最大支持255个字节。
snapshot_id
String
否
快照ID,指定该参数表示创建云硬盘方式为从快照创建。
说明:size
Integer
是
云硬盘大小,单位为GB,其限制如下:- 系统盘:1GB-1024GB
- 数据盘:10GB-32768GB
创建空白云硬盘,size为必选,请在范围内根据需求自定义。
从快照创建云硬盘时,size为必选,且云硬盘大小不能小于快照大小。
从镜像创建云硬盘时,size为必选,且云硬盘大小不小于镜像属性中min_disk要求的最小云硬盘容量。
name
String
否
云硬盘名称。最大支持255个字节。
imageRef
String
否
镜像ID,指定该参数表示创建云硬盘方式为从镜像创建。
说明:获取镜像ID的方法:请参见“镜像服务API参考 > 查询镜像列表”。
volume_type
String
否
云硬盘类型。
目前支持“SSD”,“SAS”三种。- “SSD”为超高IO云硬盘
- “SAS”为高IO云硬盘
说明:- 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。
- 了解不同磁盘类型的详细信息,请参见“云硬盘用户指南 > 磁盘类型及性能介绍”。
metadata
Object
否
云硬盘的metadata数据,metadata中的key和value长度不大于255个字节。
“metadata”字段信息说明请参见“metadata字段说明”表格,表格中列举了部分字段,您还可以根据创建磁盘的要求输入其他字段,请参见•metadata参数说明。
说明:metadata里面不能有value为null的键值对。
source_replica
String
否
该参数表示从磁盘的克隆来创建云硬盘,当前云硬盘服务不支持该功能。
consistencygroup_id
String
否
预留属性。
count
否
Integer
批量创云硬盘的个数。如果无该参数,表明只创建1个云硬盘,目前最多支持批量创建100个。 从备份创建云硬盘时,不支持批量创建,数量只能为“1”。
如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。
shareable
String
否
扩展属性:共享云硬盘标志位,true为共享盘,false为普通云硬盘。当前云硬盘服务不支持该字段。
说明:该字段已经废弃,请使用multiattach。
multiattach
Boolean
否
创建共享云硬盘的信息。默认值为false。- true:表示为共享云硬盘。
- false:表示为非共享云硬盘。
不支持同时使用“source_volid”、“snapshot_id”和“imageRef”这三个字段中的任意两个
- metadata参数说明
参数
参数类型
是否必选
描述
hw:passthrough
String
否
- true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。
- false表示云硬盘的设备类型为VBD (虚拟块存储设备, Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。
- 该字段不存在时,云硬盘默认为VBD类型。
说明:
当shareable参数值设置为true,不指定hw:passthrough参数值时,创建的云硬盘为VBD类型共享云硬盘。
full_clone
String
否
从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。
以上表格中仅提供了部分“metadata”字段信息说明供您参考,您还可以根据创建磁盘的要求输入其他字段。
- 如果是从快照创建云硬盘,则不支持传入“hw:passthrough”字段,创建出来的云硬盘的设备类型与快照源云硬盘保持一致。
- 如果是从镜像创建云硬盘,则不支持传入“hw:passthrough”字段,创建出来的云硬盘的设备类型为VBD类型。
- 请求样例
{ "volume": { "name": "openapi_vol01", "imageRef": "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", "availability_zone": "az-dc-1", "description": "create for api test", "volume_type": "SAS", "metadata": { "volume_owner": "openapi" }, "multiattach": false, "size": 40 }, }
响应消息
- 响应参数
参数
参数类型
描述
volume
Object
创建出来的云硬盘,请参见•volumes参数说明。
error
Object
出现错误时,返回的错误信息,具体请参见•error参数说明。
- volumes参数说明
参数
参数类型
描述
id
String
云硬盘ID。
links
list
云硬盘URI自描述信息,请参见•links参数说明。
name
String
云硬盘名称。
status
String
云硬盘状态,具体请参见云硬盘状态。
attachments
list
挂载信息,请参见•attachments参数说明。
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
云硬盘类型。
目前支持“SSD”,“SAS”三种。- “SSD”为超高IO云硬盘
- “SAS”为高IO云硬盘
replication_status
String
预留属性。
consistencygroup_id
String
所属一致性组ID。
当前云硬盘服务不支持该字段。
source_volid
String
源云硬盘ID。
当前云硬盘服务不支持该字段。
snapshot_id
String
快照ID。
metadata
Object
元数据,请参见•metadata参数说明。
size
Integer
云硬盘大小,单位为GB。
user_id
String
预留属性。
updated_at
String
云硬盘更新时间。
时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX
shareable
Boolean
是否为可共享云硬盘。
说明:该字段已经废弃,请使用multiattach。
multiattach
Boolean
是否为共享云硬盘。- true:表示为共享云硬盘。
- false:表示为非共享云硬盘。
storage_cluster_id
String
预留属性。
- links参数说明
参数
参数类型
描述
href
String
对应的快捷链接。
rel
String
快捷链接标记名称。
- attachments参数说明
参数
参数类型
描述
server_id
String
云硬盘挂载到的云服务器的ID。
attachment_id
String
挂载信息对应的ID。
attached_at
String
挂载的时间信息。
时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX
host_name
String
云硬盘挂载到的云服务器对应的物理主机的名称。
volume_id
String
云硬盘ID。
device
String
挂载点。
id
String
挂载的资源ID。
- metadata参数说明
参数
参数类型
描述
hw:passthrough
String
metadata中的表示云硬盘设备类型的字段。- true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。
- false表示云硬盘的设备类型为VBD类型,即为默认类型,VBD只能支持简单的SCSI读写命令。
- 该字段不存在时,云硬盘默认为VBD类型。
full_clone
String
从快照创建云硬盘时,字段的值为0表示使用link克隆方式。
- error参数说明
参数
参数类型
描述
message
String
出现错误时,返回的错误消息。
code
String
出现错误时,返回的错误码。
错误码和其对应的含义请参考错误码。
- 响应样例
{ "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": "SAS" } }
或
{ "error": { "message": "XXXX", "code": "XXX" } }
其中error是泛指的错误,有badRequest、itemNotFound等,如报错为:
{ "badRequest": { "message": "XXXX", "code": "XXX" } }
错误码
请参考错误码。