# CreateDisks

## 1. 接口描述

本接口(CreateDisks)用于创建一个或多个云硬盘。

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

* 本接口为异步接口，当创建云硬盘请求下发成功后会返回一个云硬盘ID列表，此时创建云硬盘操作并未立即完成。云硬盘创建结果可以通过 [`DescribeDisks`](/api-reference/cn/compute/zec/disk/describedisks.md) 查询。如果能够查询到对应云硬盘数据且状态为`AVAILABLE`则代表云硬盘创建成功，如果创建时指定了挂载到某个实例，则当状态为`IN_USE`时则代表挂载成功。
  {% endhint %}

## 2. 请求参数

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

| 参数名称             | 必选 | 类型                                                                              | 描述                                                                                                                                               |
| ---------------- | -- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| zoneId           | 是  | String                                                                          | 云硬盘所属的可用区ID。                                                                                                                                     |
| diskName         | 是  | String                                                                          | <p>云盘名称。</p><p>范围1到64个字符。</p><p>仅支持输入字母、数字、-/\_和英文句点(.)。</p><p>且必须以数字或字母开头和结尾。</p>                                                               |
| diskSize         | 是  | Integer                                                                         | 云硬盘大小，单位GiB。                                                                                                                                     |
| diskAmount       | 否  | Integer                                                                         | <p>需要创建的云硬盘的数量。</p><p>可选值范围：\[1, 50]</p><p>默认值：1</p>                                                                                             |
| instanceId       | 否  | String                                                                          | 云硬盘挂载的实例ID。                                                                                                                                      |
| resourceGroupId  | 否  | String                                                                          | <p>云硬盘所在的资源组ID。</p><p>如不指定则放入默认资源组。</p>                                                                                                          |
| diskCategory     | 否  | String                                                                          | <p>云硬盘种类。</p><p>Basic NVMe SSD: 经济型 NVMe SSD。</p><p>Standard NVMe SSD: 标准型 NVMe SSD。</p><p>默认为Standard NVMe SSD。</p><p>默认值：Standard NVMe SSD</p> |
| snapshotId       | 否  | String                                                                          | <p>使用快照ID进行创建。</p><p>如果传入则根据此快照创建云硬盘，快照的云盘类型必须为数据盘快照。</p>                                                                                        |
| marketingOptions | 否  | [MarketingInfo](/api-reference/cn/compute/zec/datastructure.md#marketinginfo)   | 市场营销的相关选项。                                                                                                                                       |
| tags             | 否  | [TagAssociation](/api-reference/cn/compute/zec/datastructure.md#tagassociation) | <p>创建云硬盘时关联的标签。</p><p>注意：·关联<code>标签键</code>不能重复。</p>                                                                                            |
| instanceIds      | 否  | Array of String                                                                 | <p>要绑定的实例ID。</p><p>数量需要与<code>diskAmount</code>字段一致。</p>                                                                                         |
| burstingEnabled  | 否  | Boolean                                                                         | <p>是否开启性能突发。</p><p>默认值：false</p>                                                                                                                 |

## 3. 响应结果

| 参数名称        | 类型              | 描述                                                       |
| ----------- | --------------- | -------------------------------------------------------- |
| requestId   | String          | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| diskIds     | Array of String | 创建的云硬盘ID列表。                                              |
| orderNumber | String          | 本次创建对应的订单编号。                                             |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 创建1块30G大小的云硬盘。**

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

Request：
{
  "diskName": "Test-Disk",
  "diskSize": 30,
  "diskAmount": 1,
  "zoneId": "asia-east-1a"
}

Response:
{
  "requestId": "T842EE571-4490-4AFE-9F17-931030D3B4F9",
  "response": {
    "requestId": "T842EE571-4490-4AFE-9F17-931030D3B4F9",
    "diskIds": [
      "<diskId>"
    ],
    "orderNumber": "<orderNumber>"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

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

## 6. 错误码

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

| HTTP状态码 | 错误码                                                  | 说明                    |
| ------- | ---------------------------------------------------- | --------------------- |
| 400     | INVALID\_DISK\_CATEGORY\_ZONE\_NO\_SELL              | 指定的云硬盘种类在指定的区域未开售。    |
| 400     | INVALID\_DISK\_SIZE\_EXCEED\_MAXIMUM                 | 云盘最大值超限。              |
| 400     | INVALID\_DISK\_SIZE\_LESS\_MINIMUM                   | 云盘最小值超限。              |
| 404     | INVALID\_DISK\_SNAPSHOT\_NOT\_FOUND                  | 云盘快照实例不存在。            |
| 400     | INVALID\_DISK\_SNAPSHOT\_SIZE\_MISMATCH              | 所创建磁盘的容量小于云盘快照原始磁盘大小。 |
| 404     | INVALID\_DISK\_SNAPSHOT\_ZONE\_MISMATCH              | 云盘快照实例与指定区域不匹配。       |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                        | 服务器实例不存在。             |
| 404     | INVALID\_INSTANCE\_OR\_ZONE\_CANNOT\_BE\_BOTH\_EMPTY | 实例和区域不能同时为空。          |
| 400     | INVALID\_ZONE\_MISMATCH                              | ZONE不匹配。              |
| 404     | INVALID\_ZONE\_NOT\_FOUND                            | 可用区不存在。               |
| 400     | LIMIT\_EXCEEDED\_INSTANCE\_CAN\_ATTACH               | 超出实例可挂载云硬盘的最大数量。      |
| 400     | OPERATION\_DENIED\_DISK\_INSTANCE\_NOT\_ADAPTER      | 指定的实例数量与需要创建的云盘数量不一致。 |
| 400     | OPERATION\_DENIED\_DISK\_IO\_BURST                   | 未开启云盘性能突发功能。          |
| 400     | OPERATION\_DENIED\_DISK\_SNAPSHOT\_STATUS            | 云盘快照实例状态不支持。          |
| 400     | OPERATION\_DENIED\_DISK\_SYSTEM\_TYPE                | 云盘类型是系统盘不支持该操作。       |
| 400     | UNSUPPORTED\_OPERATION\_INSTANCE\_STATUS             | 实例状态不支持此操作。           |


---

# 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/disk/createdisks.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.
