
# 将云硬盘导出为镜像 - CinderExportToImageV3
#### 功能介绍
将系统盘或数据盘的数据导出为IMS镜像，导出的镜像在IMS的私有镜像列表中可以查
看并使用。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-evs/evs_04_0009.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-evs/evs_04_0023.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v3/{project_id}/volumes/{volume_id}/action
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                              |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-evs/evs_04_0046.html)。 |
| volume_id  | 是    | String | 云硬盘ID                                                                           |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                 |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数                     | 是否必选 | 参数类型                                                                                          | 描述              |
|:---|:---|:---|:---|
| os-volume_upload_image | 是    | [CinderExportToImageOption] object | 标记将云硬盘导出为镜像的操作。 |
   
 表4CinderExportToImageOption 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                   |
|:---|:---|:---|:---|
| 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 | 标记将云硬盘导出为镜像的操作。 |
   
 表6Image 
| 参数                  | 参数类型                                                             | 描述                                                                                        |
|:---|:---|:---|
| 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 | 云硬盘类型的信息。                                                                                 |
   
 表7VolumeType 
| 参数           | 参数类型                                                                                 | 描述          |
|:---|:---|:---|
| id           | String                                                                               | 云硬盘类型的ID。   |
| name         | String                                                                               | 云硬盘类型名称。    |
| extra_specs  | [VolumeTypeExtraSpecs] object | 云硬盘类型的规格。   |
| description  | String                                                                               | 云硬盘类型的描述信息。 |
| qos_specs_id | String                                                                               | 预留属性。       |
| is_public    | Boolean                                                                              | 预留属性。       |
   
 表8VolumeTypeExtraSpecs 
| 参数                                             | 参数类型   | 描述                                                                                             |
|:---|:---|:---|
| 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 | **参数解释** 出现错误时，返回的错误信息。 **取值范围** 不涉及。 |
   
 表10Error 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                         |
|:---|:---|:---|
| code    | String | **参数解释** 出现错误时，返回的错误码。 **取值范围** 错误码和其对应的含义请[参考错误码说明](https://support.huaweicloud.com/api-evs/evs_04_0038.html)。 |
| 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 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-evs/evs_04_0038.html)。
