
# 绑定公网网关-BindingaPublicGateway
#### 功能介绍
为实例下的节点绑定公网网关。
#### 接口约束
- 冻结实例，异常实例不支持该操作。
- 副本集实例仅支持Primary或者Secondary节点。
- 集群实例仅支持mongos节点。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DDS/doc?api=BindPublicGateway)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dds/dds_api_permission.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                            | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                              | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|:---|:---|
  | dds:instance:bindPublicGateway | write | instance    | [g:EnterpriseProjectId](https://support.huaweicloud.com/api-dds/dds_api_0042.html#dds_api_0042__li1539015369314) | -  | - nat:dnatRules:create  - nat:dnatRules:get  - nat:dnatRules:list  - nat:natGateways:get  - nat:natGateways:list  - nat:natGateways:listTags  - nat:snatRules:list  - eip:publicIps:associateInstance  - eip:publicIps:disassociateInstance   |
     
  
 
#### URI
- URI格式 POST /v3/{project_id}/instances/{instance_id}/nodes/{node_id}/public-gateway
  
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。请参考[获取项目ID](https://support.huaweicloud.com/api-dds/dds_projectid.html)章节获取项目编号。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                       |
| instance_id | 是    | String | **参数解释：** 实例ID，可以调用"[查询实例列表和详情-QueryingInstancesandDetails](https://support.huaweicloud.com/api-dds/dds_api_0023.html)"接口获取。如果未申请实例，可以调用"[创建实例-CreatingaDBInstance](https://support.huaweicloud.com/api-dds/dds_api_0020.html)"接口创建。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| node_id     | 是    | String | **参数解释：** 需要绑定公网网关规则的节点ID。 **约束限制：** 集群实例选择mongos节点，副本集实例选择primary或者secondary节点。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                    |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 从IAM服务获取的用户Token。请参考[认证鉴权](https://support.huaweicloud.com/api-dds/dds_api_0010.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数                    | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| nat_gateway_id        | 是    | String  | **参数解释：** 公网NAT网关实例的ID。可以调用"[查询公网NAT网关列表](https://support.huaweicloud.com/api-natgateway/ListNatGateways.html)"接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| public_ip_id          | 是    | String  | **参数解释：** 弹性公网IP的ID。可以调用"[查询弹性公网IP列表](https://support.huaweicloud.com/api-eip/eip_api_0003.html)"接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。          |
| external_service_port | 是    | Integer | **参数解释：** 弹性公网IP对外提供服务的端口号。 **约束限制：** 不涉及。 **取值范围：** 1\~65535。 **默认取值：** 不涉及。                                                                                |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                    | 参数类型    | 描述                                                                                                                                           |
|:---|:---|:---|
| instance_id           | String  | **参数解释：** 实例ID。 **取值范围：** 不涉及。                   |
| instance_name         | String  | **参数解释：** 实例名称。 **取值范围：** 不涉及。                 |
| node_id               | String  | **参数解释：** 节点ID。 **取值范围：** 不涉及。                    |
| node_name             | String  | **参数解释：** 节点名称。 **取值范围：** 不涉及。                   |
| nat_gateway_id        | String  | **参数解释：** 公网NAT网关实例的ID。 **取值范围：** 不涉及。           |
| public_ip_id          | String  | **参数解释：** 弹性公网IP的ID。 **取值范围：** 不涉及。              |
| external_service_port | Integer | **参数解释：** 弹性公网IP对外提供服务的端口号。 **取值范围：** 1\~65535。 |
   
#### 请求示例
```
POST https://{endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/9136fd2a9fcd405ea4674276ce36dae8in02/nodes/52a4c096bb1f455d8d866956a959519eno02/public-gateway    
{    
  "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541",  
  "public_ip_id" : "45da4782-e0c8-4aa4-a290-b8740014f710",
  "external_service_port"  : 8335 
}
```
#### 响应示例
```
{ 
  "instance_id" : "9136fd2a9fcd405ea4674276ce36dae8in02", 
  "instance_name" : "dds-4352", 
  "node_id" : "52a4c096bb1f455d8d866956a959519eno02", 
  "node_name" : "dds-4352_replica_node_1",  
  "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", 
  "public_ip_id" : "45da4782-e0c8-4aa4-a290-b8740014f710",
  "external_service_port"  : 8335 
}
```
#### SDK
单击[文档数据库服务 DDS SDK](https://sdkcenter.developer.huaweicloud.com/?product=DDS)，下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
#### 状态码
详情请参见[状态码](https://support.huaweicloud.com/api-dds/dds_status_code.html)。
#### 错误码
详情请参见[错误码](https://support.huaweicloud.com/api-dds/dds_error_code.html)。
