批量创建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。
URI
POST /v2/{project_id}/dnat_rules/batch
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
项目的ID。 最小长度:1 最大长度:36 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
否 |
String |
用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:10240 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
dnat_rules |
是 |
Array of CreateNatGatewayDnatOption objects |
DNAT规则批量创建对象的请求体。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
description |
否 |
String |
DNAT规则的描述,长度范围小于等于255个字符,不能包含“<”和“>”。 最小长度:0 最大长度:255 |
|
port_id |
否 |
String |
虚拟机或者裸机的Port ID,对应虚拟私有云场景,与private_ip参数二选一。 最小长度:36 最大长度:36 |
|
private_ip |
否 |
String |
用户私有IP地址,对应专线、云连接场景,与port_id参数二选一。 最小长度:7 最大长度:15 |
|
nat_gateway_id |
是 |
String |
公网NAT网关实例的ID。 最小长度:36 最大长度:36 |
|
internal_service_port |
是 |
Integer |
虚拟机或者裸机对外提供服务的协议端口号。 取值范围:0~65535。 最小值:0 最大值:65535 |
|
floating_ip_id |
是 |
String |
弹性公网IP的id。 最小长度:36 最大长度:36 |
|
external_service_port |
是 |
Integer |
Floatingip对外提供服务的端口号。 取值范围:0~65535。 最小值:0 最大值:65535 |
|
protocol |
是 |
String |
协议类型,目前支持TCP/tcp、UDP/udp、ANY/any。 对应协议号6、17、0。 |
|
internal_service_port_range |
否 |
String |
虚拟机或者裸机对外提供服务的协议端口号范围。 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。 |
|
external_service_port_range |
否 |
String |
Floatingip对外提供服务的端口号范围。 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。 |
|
global_eip_id |
否 |
String |
全域弹性公网IP的id。 最小长度:36 最大长度:36 |
响应参数
状态码: 201
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
dnat_rules |
Array of NatGatewayDnatRuleResponseBody objects |
DNAT规则批量创建对象的响应体。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
DNAT规则的ID。 最小长度:36 最大长度:36 |
|
tenant_id |
String |
项目的ID。 最小长度:1 最大长度:36 |
|
description |
String |
DNAT规则的描述。长度范围小于等于255个字符,不能包含“<”和“>”。 最小长度:0 最大长度:255 |
|
port_id |
String |
虚拟机或者裸机的Port ID,对应虚拟私有云场景,与private_ip参数二选一。 最小长度:36 最大长度:36 |
|
private_ip |
String |
用户私有IP地址,对应专线、云连接场景,与port_id参数二选一。 最小长度:7 最大长度:15 |
|
internal_service_port |
Integer |
虚拟机或者裸机对外提供服务的协议端口号。 取值范围:0~65535。 最小值:0 最大值:65535 最小长度:1 最大长度:5 |
|
nat_gateway_id |
String |
公网NAT网关实例的ID。 最小长度:1 最大长度:36 |
|
floating_ip_id |
String |
弹性公网IP的id。 最小长度:1 最大长度:36 |
|
floating_ip_address |
String |
弹性公网IP的IP地址。 最小长度:7 最大长度:15 |
|
external_service_port |
Integer |
Floatingip对外提供服务的端口号。 取值范围:0~65535。 |
|
status |
String |
DNAT规则的状态。 取值为: "ACTIVE": 可用 "PENDING_CREATE":创建中 "PENDING_UPDATE":更新中 "PENDING_DELETE":删除中 "EIP_FREEZED":EIP冻结 "INACTIVE":不可用 枚举值:
|
|
admin_state_up |
Boolean |
解冻/冻结状态。 取值范围: − “true”: 解冻 − “false”: 冻结 |
|
internal_service_port_range |
String |
虚拟机或者裸机对外提供服务的协议端口号范围。 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。 |
|
external_service_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 枚举值:
|
|
created_at |
String |
DNAT规则的创建时间,格式是yyyy-mm-dd hh:mm:ss.SSSSSS。 最小长度:1 最大长度:36 |
|
global_eip_id |
String |
全域弹性公网IP的id。 最小长度:36 最大长度:36 |
|
global_eip_address |
String |
全域弹性公网IP的地址。 最小长度:7 最大长度:15 |
请求示例
批量创建规则(第一条为指定端口的规则,第二条为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操作正常返回。
{
"dnat_rules" : [ {
"floating_ip_id" : "bf99c679-9f41-4dac-8513-9c9228e713e1",
"status" : "PENDING_CREATE",
"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" : "PENDING_CREATE",
"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操作正常返回。 |
错误码
请参见错误码。