将云硬盘导出为镜像
功能介绍
将系统盘或数据盘的数据导出为IMS镜像,导出的镜像在IMS的私有镜像列表中可以查看并使用。
接口约束
云硬盘容量需≤1TB。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/volumes/{volume_id}/action
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 获取方法请参见"获取项目ID"。 |
volume_id |
是 |
String |
云硬盘ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
os-volume_upload_image |
是 |
CinderExportToImageOption object |
标记将云硬盘导出为镜像的操作。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
container_format |
否 |
String |
云硬盘导出镜像的容器类型。 目前支持ami、ari、aki、ovf、bare。默认是bare。 |
disk_format |
否 |
String |
云硬盘导出镜像的格式。 目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是vhd。 |
force |
否 |
Boolean |
强制导出镜像的标示,默认值是false。 当force标记为false时,云硬盘处于正在使用状态时,不能强制导出镜像。 当force标记为true时,即使云硬盘处于正在使用状态时,仍可以导出镜像。 |
image_name |
是 |
String |
云硬盘导出镜像的名称。 名称的长度范围为1~128位。 名称只能包含以下字符:大写字母、小写字母、中文、数字、特殊字符包含“-”、“.”、“_”和空格。 |
__os_type |
否 |
String |
云硬盘导出镜像的系统类型。目前只支持“windows”和“linux”,默认值是“linux”。说明:只有云硬盘的volume_image_metadata信息中无“__os_type”字段且云硬盘状态为“available”时,设置的__os_type才会生效。如果不传递该参数,则使用默认的“linux”值作为镜像的系统类型。 |
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
os-volume_upload_image |
Image object |
标记将云硬盘导出为镜像的操作。 |
参数 |
参数类型 |
描述 |
---|---|---|
container_format |
String |
云硬盘导出镜像的容器类型。 目前支持ami、ari、aki、ovf、bare。默认是bare。 |
disk_format |
String |
云硬盘导出镜像的格式。 目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是vhd。 |
display_description |
String |
云硬盘描述信息。 |
id |
String |
云硬盘ID。 |
image_id |
String |
云硬盘导出镜像的ID。 |
image_name |
String |
云硬盘导出镜像的名称 |
size |
Integer |
云硬盘容量。 |
status |
String |
云硬盘导出镜像后的状态,正常值为 “uploading”。 |
updated_at |
String |
云硬盘更新时间。 时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX |
volume_type |
VolumeType object |
云硬盘类型的信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
云硬盘类型的ID。 |
name |
String |
云硬盘类型名称。 |
extra_specs |
VolumeTypeExtraSpecs object |
云硬盘类型的规格。 |
description |
String |
云硬盘类型的描述信息。 |
qos_specs_id |
String |
预留属性。 |
is_public |
Boolean |
预留属性。 |
参数 |
参数类型 |
描述 |
---|---|---|
RESKEY:availability_zones |
String |
支持当前云硬盘类型的可用区列表,列表的元素以逗号分隔。 若没有该参数,则表示当前云硬盘类型支持所有可用区。 |
availability-zone |
String |
预留属性。 |
os-vendor-extended:sold_out_availability_zones |
String |
当前云硬盘类型已售罄的可用区列表,列表的元素以逗号分隔。 |
volume_backend_name |
String |
预留属性。 |
HW:availability_zone |
String |
预留属性。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error |
Error object |
出现错误时,返回的错误信息。 |
请求示例
导出云硬盘为镜像:云硬盘导出镜像的容器类型为bare,导出镜像的格式为vhd,导出镜像的系统类型为linux,且云硬盘处于正在使用状态时,可以强制导出镜像。
POST https://{endpoint}/v2/{project_id}/volumes/{volume_id}/action { "os-volume_upload_image" : { "image_name" : "sxmatch2", "force" : true, "container_format" : "bare", "disk_format" : "vhd", "__os_type" : "linux" } }
响应示例
状态码: 202
Accepted
{ "os-volume_upload_image" : { "status" : "uploading", "size" : 40, "id" : "16369c5d-384d-4e64-b37a-56d898769362", "image_id" : "c5333daa-fbc8-4d1d-bf79-b0567bb45d15", "image_name" : "evs-ims-test1027", "volume_type" : { "description" : "None", "deleted" : false, "created_at" : "2015-05-24T14:47:22.132268", "updated_at" : "2017-07-29T11:29:33.730076", "extra_specs" : { "volume_backend_name" : "<or> FusionStorage_SATA <or> FusionStorage_SAS <or> fusionstoragesata", "XX:availability_zone" : "kvmxen.dc1" }, "is_public" : true, "id" : "8247b6ed-37f0-4c48-8ef1-f0027fb332bc", "name" : "SATA" }, "container_format" : "bare", "disk_format" : "vhd", "display_description" : "", "updated_at" : "2018-01-11T01:50:25.800931" } }
状态码: 400
Bad Request
{ "error" : { "message" : "XXXX", "code" : "XXX" } }
状态码
状态码 |
描述 |
---|---|
202 |
Accepted |
400 |
Bad Request |
错误码
请参见错误码。