Creating DNAT Rules in Batches
Function
This API is used to create DNAT rules in batches.
You can create DNAT rules in batches only when status of the NAT gateway is set to ACTIVE and admin_state_up of the NAT gateway administrator to True. Either port_id or private_ip is used each time. If you create a rule that applies to all port types, set internal_service_port to 0, external_service_port to 0, and protocol to ANY.
URI
POST /v2/{project_id}/dnat_rules/batch
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Specifies the project ID. |
Request
Table 2 describes the request parameters.
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
dnat_rules |
Yes |
Array of dnat_rule objects |
Specifies the DNAT rule objects. For details, see Table 3. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
nat_gateway_id |
Yes |
String |
Specifies the NAT gateway ID. |
port_id |
No |
String |
Specifies the port ID of an ECS or a BMS. This parameter and private_ip are alternative. |
private_ip |
No |
String |
Specifies the private IP address of a user, for example, the IP address of a VPC for Direct Connect connection. This parameter and port_id are alternative. |
internal_service_port |
Yes |
Integer |
Specifies the port used by ECSs or BMSs to provide services for external systems. |
floating_ip_id |
Yes |
String |
Specifies the EIP ID. |
external_service_port |
Yes |
Integer |
Specifies the port for providing external services. |
protocol |
Yes |
String |
Specifies the protocol type. TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively. |
description |
No |
String |
Provides supplementary information about the DNAT rule. You can enter up to 255 characters. |
internal_service_port_range |
No |
String |
Specifies the port range used by ECSs or BMSs to provide services for external systems.
|
external_service_port_range |
No |
String |
Specifies the port range used by the floating IP address for providing external services.
|
Response
Table 4 lists response parameters.
Parameter |
Type |
Description |
---|---|---|
dnat_rules |
Array(dnat_rule) |
Specifies the DNAT rule objects. For details, see Table 5. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Specifies the DNAT rule ID. |
tenant_id |
String |
Specifies the project ID. |
nat_gateway_id |
String |
Specifies the NAT gateway ID. |
port_id |
String |
Specifies the port ID of an ECS or a BMS. |
private_ip |
String |
Specifies the private IP address of a user, for example, the IP address of a VPC for Direct Connect connection. |
internal_service_port |
Integer |
Specifies the port used by ECSs or BMSs to provide services for external systems. |
floating_ip_id |
String |
Specifies the EIP ID. |
floating_ip_address |
String |
Specifies the EIP. |
external_service_port |
Integer |
Specifies the port for providing external services. |
protocol |
String |
Specifies the protocol type. TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively. |
description |
String |
Provides supplementary information about the DNAT rule. You can enter up to 255 characters. |
status |
String |
|
admin_state_up |
Boolean |
|
created_at |
String |
|
internal_service_port_range |
String |
Specifies the port range used by ECSs or BMSs to provide services for external systems.
|
external_service_port_range |
String |
Specifies the port range used by the floating IP address for providing external services.
|
Examples
- Example request
- Creating rules in batches (The first is the rule when Port Type is set to Specific port, and the second is the rule when Port Type is set to All ports.)
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 }, { "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 }] }
- Creating rules in batches (The first is the rule when Port Type is set to Specific port, and the second is the rule when Port Type is set to All ports.)
- Example response
- Response to the request for creating rules in batches
{ "dnat_rules": [{ "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "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": "abc", "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" }, { "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": "abc", "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" }] }
- Response to the request for creating rules in batches
Status Codes
See Status Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.