更新DNAT规则
功能介绍
更新DNAT规则。
 
 
   更新操作时,要求DNAT规则状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。port_id和private_ip不能同时生效。对于all port类型的规则,要求internal_service_port = 0,external_service_port = 0,protocol = ANY。
更新操作涉及以下字段更新时,要求这些字段必须一起更新。包括:port_id、private_ip、internal_service_port、external_service_port、floating_ip_id、protocol、internal_service_port_range、external_service_port_range。
URI
PUT /v2/{project_id}/dnat_rules/{dnat_rule_id}
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| project_id | 是 | String | 项目ID。 | 
| dnat_rule_id | 是 | String | DNAT规则的id。 | 
请求消息
请求参数如表3所示。
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| dnat_rule | 是 | Object | dnat_rule对象。请参考dnat_rule。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| nat_gateway_id | 是 | String | NAT网关的id。 | 
| port_id | 否 | String | 虚拟机或者裸机的Port ID,与private_ip参数二选一。 | 
| private_ip | 否 | String | 用户私有IP地址,例如专线连接的私有云地址,与port_id参数二选一。 | 
| internal_service_port | 否 | Integer | 虚拟机或者裸机对外提供服务的协议端口号。 | 
| floating_ip_id | 否 | String | 弹性公网IP的id。 | 
| external_service_port | 否 | Integer | Floatingip对外提供服务的端口号。 | 
| protocol | 否 | String | 协议类型,目前支持TCP/tcp、UDP/udp、ANY/any。 对应协议号6、17、0。 | 
| description | 否 | String(255) | DNAT规则的描述。 | 
| internal_service_port_range | 否 | String | 虚拟机或者裸机对外提供服务的协议端口号范围。 
 | 
| external_service_port_range | 否 | String | Floatingip对外提供服务的端口号范围。 
 | 
响应消息
响应参数如表4所示。
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| id | String | DNAT规则的id。 | 
| tenant_id | String | 项目ID。 | 
| nat_gateway_id | String | NAT网关的id。 | 
| port_id | String | 虚拟机或者裸机的Port ID。 | 
| private_ip | String | 用户私有IP地址,例如专线连接的私有云地址。 | 
| internal_service_port | Integer | 虚拟机或者裸机对外提供服务的协议端口号。 | 
| floating_ip_id | String | 弹性公网IP的id。 | 
| floating_ip_address | String | 弹性公网的IP地址。 | 
| external_service_port | Integer | Floatingip对外提供服务的端口号。 | 
| protocol | String | 协议类型,目前支持TCP、UDP、ANY。 对应协议号6、17、0。 | 
| description | String(255) | DNAT规则的描述。 | 
| status | String | 
 | 
| admin_state_up | Boolean | 
 | 
| created_at | String | 
 | 
| internal_service_port_range | String | 虚拟机或者裸机对外提供服务的协议端口号范围。 
 | 
| external_service_port_range | String | Floatingip对外提供服务的端口号范围。 
 | 
示例
- 请求样例
    - 更新指定端口的规则。
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff { "dnat_rule": { "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "external_service_port": 242, "description": "my dnat rule 01" } }
- 更新all port类型的规则。
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff { "dnat_rule": { "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "private_ip": "192.168.1.100", "internal_service_port": 0, "protocol": "any", "external_service_port": 0, "description": "my dnat rule 01" } }
- 更新指定端口范围的规则。
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff { "dnat_rule": { "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "private_ip": "192.168.1.100", "internal_service_port": 0, "protocol": "tcp", "external_service_port": 0, "description": "my dnat rule 01" , "external_service_port_range":"100-200", "internal_service_port_range":"100-200" } }
- 只更新规则的描述信息。
      PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff { "dnat_rule": { "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "description": "my dnat rule 01" } }
 
- 更新指定端口的规则。
      
- 响应样例
    - 更新指定端口的规则的响应
      { "dnat_rule": { "status": "ACTIVE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "tenant_id": "abc", "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address": "5.21.11.226", "external_service_port": 242, "description": "my dnat rule 01" } }
- 更新all port类型的规则的响应
      { "dnat_rule": { "status": "ACTIVE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "private_ip": "192.168.1.100", "internal_service_port": 0, "protocol": "any", "tenant_id": "abc", "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address ": "5.21.11.227", "external_service_port": 0, "description": "my dnat rule 01" } }
- 更新指定端口范围的规则的响应
      { "dnat_rule": { "status": "ACTIVE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "private_ip": "192.168.1.100", "internal_service_port": 0, "protocol": "tcp", "tenant_id": "abc", "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address ": "5.21.11.227", "external_service_port": 0, "description": "my dnat rule 01", "internal_service_port_range": "100-200", "external_service_port_range": "100-200" } }
- 只更新规则的描述信息的响应
      { "dnat_rule": { "status": "ACTIVE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "private_ip": "", "internal_service_port": 993, "protocol": "tcp", "tenant_id": "abc", "floating_ip_id": "cf99c679-9f41-4dac-8513-9c9228e713e1", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address": "5.21.11.226", "external_service_port": 242, "description": "my dnat rule 01" } }
 
- 更新指定端口的规则的响应
      
状态码
请参考状态码。
 
    