8.1 API v2.0
8.1.1 NAT 网关
8.1.1.5 删除 NAT 网关
}
● 响应样例
{ "nat_gateway": {
"router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "status": "ACTIVE",
"description": "new description", "admin_state_up": true,
"tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:34:32.203044", "spec": "1",
"internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9", "id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
"name": "new_name"
} }
状态码
请参考状态码。
8.1.1.5 删除 NAT 网关 功能介绍
删除NAT网关。
URI
DELETE /v2.0/nat_gateways/{nat_gateway_id}
表8-16 参数说明
参数 是否
必选
参数类 型
描述
nat_gateway_id 是 String 所属NAT网关的id。
请求消息
无
响应消息
无
示例
● 请求样例
DELETE https://{Endpoint}/v2.0/nat_gateways/a78fb3eb-1654-4710-8742-3fc49d5f04f8
● 响应样例
无(STATUS CODE 204)
状态码
请参考状态码。
8.1.2 SNAT 规则
8.1.2.1 创建 SNAT 规则
功能介绍
创建SNAT规则。
说明
创建规则时,要求网关状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。
URI
POST /v2.0/snat_rules
请求消息
表8-17 请求参数
参数 是否
必选
参数类型 描述
snat_rule 是 Object snat_rule对象。详见表8-18。
表8-18 snat_rule 字段说明
参数 是否
必选
参数类 型
描述
nat_gateway_id 是 String 所属NAT网关的id。
network_id 否 String 规则使用的网络id。与cidr参数二选一。
cidr 否 String cidr,可以是网段或者主机格式,与 network_id参数二选一。
Source_type=0时,cidr必须是vpc 子网网段 的子集(不能相等);
Source_type=1时,cidr必须指定专线侧网 段。
source_type 否 Integer 0:VPC侧,可以指定network_id 或者cidr 1:专线侧,只能指定cidr
不输入默认为0(VPC)
floating_ip_id 是 String 功能说明:弹性公网IP的id,多个弹性公网IP 使用逗号分隔。
取值范围:最大长度4096字节。
约束:弹性公网IP的id个数不能超过20个。
获取弹性公网IP的id的方法请参考查询弹性公 网IP列表。
响应消息
响应参数如表8-19所示。
表8-19 响应参数
参数 参数类型 描述
snat_rule Object snat_rule对象。详见表8-20。
表8-20 snat_rule 字段说明
参数 参数类型 描述
id String SNAT规则的id。
tenant_id String 项目的ID。
nat_gateway_i
d String 所属NAT网关的id。
network_id String 规则使用的网络id。
cidr String cidr,vpc子网网段的子集或专线侧网段。
source_type Integer 0:VPC侧,可以指定network_id 或者cidr 1:专线侧,只能指定cidr
不输入默认为0(VPC)
floating_ip_id String(4096) ● 功能说明:弹性公网IP的id,多个弹性公网 IP使用逗号分隔。
● 取值范围:最大长度4096字节。
floating_ip_ad
dress String(1024) ● 功能说明:弹性公网IP,多个弹性公网IP使 用逗号分隔。
● 取值范围:最大长度1024字节。
status String ● 功能说明:SNAT规则的状态。
● 取值范围:资源状态说明。
admin_state_
up Boolean ● 解冻/冻结状态。
● 取值范围:
– “true”:解冻 – “false”:冻结
created_at String SNAT规则的创建时间戳,遵循UTC时间,保留 小数点后6位,格式是yyyy-mm-dd hh:mm:ss
示例
● 请求样例
a. VPC 侧指定network_id
POST https://{Endpoint}/v2.0/snat_rules { "snat_rule": {
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "source_type":0,
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a"
} }
b. VPC侧指定CIDR
"snat_rule": {
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "cidr": "192.168.1.10/32",
"source_type":0,
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a"
} }
c. 专线侧 指定CIDR
POST https://{Endpoint}/v2.0/snat_rules { "snat_rule": {
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "cidr": "172.30.0.0/24",
"source_type":1,
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a"
} }
● 响应样例
a. VPC 侧指定network_id的响应
{ "snat_rule": {
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "PENDING_CREATE",
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true,
"network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "cidr": null,
"source_type":0,
"tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226"
} }
b. VPC 侧指定CIDR的响应
{ "snat_rule": {
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "PENDING_CREATE",
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true,
"cidr": "192.168.1.10/32", "source_type":0,
"tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226"
} }
c. 专线侧指定CIDR的响应
{ "snat_rule": {
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "PENDING_CREATE",
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true,
"cidr": "172.30.0.0/24", "source_type":1,
"tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226"
} }
状态码
请参考状态码。
8.1.2.2 查询 SNAT 规则列表 功能介绍
查询SNAT规则列表。
URI
GET /v2.0/snat_rules 说明
可以在URI后面用‘?’和‘&’添加不同的查询条件组合。支持参数说明中所有非必选参数过 滤,请参考请求样例。
表8-21 参数说明
参数 是否必
选
参数类型 描述
id 否 String SNAT规则的id。
limit 否 Integer 每页返回的个数。
tenant_id 否 String 项目的ID。
nat_gateway_i
d 否 String 所属NAT网关的id。
network_id 否 String 规则使用的网络id。
cidr 否 String cidr,vpc子网网段的子集或专线侧网 段。
source_type 否 Integer 0:VPC侧,可以指定network_id或者 cidr
1:专线侧,只能指定cidr 不输入默认为0(VPC)
floating_ip_id 否 String(4096
) 功能说明:弹性公网IP的id。
floating_ip_add
ress 否 String(1024
) 功能说明:弹性公网IP。
status 否 String ● 功能说明:SNAT规则的状态。
● 取值范围:资源状态说明。
参数 是否必 选
参数类型 描述
admin_state_u
p 否 Boolean ● 解冻/冻结状态。
● 取值范围:
– “true”:解冻 – “false”:冻结
created_at 否 String SNAT规则的创建时间戳,遵循UTC时 间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
请求消息
无
响应消息
响应参数如表8-22所示。
表8-22 响应参数
参数 参数类型 描述
snat_rules List(snat_rule) snat_rule对象列表。详见表8-23。
表8-23 snat_rule 字段说明
参数 参数类型 描述
id String SNAT规则的id。
tenant_id String 项目的ID。
nat_gateway_i
d String 所属NAT网关的id。
network_id String 规则使用的网络id。
cidr String cidr,vpc子网网段的子集或专线侧网段。
source_type Integer 0:VPC侧,可以指定network_id或者cidr 1:专线侧,只能指定cidr
不输入默认为0(VPC)
参数 参数类型 描述
floating_ip_id String(4096) ● 功能说明:弹性公网IP的id,多个弹性 公网IP使用逗号分隔。
● 取值范围:最大长度4096字节。
● 约束:弹性公网IP的id个数不能超过20 个
floating_ip_ad
dress String(1024) ● 功能说明:弹性公网IP,多个弹性公网 IP使用逗号分隔。
● 取值范围:最大长度1024字节。
status String ● 功能说明:SNAT规则的状态。
● 取值范围:资源状态说明。
created_at String SNAT规则的创建时间戳,遵循UTC时 间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
示例
● 请求样例
GET https://{Endpoint}/v2.0/snat_rules?limit=10
● 响应样例
{ "snat_rules": [ {
"floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "status": "ACTIVE",
"nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up": true,
"network_id": "9a469561-daac-4c94-88f5-39366e5ea193", "cidr": "null",
"source_type":0, "tenant_id": "abc",
"created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address": "5.21.11.242"
}, {
"floating_ip_id": "6e496fba-abe9-4f5e-9406-2ad8c809ac8c", "status": "ACTIVE",
"nat_gateway_id": "e824f1b4-4290-4ebc-8322-cfff370dbd1e", "admin_state_up": true,
"network_id": "97e89905-f9c8-4ae3-9856-392b0b2fbe7f", "cidr": "null",
"source_type":0, "tenant_id": "abc",
"created_at": "2017-11-17 07:43:44.830845",
} ] }
状态码
请参考状态码。
8.1.2.3 查询指定的 SNAT 规则详情
功能介绍
查询指定的SNAT规则详情。
URI
GET /v2.0/snat_rules/{snat_rule_id}
表8-24 参数说明
参数 是否必选 参数类型 描述
snat_rule_id 是 String 所属SNAT规则的id。
请求消息
无
响应消息
响应参数如表8-25所示。
表8-25 响应参数
参数 参数类型 描述
snat_rule Object snat_rule对象。详见表8-26。
表8-26 snat_rule 字段说明
参数 参数类型 描述
id String SNAT规则的id。
tenant_id String 项目的ID。
nat_gateway_i
d String 所属NAT网关的id。
network_id String 规则使用的网络id。
参数 参数类型 描述
cidr String cidr,vpc子网网段的子集或专线侧网段。
source_type Integer 0:VPC侧,可以指定network_id或者cidr 1:专线侧,只能指定cidr
不输入默认为0(VPC)
floating_ip_id String(4096) ● 功能说明:弹性公网IP的id,多个弹性 公网IP使用逗号分隔。
● 取值范围:最大长度4096字节。
● 约束:弹性公网IP的id个数不能超过20 个
floating_ip_ad
dress String(1024) ● 功能说明:弹性公网IP,多个弹性公网 IP使用逗号分隔。
● 取值范围:最大长度1024字节。
status String ● 功能说明:SNAT规则的状态
● 取值范围:资源状态说明。
admin_state_u
p Boolean ● 解冻/冻结状态。
● 取值范围:
– “true”:解冻 – “false”:冻结
created_at String SNAT规则的创建时间戳,遵循UTC时 间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
示例
● 请求样例
GET https://{Endpoint}/v2.0/snat_rules/5b95c675-69c2-4656-ba06-58ff72e1d338
● 响应样例
{ "snat_rule": {
"floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "ACTIVE",
"nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true,
"network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "cidr": "null",
"source_type":0,
"tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226"
} }
状态码
请参考状态码。
8.1.2.4 删除 SNAT 规则
功能介绍
删除SNAT规则。
URI
DELETE /v2.0/snat_rules/{snat_rule_id}
表8-27 参数说明
参数 是否必选 参数类型 描述
snat_rule_id 是 String 所属SNAT规则的id。
请求消息
无
响应消息
无
示例
● 请求样例
DELETE https://{Endpoint}/v2.0/snat_rules/a78fb3eb-1654-4710-8742-3fc49d5f04f8
● 响应样例
无(STATUS CODE 204)
状态码
请参考状态码。
8.1.3 DNAT 规则
8.1.3.1 创建 DNAT 规则 功能介绍
创建DNAT规则
说明
创建规则时,要求网关状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。
port_id和private_ip不能同时生效。对于all port类型的规则,要求internal_service_port = 0,
external_service_port = 0,protocol = ANY.
URI
POST /v2.0/dnat_rules
请求消息
请求参数如表8-28所示。
表8-28 请求参数
参数 是否必
选
参数类型 描述
dnat_rule 是 Object dnat_rule对象。详见表8-29。
表8-29 dnat_rule 字段说明
参数 是否必
选 参数类型 描述
nat_gateway_i
d 是 String 所属NAT网关的id。
port_id 否 String 虚拟机或者裸机的Port ID,与private_ip 参数二选一。
获取虚拟机Port ID的方法请参考查询云 服务器网卡信息,获取裸机Port ID的方 法请参考查询裸金属服务器IP地址。
private_ip 否 String 用户私有IP地址,例如专线连接的私有 云地址,与port_id参数二选一。
internal_servic
e_port 是 Integer 虚拟机或者裸机对外提供服务的协议端 口号。
取值范围:0~65535。
floating_ip_id 是 String 弹性公网IP的id。获取弹性公网IP的id的 方法请参考查询弹性公网IP列表。
external_servic
e_port 是 Integer Floatingip对外提供服务的端口号。
取值范围:0~65535。
protocol 是 String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0
参数 是否必 选
参数类型 描述
internal_servic
e_port_range 否 String 虚拟机或者裸机对外提供服务的协议端 口号范围。
● 功能说明:该端口范围与external _service_port_range按顺序实现1:1映 射。
● 取值范围:1~65535。
● 约束:只能以’-’字符连接端口范 围。
external_servic
e_port_range 否 String Floatingip对外提供服务的端口号范围。
● 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映 射。
● 取值范围:1~65535。
● 约束:只能以’-’字符连接端口范 围。
响应消息
响应参数如表8-30所示。
表8-30 响应参数
参数 参数类型 描述
dnat_rule Object dnat_rule对象。详见表8-31。
表8-31 dnat_rule 字段说明
参数 参数类型 描述
id String DNAT规则的id。
tenant_id String 项目的ID。
nat_gateway_id String 所属NAT网关的id。
port_id String 虚拟机或者裸机的Port ID,在VPC场景 时使用此参数,与private_ip参数二选 一。
private_ip String 用户私有IP地址,例如专线连接的私有 云地址,
在专线场景时使用此参数,与port_id 参数二选一。
参数 参数类型 描述 internal_service_p
ort Integer 虚拟机或者裸机对外提供服务的协议端
口号。
floating_ip_id String 弹性公网IP的id。
floating_ip_addre
ss String 弹性公网IP的IP地址。
external_service_
port Integer Floatingip对外提供服务的端口号。
protocol String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0
status String ● 功能说明:DNAT规则的状态。
● 取值范围:资源状态说明。
admin_state_up Boolean ● 解冻/冻结状态。
● 取值范围:
– “true”:解冻 – “false”:冻结
created_at String DNAT规则的创建时间戳,遵循UTC时 间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
internal_service_p
ort_range String 虚拟机或者裸机对外提供服务的协议端
口号范围。
● 功能说明:该端口范围与external _service_port_range按顺序实现1:1 映射。
● 取值范围:1~65535。
● 约束:只能以’-’字符连接端口范 围。
external_service_
port_range String Floatingip对外提供服务的端口号范 围。
● 功能说明:该端口范围与internal _service_port_range按顺序实现1:1 映射。
● 取值范围:1~65535。
● 约束:只能以’-’字符连接端口范 围。
示例
● 请求样例
a. 创建指定端口的规则
POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": {
"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,
POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": {
"floating_ip_id": "Cf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id": "Dda3a125-2406-456c-a11f-598e10578541",
"floating_ip_id": "Cf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id": "Dda3a125-2406-456c-a11f-598e10578541",