# CreatePrivateConnect

## 1. 接口描述

调用本接口用于创建一条二层网络专线。

#### 准备工作

* **物理端口连接点**：可用通过[DescribePrivateConnectAvailablePorts](https://docs.console.zenlayer.com/api-reference/cn/networking/sdn/private-connect/describeprivateconnectavailableports-1) 接口查询可用于加入二层网络专线的物理端口信息。
* **云接入支持的数据中心查询：**
  * 可以通过 [DescribeGoogleRegions](https://docs.console.zenlayer.com/api-reference/cn/networking/sdn/cloud/describegoogleregions) 查询Goolge 云接入点支持的数据中心信息。
  * 可以通过 [DescribeAWSRegions](https://docs.console.zenlayer.com/api-reference/cn/networking/sdn/cloud/describe-aws-regions) 查询AWS云接入点支持的数据中心信息。
  * 可以通过 [DescribeTencentRegions](https://docs.console.zenlayer.com/api-reference/cn/networking/sdn/cloud/describe-tencent-regions)查询Tencent 云接入点支持的数据中心信息。

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

* 目前只支持创建后付费固定带宽计费的二层网络专线。
* 云接入操作详见[云接入操作指南](https://docs.console.zenlayer.com/welcome/cloud-networking/get-started/validate-connection-in-public-cloud)
* 本接口为异步接口，当创建实例请求下发成功后会返回一个二层网络专线的`ID`，此时创建操作并未立即完成。在此期间实例的状态将会处于\*\*`DEPLOYING`\*\*，创建结果可以通过调用[**`DescribePrivateConnects`**](https://docs.console.zenlayer.com/api-reference/cn/networking/sdn/private-connect/describeprivateconnects) **接口查询，如果状态(privateConnectStatus)由`DEPLOYING`(创建中)变为AVAILABLE**(可用)，则代表创建成功，如果未查询到任何记录，则代表创建失败，创建过程中不可对二层网络专线进行任何操作。
  {% endhint %}

## 2. 请求参数

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

<table><thead><tr><th width="214">参数名称</th><th width="78">必选</th><th width="197">类型</th><th>描述</th></tr></thead><tbody><tr><td>privateConnectName</td><td>否</td><td>String</td><td>二层网络专线的名称。<br>长度不能超过255。<br>默认为private-connect-{当前时间戳}。</td></tr><tr><td>endpointA</td><td>是</td><td><a href="../../datastructure#createendpointparam">CreateEndpointParam</a></td><td>创建二层网络其中一端的连接点（A）</td></tr><tr><td>endpointZ</td><td>否</td><td><a href="../../datastructure#createendpointparam">CreateEndpointParam</a></td><td>创建二层网络另一端的连接点（Z）</td></tr><tr><td>bandwidthMbps</td><td>否</td><td>Integer</td><td><p>二层网络专线最大带宽。</p><p>范围是1～500。<br>默认值是1 ，单位：Mbps。</p></td></tr><tr><td>resourceGroupId</td><td>否</td><td>String</td><td><p>资源组的ID。</p><p>如果不传，则会放到默认资源组。</p></td></tr><tr><td>marketingOptions</td><td>否</td><td><a href="../../datastructure#marketingoptions">MarketingOptions</a></td><td>市场营销活动相关信息。</td></tr></tbody></table>

## 3. 响应结果

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

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 创建1个二层网络专线, A端为数据中心端口，Z端为端口，专线的带宽为10Mbps。**

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

Request：
{
   "endpointA": {
      "vlanId": 1001,
      "portId": "your port id"
   },
   "privateConnectName": "fra-sel-prviate-line",
   "endpointZ": {
      "vlanId": 2001,
      "portId": "your portId id"
   },
   "bandwidthMbps": 10
}

Response：
{   
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
     "requestId": "T98044459-95B2-477E-9A2F-00253A70CC6E"，
     "privateConnectId": "your private connect id"
  }
}
```

{% 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)

<table><thead><tr><th width="153">HTTP状态码</th><th width="326">错误码</th><th>说明</th></tr></thead><tbody><tr><td>404</td><td>INVALID_PORT_NOT_FOUND</td><td>数据中心端口不存在</td></tr><tr><td>400</td><td>INVALID_PORT_STATUS</td><td>数据中心连通性状态不是UP，无法操作</td></tr><tr><td>400</td><td>INVALID_ENDPOINT_PARAMETER</td><td>端点的参数不正确，无法判断类型</td></tr><tr><td>400</td><td>INVALID_CONNECT_ENDPOINT_CONFLICT</td><td>A-Z 两端的信息不能一样</td></tr></tbody></table>
