# CreateImage

## 1. 接口描述

本接口(CreateImage)用于用实例创建自定义镜像。

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

* 会在实例所在zone下创建出对应的自定义镜像。
* 所选实例必须处于`STOPPED`状态。
* GPU机型暂时不支持创建自定义镜像。
* 如果配额超过了限制，可以联系Support来提高配额。
  {% endhint %}

## 2. 请求参数

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

| 参数名称            | 必选 | 类型                                                                                                        | 描述                                                                               |
| --------------- | -- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| instanceId      | 是  | String                                                                                                    | 需要制作镜像的实例ID。                                                                     |
| imageName       | 是  | String                                                                                                    | <p>名称。</p><p>范围2到63个字符。</p><p>仅支持输入字母、数字、-/\_和英文句点(.)。</p><p>且必须以数字或字母开头和结尾。</p> |
| resourceGroupId | 否  | String                                                                                                    | 镜像所放的资源组ID，如不指定则放入默认资源组。                                                         |
| tags            | 否  | [TagAssociation](https://docs.console.zenlayer.com/api-reference/cn/compute/datastructure#tagassociation) | <p>创建镜像时关联的标签。</p><p>注意：·关联<code>标签键</code>不能重复。</p>                             |

## 3. 响应结果

| 参数名称      | 类型     | 描述                                                       |
| --------- | ------ | -------------------------------------------------------- |
| requestId | String | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| imageId   | String | 镜像ID。                                                    |
| imageName | String | 镜像名称。                                                    |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 用实例创建一个自定义镜像。**

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

Request：
{
  "instanceId": "<instance id>",
  "imageName": "imageXXX"
}

Response：
{
  "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
  "response": {
    "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
    "imageId": "imageIdX",
    "imageName": "imageNameX"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

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

## 6. 错误码

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

| HTTP状态码 | 错误码                                               | 说明              |
| ------- | ------------------------------------------------- | --------------- |
| 400     | INVALID\_IMAGE\_QUOTA\_EXCEED                     | 自定义镜像超过数量限制。    |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                     | 服务器实例不存在。       |
| 400     | OPERATION\_DENIED\_GPU\_INSTANCE\_NOT\_SUPPORT    | 实例类型为GPU不允许该操作。 |
| 400     | OPERATION\_DENIED\_INSTANCE\_IN\_OPERATION        | 实例正在其它操作中。      |
| 400     | OPERATION\_DENIED\_INSTANCE\_STATUS\_NOT\_SUPPORT | 实例状态不允许操作。      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/cn/compute/zec/image/createimage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
