# CreateImage

## 1. 接口描述

本接口（CreateImage）用于创建自定义镜像。

{% hint style="info" %}
**注意事项**

* 每个区域最多只支持创建**5**个自定义镜像，当该地区达到最大限额时，将无法继续创建自定义镜像，如有特殊需求可联系**Support**增加上限。
* 制作镜像会拷贝实例的系统盘，创建时请确保实例处于**关机**状态，不要对实例进行任何操作。
* 创建出的镜像大小与实例的系统盘大小相同。
* 目前**SIN-E**、**LAX-A**地区暂不支持该操作。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

<table><thead><tr><th>参数名称</th><th width="114">必选</th><th width="136">类型</th><th>描述</th></tr></thead><tbody><tr><td>instanceId</td><td>是</td><td>String</td><td>需要制作镜像的实例ID。</td></tr><tr><td>imageName</td><td>是</td><td>String</td><td><p>镜像名称。<br>镜像名称必须符合以下规则：</p><ul><li>长度不超过24位</li><li>支持中文、字母、数字或连接符号 -_.</li></ul></td></tr><tr><td>imageDescription</td><td>否</td><td>String</td><td>镜像描述。<br>不超过255个字符。</td></tr></tbody></table>

## 3. 响应结果

<table><thead><tr><th>参数名称</th><th width="170.33333333333331">类型</th><th>描述</th></tr></thead><tbody><tr><td>requestId</td><td>String</td><td><p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p></td></tr><tr><td>imageId</td><td>String</td><td>镜像ID。</td></tr></tbody></table>

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}

1. **创建一个镜像。**

```json
POST /api/v2/vm HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateImage
<Common Request Params>

Request:
{
  "instanceId": "your-instance-id",
  "imageName": "testimagename",
  "imageDescription": "testimagedescription"
}

Response:
{
  "requestId": "T69E37B61-4E39-4461-A2BB-205F847D1D60",
  "response": {
    "requestId": "T69E37B61-4E39-4461-A2BB-205F847D1D60",
    "imageId": "img-xxxxx"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](https://docs.console.zenlayer.com/api/cn/api-introduction/toolkit)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](https://docs.console.zenlayer.com/api/cn/api-introduction/instruction/commonerrorcode)

<table><thead><tr><th width="174.33333333333331">HTTP状态码</th><th>错误码</th><th>说明</th></tr></thead><tbody><tr><td><strong>404</strong></td><td>INVALID_INSTANCE_NOT_FOUND</td><td>指定实例不存在。</td></tr><tr><td><strong>400</strong></td><td>UNSUPPORTED_OPERATION_INSTANCE_STATE_STARTING</td><td>实例开机中，不支持该操作。</td></tr><tr><td><strong>400</strong></td><td>LIMIT_EXCEEDED_IMAGE_QUOTA</td><td>镜像配额超出限制。</td></tr><tr><td><strong>400</strong></td><td>UNSUPPORTED_OPERATION_ZONE_NOT_SUPPORT</td><td>所在区域不支持该操作。</td></tr><tr><td><strong>400</strong></td><td>UNSUPPORTED_OPERATION_DISK_UNAVAILABLE</td><td>实例的云硬盘状态不可用。</td></tr><tr><td><strong>400</strong></td><td>UNSUPPORTED_OPERATION_DISK_MAKING_IMAGE</td><td>实例的云硬盘正在制作镜像。</td></tr></tbody></table>
