# CreateNetworkInterface

## 1. 接口描述

本接口(CreateNetworkInterface)用于创建一张辅助网卡。

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

* 此操作为异步接口，调用成功后，辅助网卡并未立刻创建成功， 需要等待网卡的状态从`PENDING`到`Available`则为创建成功，如果状态变为`CREATE_FAILED`则创建失败。
  {% endhint %}

## 2. 请求参数

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

| 参数名称               | 必选 | 类型                                                                                                                | 描述                                                                                                                                                   |
| ------------------ | -- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| name               | 是  | String                                                                                                            | <p>网卡名称。</p><p>范围2到63个字符。</p><p>仅支持输入字母、数字、-/\_和英文句点(.)。</p><p>且必须以数字或字母开头和结尾。</p>                                                                   |
| subnetId           | 是  | String                                                                                                            | 子网的ID。                                                                                                                                               |
| nicStackType       | 否  | [SubnetStackType](https://docs.console.zenlayer.com/api-reference/cn/compute/datastructure#subnetstacktype)       | <p>网卡的IP堆栈类型。</p><p>如果不指定，会根据子网堆栈类型决定：如果子网是V4,则网卡为V4，如果子网是V6,则网卡为V6。</p><p>如果网卡要V4\&V6，请指定该参数。</p>                                                   |
| resourceGroupId    | 否  | String                                                                                                            | 网卡创建所在的资源组ID，如不指定则放入默认资源组。                                                                                                                           |
| securityGroupId    | 否  | String                                                                                                            | <p>指定安全组ID。</p><p>目前一个网卡只能关联1个安全组。</p><p>如果未指定，会默认用VPC关联下的安全组。</p>                                                                                   |
| internetChargeType | 否  | [InternetChargeType](https://docs.console.zenlayer.com/api-reference/cn/compute/datastructure#internetchargetype) | <p>公网IPv6的网络计费方式。</p><p>当子网的堆栈类型包括V6且为公网时，需要指定。</p>                                                                                                  |
| bandwidth          | 否  | Integer                                                                                                           | <p>公网IPv6的带宽限速。</p><p>单位Mbps。</p><p>当子网的堆栈类型包括V6且为公网时，需要指定。</p><p>可选值范围：\[1, +)</p>                                                                  |
| packageSize        | 否  | Float                                                                                                             | <p>公网IPv6的流量包大小。</p><p>单位为TB。</p><p>值要求为0或0.1的倍数。</p><p>当子网的堆栈类型包括V6且为公网时，且网络计费方式是流量计费(<code>ByTrafficPackage</code>)需要指定。</p><p>可选值范围：\[0.0, +)</p> |
| clusterId          | 否  | String                                                                                                            | <p>公网IPv6所指定的共享带宽包ID。</p><p>当子网的堆栈类型包括V6且为公网时，且网络计费方式是共享带宽包计费(<code>BandwidthCluster</code>)需要指定。</p>                                                |
| marketingOptions   | 否  | [MarketingInfo](https://docs.console.zenlayer.com/api-reference/cn/compute/datastructure#marketinginfo)           | 市场营销相关的选项。                                                                                                                                           |
| 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> |
| nicId     | String | 创建的辅助网卡ID。                                               |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 在IPv4堆栈类型的子网下创建一张辅助网卡。**

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

Request：
{
  "name": "Test-NIC",
  "subnetId": "<subnetId>"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "nicId": "<nicId>"
  }
}
```

**2. 在IPv4\&IPv6堆栈类型的子网下创建一张辅助网卡。且带有公网IPv6。该公网IPv6的计费方式为带宽包计费。**

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

Request：
{
  "name": "Test-NIC",
  "subnetId": "<subnetId>",
  "internetChargeType": "BandwidthCluster",
  "bandwidth": 100,
  "clusterId": "<clusterId>"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "nicId": "<nicId>"
  }
}
```

{% 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状态码 | 错误码                                                             | 说明                     |
| ------- | --------------------------------------------------------------- | ---------------------- |
| 404     | INVALID\_EIP\_NOT\_FOUND                                        | EIP不存在。                |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                                   | 服务器实例不存在。              |
| 400     | INVALID\_IP\_BROADCAST\_ADDRESS                                 | IP为广播地址不可用。            |
| 400     | INVALID\_IP\_FIRST\_ADDRESS                                     | IP为网关地址不可用。            |
| 400     | INVALID\_IP\_NETWORK\_ADDRESS                                   | IP为网络地址不可用。            |
| 400     | INVALID\_IP\_OUT\_OF\_RANGE                                     | IP地址不合法，不属于CIDR范围。     |
| 409     | INVALID\_NIC\_INSTANCE\_REGION\_MISMATCH                        | 实例和网卡不在同一个节点。          |
| 400     | INVALID\_NIC\_IPV6\_EXISTS                                      | 网卡已绑定IPv6，无法操作。        |
| 400     | INVALID\_PARAMETER\_BANDWIDTH\_ERROR                            | 带宽限速值超过最小限制。           |
| 400     | INVALID\_PARAMETER\_BANDWIDTH\_EXCEED                           | 带宽限速值超过最大限制。           |
| 400     | INVALID\_PARAMETER\_FLOW\_TRAFFIC\_PACKAGE                      | 流量包大小不合法。              |
| 400     | INVALID\_PARAMETER\_TRAFFIC\_PACKAGE\_EXCEED                    | 流量包大小超过最大限制。           |
| 400     | INVALID\_REGION\_NOT\_ON\_SALE                                  | 指定的区域未开售。              |
| 404     | INVALID\_SECURITY\_GROUP\_NOT\_FOUND                            | 安全组不存在。                |
| 409     | INVALID\_SUBNET\_IPV4\_INSUFFICIENT                             | Subnet下可用的IPv4数量不足。    |
| 409     | INVALID\_SUBNET\_IPV6\_INSUFFICIENT                             | Subnet下可用的IPv6数量不足。    |
| 404     | INVALID\_SUBNET\_NOT\_FOUND                                     | 子网不存在。                 |
| 409     | INVALID\_SUBNET\_PRIVATE\_IPV4\_IN\_USED                        | 内定的内网IP已经被使用。          |
| 400     | OPERATION\_DENIED\_EIP\_IS\_DEFAULT                             | 默认公网IP无法解绑。            |
| 400     | OPERATION\_DENIED\_EIP\_IS\_NOT\_UN\_ASSIGN                     | EIP状态未解绑。              |
| 400     | OPERATION\_DENIED\_EIP\_NIC\_NOT\_ADAPTER                       | 指定的网卡数量与需要创建的EIP数量不一致。 |
| 400     | OPERATION\_DENIED\_EIP\_NOT\_ASSIGNED                           | EIP状态未绑定。              |
| 400     | OPERATION\_DENIED\_EIP\_NOT\_SUPPORT\_PASS\_THROUGH\_BIND\_TYPE | EIP模式不支持高速模式。          |
| 400     | OPERATION\_DENIED\_INSTANCE\_NIC\_NOT\_ADAPTER                  | 指定的实例数量与需要创建的网卡数量不一致。  |
| 400     | OPERATION\_DENIED\_INSTANCE\_STATUS\_NOT\_SUPPORT               | 实例状态不允许操作。             |
| 400     | OPERATION\_DENIED\_INTERNET\_CHARGE\_TYPE\_NOT\_SUPPORT         | IP网络计费方式不支持。           |
| 400     | OPERATION\_DENIED\_STACK\_TYPE\_NOT\_SUPPORT                    | 堆栈类型不支持。               |
| 400     | OPERATION\_DENIED\_SUBNET\_TYPE\_NOT\_SUPPORT\_IPV4             | 子网堆栈类型不包括IPv4。         |


---

# 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/vnic/createnetworkinterface.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.
