> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/compute/zec/disk/createdisks.md).

# 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             | 实例状态不支持此操作。           |
