Creating a DNAT Rule
Function
This API is used to create a DNAT rule.
Constraints
When you are creating a DNAT rule, status of the NAT gateway must be set to ACTIVE.
Debugging
You can debug this API through automatic authentication in or use the SDK sample code generated by API Explorer.
URI
POST /v3/{project_id}/private-nat/dnat-rules
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Specifies the project ID. Minimum: 1 Maximum: 36 |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Specifies the user token. It is a response to the API used to obtain a user token. This API is the only one that does not require authentication. The value of X-Subject-Token in the response header is the token value. Minimum: 1 Maximum: 10240 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
dnat_rule |
Yes |
CreatePrivateDnatOption object |
Specifies the request body for creating a DNAT rule. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
description |
No |
String |
Provides supplementary information about the DNAT rule. Minimum: 0 Maximum: 255 |
transit_ip_id |
Yes |
String |
Specifies the ID of the transit IP address. Minimum: 36 Maximum: 36 |
network_interface_id |
No |
String |
Specifies the network interface ID. Network interfaces of an ECS, load balancer, or virtual IP address are supported. Minimum: 36 Maximum: 36 |
gateway_id |
Yes |
String |
Specifies the private NAT gateway ID. Minimum: 36 Maximum: 36 |
protocol |
No |
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. Minimum: 1 Maximum: 3 Enumeration values:
|
private_ip_address |
No |
String |
Specifies the private IP address of the backend instance. Minimum: 7 Maximum: 15 |
internal_service_port |
No |
String |
Specifies the port number of the backend instance. Minimum: 1 Maximum: 5 |
transit_service_port |
No |
String |
Specifies the port number of the transit IP address. Minimum: 1 Maximum: 5 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
dnat_rule |
PrivateDnat object |
Specifies the response body of the DNAT rule. |
request_id |
String |
Specifies the request ID. Minimum: 1 Maximum: 36 |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Specifies the DNAT rule ID. Minimum: 36 Maximum: 36 |
project_id |
String |
Specifies the project ID. Minimum: 36 Maximum: 36 |
description |
String |
Provides supplementary information about the DNAT rule. Minimum: 1 Maximum: 36 |
transit_ip_id |
String |
Specifies the ID of the transit IP address. Minimum: 36 Maximum: 36 |
gateway_id |
String |
Specifies the private NAT gateway ID. Minimum: 1 Maximum: 36 |
network_interface_id |
String |
Specifies the network interface ID. Network interfaces of a compute instance, load balancer, virtual IP address are supported. Minimum: 1 Maximum: 36 |
type |
String |
Specifies the backend resource type of the DNAT rule. The type can be: COMPUTE: The backend resource is a compute instance. VIP: The backend resource is a virtual IP address. ELB: The backend resource is a load balancer. ELBv3: The backend resource is a dedicated load balancer. CUSTOMIZE: The backend resource is a user-defined IP address. Minimum: 1 Maximum: 10 |
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. Minimum: 1 Maximum: 3 Enumeration values:
|
private_ip_address |
String |
Specifies the private IP address of the backend instance. Minimum: 7 Maximum: 15 |
internal_service_port |
String |
Specifies the port number of the backend instance. Minimum: 0 Maximum: 65535 Minimum: 1 Maximum: 5 |
transit_service_port |
String |
Specifies the port number of the transit IP address. Minimum: 0 Maximum: 65535 Minimum: 1 Maximum: 5 |
enterprise_project_id |
String |
Specifies the ID of the enterprise project that is associated with the DNAT rule when the DNAT rule is being created. Minimum: 1 Maximum: 36 |
created_at |
String |
Specifies when the DNAT rule was created. It is a UTC time in the yyyy-mm-ddThh:mm:ssZ format. Minimum: 1 Maximum: 36 |
updated_at |
String |
Specifies when the DNAT rule was updated. It is a UTC time in the yyyy-mm-ddThh:mm:ssZ format. Minimum: 1 Maximum: 36 |
Example Requests
POST https://{Endpoint}/v3/da261828016849188f4dcc2ef94d9da9/private-nat/dnat-rules { "dnat_rule" : { "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707" } }
Example Responses
Status code: 201
DNAT rule created.
{ "dnat_rule" : { "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.72", "created_at" : "2019-04-29T07:10:01", "updated_at" : "2019-04-29T07:10:01" }, "request_id" : "70505c941b9b4dfd82fd351932328a2f" }
Status Codes
Status Code |
Description |
---|---|
201 |
DNAT rule created. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.