创建云硬盘
功能介绍
创建一个或多个云硬盘。
URI
- URI格式
- 参数说明
参数
是否必选
描述
project_id
是
项目ID。
获取方法请参见获取项目ID。
请求消息
- 请求参数
参数
参数类型
是否必选
描述
volume
Object
是
待创建的云硬盘信息,请参见•volume参数说明。
- volume参数说明
参数
参数类型
是否必选
描述
backup_id
String
否
备份ID,从备份创建云硬盘时为必选。
说明:获取备份ID的方法:请参见“云硬盘备份API参考 > 查询备份详细信息列表(OpenStack原生)”。
availability_zone
String
是
指定要创建云硬盘的所属AZ,若指定的AZ不存在,则创建云硬盘失败。
说明:获取AZ的方法:请参考查询所有的可用分区信息获取。
description
String
否
云硬盘的描述。最大支持255个字节。
size
Integer
是
云硬盘大小,单位为GB,其限制如下:- 系统盘:1GB-1024GB
- 数据盘:10GB-32768GB
创建空白云硬盘,size为必选,请在范围内根据需求自定义。
从快照创建云硬盘时,size为必选,且云硬盘大小不能小于快照大小。
从镜像创建云硬盘时,size为必选,且云硬盘大小不小于镜像属性中min_disk要求的最小云硬盘容量。
从备份创建云硬盘时,size为可选,不指定size时,云硬盘大小和备份大小一致。
说明:如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。
name
String
否
云硬盘名称。
- 如果为创建单个云硬盘,name为云硬盘名称。最大支持255个字节。
- 创建的云硬盘数量(count字段对应的值)大于1时,为区分不同云硬盘,创建过程中系统会自动在名称后加“-0000”的类似标记。例如:volume-0001、volume-0002。最大支持250个字节。
snapshot_id
String
否
快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘。
说明:获取快照ID的方法:请参见查询云硬盘快照详细信息列表。
imageRef
String
否
IMS中镜像ID,指定该参数表示创建云硬盘方式为从镜像创建云硬盘。
说明:不支持通过BMS的镜像创建BMS系统盘。
获取镜像ID的方法:请参见“镜像服务API参考 > 查询镜像列表”。
volume_type
String
是
云硬盘类型。
目前支持“SATA”和“SSD”。- “SSD”为超高IO云硬盘
- “SATA”为普通IO云硬盘
当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。
说明:- 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。
- 了解不同磁盘类型的详细信息,请参见“云硬盘用户指南 > 磁盘类型及性能介绍”。
count
Integer
否
批量创云硬盘的个数。如果无该参数,表明只创建1个云硬盘,目前最多支持批量创建100个。
从备份创建云硬盘时,不支持批量创建,数量只能为“1”。
说明:如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。
shareable
String
否
是否为共享云硬盘。true为共享盘,false为普通云硬盘。
说明:该字段已经废弃,请使用multiattach。
metadata
Map<String,String>
否
创建云硬盘的metadata信息
可选参数如下:
metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。
说明:__system__encrypted: metadata中的表示加密功能的字段,0代表不加密,1代表加密。不指定该字段时,云硬盘的加密属性与数据源保持一致,如果不是从数据源创建的场景,则默认不加密。
full_clone: 从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。
hw:passthrough:
- true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。
- false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。
- 该字段不存在时,云硬盘默认为VBD类型。
multiattach
Boolean
否
创建共享云硬盘的信息。默认值为false。- true:表示为共享云硬盘。
- false:表示为非共享云硬盘。
tags
Object
否
创建云硬盘的时候,给云硬盘绑定标签。
单个云硬盘最多可以创建10个标签。
标签的key需要唯一。重复的key会做去重操作,即如果有重复的key,最终只保留一个作为有效的标签。
不支持同时使用“backup_id”、“snapshot_id”和“imageRef”这三个字段中的任意两个。
- 请求样例
{ "volume": { "backup_id": null, "count": 1, "availability_zone": "az-dc-1", "description": "test_volume_1", "size": 120, "name": "test_volume_1", "volume_type": "SSD", "metadata": { "__system__encrypted": "1", "__system__cmkid": "37b0d52e-c249-40d6-83cb-2b93f22445bd" } } }
响应消息
- 响应参数
参数
参数类型
描述
job_id
String
正常返回时返回的任务ID。
说明:error
Object
出现错误时,返回的错误信息,具体请参见•error参数说明。
- error参数说明
参数
参数类型
描述
message
String
出现错误时,返回的错误消息。
code
String
出现错误时,返回的错误码。
错误码和其对应的含义请参考错误码。
- 响应样例
{ "job_id": "70a599e0-31e7-49b7-b260-868f441e862b" }
或
{ "error": { "message": "XXXX", "code": "XXX" } }
错误码
请参考错误码。