# CreateVpc

## 1. 接口描述

本接口用于创建一个私有网络VPC。

#### 准备工作

* 在创建VPC之前，你可以调用`DescribeVpcAvailableRegions`进行查看哪些节点支持VPC的创建。

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

* 同一个VPC节点能创建的VPC资源个数也是有限制的，详见VPC使用限制，如果需要申请更多资源，请提交Support申请。
* 本接口为异步接口，当创建VPC请求下发成功后会返回一个VPC`ID`列表，此时创建VPC操作并未立即完成。在此期间VPC的状态将会处于`CREATING`，VPC创建结果可以通过调用`DescribeVpcs`接口查询，如果VPC状态由`CREATING`(创建中)变为`AVAILABLE`，则代表VPC创建成功，`CREATE_FAILED`代表VPC创建失败。创建过程中不可对VPC进行任何操作。
  {% endhint %}

## 2. 请求参数

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

<table><thead><tr><th>参数名称</th><th width="97">必选</th><th width="128">类型</th><th>描述</th></tr></thead><tbody><tr><td>vpcRegionId</td><td>是</td><td>String</td><td>VPC的节点ID。</td></tr><tr><td>cidrBlock</td><td>是</td><td>String</td><td>VPC的CIDR。</td></tr><tr><td>vpcName</td><td>是</td><td>String</td><td><p>VPC的名称。</p><p>范围1到64个字符。仅支持输入字母、数字、-和英文句点(.)。</p></td></tr><tr><td>resourceGroupId</td><td>否</td><td>String</td><td><p>VPC所在的资源组ID。</p><p>如果不指定，则会放入默认资源组， 如果用户没有默认资源组权限， 则请求将会失败。</p></td></tr></tbody></table>

## 3. 响应结果

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

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 创建CHI1节点的VPC。**

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

Request:
{
  "vpcRegionId": "CHI1",
  "cidrBlock": "10.0.0.0/8",
  "vpcName": "Test-VPC"
}

Response:
{
  "requestId": "T3811A0E7-C250-40A2-96AD-08AD759E1BC2",
  "response": {
    "requestId": "T3811A0E7-C250-40A2-96AD-08AD759E1BC2",
    "vpcId": "835957634816289496"
  }
}
```

{% 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="160.33333333333331">HTTP状态码</th><th>错误码</th><th>说明</th></tr></thead><tbody><tr><td>404</td><td>INVALID_VPC_REGION_NOT_FOUND</td><td>VPC RegionId 不存在。</td></tr><tr><td>403</td><td>OPERATION_DENIED_VPC_REGION_EXCEED_LIMIT</td><td>VPC RegionId下数量限制。</td></tr><tr><td>400</td><td>INVALID_PARAMETER_VPC_LAN_IP_NETMASK</td><td>CidrBlock 掩码范围错误。</td></tr><tr><td>400</td><td>INVALID_PARAMETER_VPC_CIDR_BLOCK</td><td>CidrBlock 参数格式错误。</td></tr><tr><td>400</td><td>INVALID_PARAMETER_VPC_LAN_IP</td><td>CidrBlock 不是私网IP。</td></tr></tbody></table>
