> 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/legacy/vm/classic-network/createsubnet.md).

# CreateSubnet

## 1. 接口描述

本接口(CreateSubnet)用于创建子网。

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

* 同一个可用区能创建的子网资源个数也是有限制的，详见子网使用限制，如果需要申请更多资源，请提交Support申请。
* 本接口为异步接口，当创建子网请求下发成功后会返回一个子网`ID`列表，此时创建子网操作并未立即完成。在此期间子网的状态将会处于`Creating`**，子网创建结果可以通过调用**[**`DescribeSubnets`**](/api-reference/cn/legacy/vm/classic-network/describesubnets.md)**接口查询，如果子网状态由**`Creating`**(创建中)变为**`Available`**，则代表子网创建成功，**`Failed`代表子网创建失败。创建过程中不可对子网进行任何操作。
  {% endhint %}

## 2. 请求参数

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

| 参数名称              | 必选 | 类型     | 描述                                                                                         |
| ----------------- | -- | ------ | ------------------------------------------------------------------------------------------ |
| cidrBlock         | 是  | String | <p>子网的CIDR。</p><p>可选值10.0.0.0/16、172.16.0.0/16和192.168.0.0/16及它们包含的子网。</p><p>子网网段不能重叠。</p> |
| subnetName        | 是  | String | <p>子网的名称。</p><p>范围2到63个字符。</p><p>仅支持输入字母、数字、-和英文句点(.)。</p><p>且必须以数字或字母开头和结尾。</p>           |
| zoneId            | 是  | String | 子网的节点ID。                                                                                   |
| subnetDescription | 否  | String | 子网的描述信息。                                                                                   |

## 3. 响应结果

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

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 在FRA-A可用区创建Subnet。**

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

Request:
{
  "zoneId": "FRA-A",
  "cidrBlock": "10.0.0.0/20",
  "subnetName": "subnetXXX",
  "subnetDescription": "subnetXXX Description"
}

Response:
{
  "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
  "response": {
    "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
    "subnetId": "914862014017316658"
  }
}
```

{% 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状态码 | 错误码                                                         | 说明                              |
| ------- | ----------------------------------------------------------- | ------------------------------- |
| 500     | CREATE\_SUBNET\_FAILED                                      | 创建失败。                           |
| 400     | UNSUPPORTED\_OPERATION\_SUBNET\_BIND\_NETWORK\_COUNT\_LIMIT | 达到子网的数量限制。                      |
| 400     | UNSUPPORTED\_OPERATION\_CIDR\_BLOCK\_IS\_EXIST              | CIDR 地址冲突。请检查子网下是否存在相同的CIDR地址段。 |
| 400     | INVALID\_CIDR\_BLOCK\_FORMAT                                | CIDR 格式错误。请注意是否为IP/掩码格式。        |
| 400     | INVALID\_CIDR\_BLOCK\_NETMASK                               | CIDR 掩码范围不支持。                   |
| 400     | INVALID\_CIDR\_BLOCK\_NOT\_LAN\_IP                          | CIDR 不是私有网络段。                   |
| 400     | INVALID\_CIDR\_BLOCK\_INVALID\_INTERNAL\_IP                 | CIDR 非法的内网地址段。                  |
| 400     | INVALID\_REGION\_NOT\_ON\_SALE                              | 指定的区域未开售。                       |
