更新时间:2025-07-21 GMT+08:00
分享

将云硬盘导出为镜像

功能介绍

将系统盘或数据盘的数据导出为IMS镜像,导出的镜像在IMS的私有镜像列表中可以查

看并使用。

调用方法

请参见如何调用API

URI

POST /v3/{project_id}/volumes/{volume_id}/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

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

volume_id

String

云硬盘ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

表3 请求Body参数

参数

是否必选

参数类型

描述

os-volume_upload_image

CinderExportToImageOption object

标记将云硬盘导出为镜像的操作。

表4 CinderExportToImageOption

参数

是否必选

参数类型

描述

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

表5 响应Body参数

参数

参数类型

描述

os-volume_upload_image

Image object

标记将云硬盘导出为镜像的操作。

表6 Image

参数

参数类型

描述

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

云硬盘类型的信息。

表7 VolumeType

参数

参数类型

描述

id

String

云硬盘类型的ID。

name

String

云硬盘类型名称。

extra_specs

VolumeTypeExtraSpecs object

云硬盘类型的规格。

description

String

云硬盘类型的描述信息。

qos_specs_id

String

预留属性。

is_public

Boolean

预留属性。

表8 VolumeTypeExtraSpecs

参数

参数类型

描述

RESKEY:availability_zones

String

支持当前云硬盘类型的可用区列表,列表的元素以逗号分隔。

若没有该参数,则表示当前云硬盘类型支持所有可用区。

availability-zone

String

预留属性。

os-vendor-extended:sold_out_availability_zones

String

当前云硬盘类型已售罄的可用区列表,列表的元素以逗号分隔。

volume_backend_name

String

预留属性。

HW:availability_zone

String

预留属性。

状态码:400

表9 响应Body参数

参数

参数类型

描述

error

Error object

参数解释

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

取值范围

不涉及。

表10 Error

参数

参数类型

描述

code

String

参数解释

出现错误时,返回的错误码。

取值范围

错误码和其对应的含义请参考错误码说明

message

String

参数解释

出现错误时,返回的错误消息。

取值范围

不涉及。

请求示例

POST https://{endpoint}/v3/{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,
      "deleted_at" : null,
      "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

错误码

请参见错误码

相关文档