4.2 DNAT 规则
4.2.4 更新 DNAT 规则
响应示例
无
状态码
状态码 描述
204 删除DNAT规则成功。
错误码
请参见错误码。
4.2.4 更新 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。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v2/{project_id}/dnat_rules/{dnat_rule_id}
表4-37 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目的ID。
最小长度:1 最大长度:36
获取方法详见获取项目ID。
dnat_rule_id 是 String DNAT规则的ID。
长度:36
请求参数
表4-38 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。用户Token也就是 调用获取用户Token获取请求认 证接口的响应值,该接口是唯一 不需要认证的接口。请求响应成 功后在响应消息头中包含的“X-Subject-Token”的值即为Token 值。
最小长度:1 最大长度:10240
表4-39 请求 Body 参数
参数 是否必选 参数类型 描述
dnat_rule 否 UpdateNatG atewayDnatR uleOption object
更新DNAT规则的请求体。
表4-40 UpdateNatGatewayDnatRuleOption
参数 是否必选 参数类型 描述
nat_gateway_i
d 是 String NAT网关的id。
description 否 String DNAT规则的描述,长度限制为 255。
最大长度:255
port_id 否 String 虚拟机或者裸机的Port ID,与 private_ip参数二选一。
private_ip 否 String 用户私有IP地址,例如专线连接 的私有云地址,与port_id参数 二选一。
protocol 否 String 协议类型,目前支持TCP/tcp、
UDP/udp、ANY/any。对应协 议号6、17、0。
最小长度:1 最大长度:3 枚举值:
● TCP
● UDP
● ANY
floating_ip_id 否 String 弹性公网IP的id。
internal_servic
e_port 否 Integer 虚拟机或者裸机对外提供服务的
协议端口号。取值范围:
0~65535。
最小值:0 最大值:65535 最小长度:1 最大长度:5
参数 是否必选 参数类型 描述 external_servi
ce_port 否 Integer Floatingip对外提供服务的端口 号。取值范围:0~65535。
最小值:0 最大值:65535 最小长度:1 最大长度:10 internal_servic
e_port_range 否 String 虚拟机或者裸机对外提供服务的 协议端口号范围。功能说明:该 端口范围与external
_service_port_range按顺序实现 1:1映射。取值范围:
1~65535。约束:只能以’-’
字符连接端口范围。
external_servi
ce_port_range 否 String Floatingip对外提供服务的端口 号范围。功能说明:该端口范围 与internal _service_port_range 按顺序实现1:1映射。取值范 围:1~65535。约束:只能 以’-’字符连接端口范围。
响应参数
状态码: 200
表4-41 响应 Body 参数
参数 参数类型 描述
dnat_rule NatGateway DnatRuleRes ponseBody object
DNAT规则的响应体。
表4-42 NatGatewayDnatRuleResponseBody
参数 参数类型 描述
id String DNAT规则的ID。
长度:36 tenant_id String 项目的ID。
description String DNAT规则的描述。长度限制为255。
最大长度:255
参数 参数类型 描述
port_id String 虚拟机或者裸机的Port ID,与private_ip参数二选 一。
长度:36
private_ip String 用户私有IP地址,例如专线连接的私有云地址,
与port_id参数二选一。
internal_servic
e_port Integer 虚拟机或者裸机对外提供服务的协议端口号。取 值范围:0~65535。
最小值:0 最大值:65535 最小长度:1 最大长度:5 nat_gateway_i
d String 公网NAT网关实例的ID。
最小长度:1 最大长度:36 floating_ip_id String 弹性公网IP的id。
最小长度:1 最大长度:36 floating_ip_ad
dress String 弹性公网IP的IP地址。
external_servi
ce_port Integer Floatingip对外提供服务的端口号。取值范围:
0~65535。
status String 功能说明:DNAT规则的状态。
枚举值:
● ACTIVE
● PENDING_CREATE
● PENDING_UPDATE
● PENDING_DELETE
● EIP_FREEZED
● INACTIVE admin_state_
up Boolean 解冻/冻结状态。取值范围:
● "true": 解冻
● "false": 冻结 internal_servic
e_port_range String 虚拟机或者裸机对外提供服务的协议端口号范 围。功能说明:该端口范围与external
_service_port_range按顺序实现1:1映射。取值范 围:1~65535。约束:只能以’-’字符连接端口 范围。
参数 参数类型 描述 external_servi
ce_port_range String Floatingip对外提供服务的端口号范围。功能说 明:该端口范围与internal _service_port_range 按顺序实现1:1映射。取值范围:1~65535。约 束:只能以’-’字符连接端口范围
protocol String 协议类型,目前支持TCP/tcp、UDP/udp、ANY/
any。对应协议号6、17、0。
最小长度:1 最大长度:3 枚举值:
● tcp
● udp
● any
created_at String DNAT规则的创建时间,遵循UTC时间,格式是 yyyy-mm-ddThh:mm:ssZ。
最小长度:1 最大长度:36
请求示例
PUT https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
{ "dnat_rule" : {
"description" : "my dnat-rules"
}}
响应示例
状态码: 200
更新DNAT规则成功。
{ "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" : "d199ba7e0ba64899b2e81518104b1526", "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"
}}
状态码
状态码 描述
200 更新DNAT规则成功。
错误码
请参见错误码。