Updating a DNAT Rule
Function
This API is used to update a DNAT rule.
Constraints
You can update a DNAT rule only when its status is set to ACTIVE and admin_state_up of the NAT gateway administrator to True. Specify either port_id or private_ip at a time. If you are going to update a DNAT rule that allows traffic to and from all ports of a server and an EIP, set internal_service_port to 0, external_service_port to 0, and protocol to ANY.The following fields must be updated together: port_id, private_ip, internal_service_port, external_service_port, floating_ip_id, protocol, internal_service_port_range, and external_service_port_range.
Calling Method
For details, see Calling APIs.
URI
PUT /v2/{project_id}/dnat_rules/{dnat_rule_id}
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Specifies the project ID. |
|
dnat_rule_id |
Yes |
String |
Specifies the DNAT rule ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
Specifies the user token. It is a response to the API for obtaining 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. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
dnat_rule |
Yes |
Specifies the request body for updating the DNAT rule. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
nat_gateway_id |
Yes |
String |
Specifies the NAT gateway ID. |
|
description |
No |
String |
Provides supplementary information about the DNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (<>). |
|
port_id |
No |
String |
Specifies the port ID of an ECS or BMS. This parameter applies to VPC scenarios. Configure either port_id or private_ip. |
|
private_ip |
No |
String |
Specifies the private IP address of a user. This parameter applies to Direct Connect and Cloud Connect scenarios. Configure either private_ip or port_id. |
|
protocol |
No |
String |
Specifies the protocol. TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively. |
|
global_eip_id |
No |
String |
Specifies the global EIP ID. Configure either the EIP ID or the global EIP ID. |
|
floating_ip_id |
No |
String |
Specifies the EIP ID. |
|
internal_service_port |
No |
Integer |
Specifies the port used by ECSs or BMSs to provide services for external systems. Supported range: 0 to 65535 |
|
external_service_port |
No |
Integer |
Specifies the port used by the floating IP address to provide services for external systems. Supported range: 0 to 65535 |
|
internal_service_port_range |
No |
String |
Specifies the port range used by ECSs or BMSs to provide services for external systems. The number of ports must be the same as that of external _service_port_range. The value ranges from 1 to 65535. Specify two port numbers connected by a single hyphen (-) and no blank spaces in the x-y format, where x is lower than y. |
|
external_service_port_range |
No |
String |
Specifies the port range used by the floating IP address to provide services for external systems. The number of ports must be the same as that of internal _service_port_range. The value ranges from 1 to 65535. Specify two port numbers connected by a single hyphen (-) and no blank spaces in the x-y format, where x is lower than y. |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
dnat_rule |
Specifies the response body of the DNAT rule. |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Specifies the DNAT rule ID. |
|
tenant_id |
String |
Specifies the project ID. |
|
description |
String |
Provides supplementary information about the DNAT rule. The description can contain up to 255 characters and cannot contain angle brackets (<>). |
|
port_id |
String |
Specifies the port ID of an ECS or BMS. This parameter applies to VPC scenarios. Configure either port_id or private_ip. |
|
private_ip |
String |
Specifies the private IP address of a user. This parameter applies to Direct Connect and Cloud Connect scenarios. Configure either private_ip or port_id. |
|
internal_service_port |
Integer |
Specifies the port used by ECSs or BMSs to provide services for external systems. Supported range: 0 to 65535 |
|
nat_gateway_id |
String |
Specifies the public NAT gateway ID. |
|
global_eip_id |
String |
Specifies the global EIP ID. Configure either the EIP ID or the global EIP ID. |
|
global_eip_address |
String |
Specifies the global EIP. |
|
floating_ip_id |
String |
Specifies the EIP ID. |
|
floating_ip_address |
String |
Specifies the EIP address. |
|
external_service_port |
Integer |
Specifies the port used by the floating IP address to provide services for external systems. Supported range: 0 to 65535 |
|
status |
String |
Specifies the DNAT rule status. The value can be:
|
|
admin_state_up |
Boolean |
Specifies whether the DNAT rule is frozen. The value can be:
|
|
internal_service_port_range |
String |
Specifies the port range used by ECSs or BMSs to provide services for external systems. The number of ports must be the same as that of external _service_port_range. The value ranges from 1 to 65535. Specify two port numbers connected by a single hyphen (-) and no blank spaces in the x-y format, where x is lower than y. |
|
external_service_port_range |
String |
Specifies the port range used by the floating IP address to provide services for external systems. The number of ports must be the same as that of internal _service_port_range. The value ranges from 1 to 65535. Specify two port numbers connected by a single hyphen (-) and no blank spaces in the x-y format, where x is lower than y. |
|
protocol |
String |
Specifies the protocol. TCP, UDP, and ANY are supported. The protocol number of TCP, UDP, and ANY are 6, 17, and 0, respectively. |
|
created_at |
String |
Specifies when the DNAT rule was created. The time is in yyyy-mm-dd hh:mm:ss.SSSSSS format. |
Example Requests
PUT https://{NAT_endpoint}/v2/d199ba7e0ba64899b2e81518104b1526/dnat_rules/79195d50-0271-41f1-bded-4c089b2502ff
{
"dnat_rule" : {
"nat_gateway_id" : "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
"description" : "my dnat-rules"
}
}
Example Responses
Status code: 200
DNAT rule updated.
{
"dnat_rule" : {
"status" : "ACTIVE",
"nat_gateway_id" : "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
"admin_state_up" : true,
"port_id" : "9a469561-daac-4c94-88f5-39366e5ea193",
"internal_service_port" : 993,
"protocol" : "tcp",
"tenant_id" : "d199ba7e0ba64899b2e81518104b1526",
"floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1",
"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"
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
DNAT rule updated. |
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.