4.2 DNAT 规则
4.2.6 批量创建 DNAT 规则
功能介绍
批量创建DNAT规则。
接口约束
● 批量创建规则时,要求网关状态status = ACTIVE,要求网关管理员状态 admin_state_up = True。
● port_id和private_ip不能同时生效。
● 对于all port类型的规则,要求internal_service_port = 0,external_service_port
= 0,protocol = ANY。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/dnat_rules/batch
表4-47 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目的ID。
获取方法详见获取项目ID。
请求参数
表4-48 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 否 String 用户Token。用户Token也就是 调用获取用户Token获取请求认 证接口的响应值,该接口是唯一 不需要认证的接口。请求响应成 功后在响应消息头中包含的“X-Subject-Token”的值即为Token 值。
表4-49 请求 Body 参数
参数 是否必选 参数类型 描述
dnat_rules 是 Array of CreateNatGa tewayDnatO ption objects
DNAT规则批量创建对象的请求 体。
表4-50 CreateNatGatewayDnatOption
参数 是否必选 参数类型 描述
description 否 String DNAT规则的描述,长度限制为 255。
最大长度:255
port_id 否 String 虚拟机或者裸机的Port ID,对 应虚拟私有云场景,与 private_ip参数二选一。
长度:36
private_ip 否 String 用户私有IP地址,对应专线、云 连接场景,与port_id参数二选 一。
nat_gateway_i
d 是 String 公网NAT网关实例的ID。
长度:36 internal_servic
e_port 是 Integer 虚拟机或者裸机对外提供服务的
协议端口号。 取值范围:
0~65535。
最小值:0 最大值:65535 floating_ip_id 是 String 弹性公网IP的id。
external_servi
ce_port 是 Integer Floatingip对外提供服务的端口 号。 取值范围:0~65535。
最小值:0 最大值:65535
protocol 是 String 协议类型,目前支持TCP/tcp、
UDP/udp、ANY/any。 对应协 议号6、17、0。
参数 是否必选 参数类型 描述 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。
约束:只能以’-’字符连接端 口范围。
响应参数
状态码: 201
表4-51 响应 Body 参数
参数 参数类型 描述
dnat_rules Array of NatGateway DnatRuleRes ponseBody objects
DNAT规则批量创建对象的响应体。
表4-52 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
请求示例
批量创建规则(第一条为指定端口的规则,第二条为all port类型的规则)。
POST https://{Endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/batch { "dnat_rules" : [ {
"floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port" : 993,
"protocol" : "tcp",
"external_service_port" : 242, "description" : "my dnat rule 01"
}, {
"floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "private_ip" : "192.168.1.100",
"internal_service_port" : 0, "protocol" : "any", "external_service_port" : 0, "description" : "my dnat rule 01"
} ] }
响应示例
状态码: 201
POST操作正常返回。
{
"status" : "ACTIVE",
"nat_gateway_id" : "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true,
"port_id" : "9a469561-daac-4c94-88f5-39366e5ea193", "private_ip" : "",
"internal_service_port" : 993, "protocol" : "tcp",
"tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2019-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"
}, {
"floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE",
"nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true,
"port_id" : "",
"private_ip" : "192.168.1.100", "internal_service_port" : 0, "protocol" : "any",
"tenant_id" : "d199ba7e0ba64899b2e81518104b1526", "created_at" : "2019-11-15 15:44:42.595173",
"id" : "79195d50-0271-41f1-bded-4c089c2502ff", "floating_ip_address" : "5.21.11.227",
"external_service_port" : 0, "description" : "my dnat rule 01"
} ] }
状态码
状态码 描述
201 POST操作正常返回。
错误码
请参见错误码。