Updated on 2023-04-19 GMT+08:00

Updating a DNAT Rule

Function

This API is used to update a specified DNAT rule.

Debugging

You can debug this API through automatic authentication in or use the SDK sample code generated by API Explorer.

URI

PUT /v3/{project_id}/private-nat/dnat-rules/{dnat_rule_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

Minimum: 1

Maximum: 36

dnat_rule_id

Yes

String

Specifies the DNAT rule ID.

Minimum: 36

Maximum: 36

Request Parameters

Table 2 Request header 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

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

dnat_rule

No

UpdatePrivateDnatOption object

Specifies the request body for updating a DNAT rule.

Table 4 UpdatePrivateDnatOption

Parameter

Mandatory

Type

Description

description

No

String

Provides supplementary information about the DNAT rule.

Minimum: 0

Maximum: 255

transit_ip_id

No

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

private_ip_address

No

String

Specifies the private IP address of the backend instance.

Minimum: 7

Maximum: 15

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:

  • tcp

  • udp

  • any

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: 10

Response Parameters

Status code: 200

Table 5 Response body parameters

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

Table 6 PrivateDnat

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:

  • tcp

  • udp

  • any

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

PUT https://{Endpoint}/v3/da261828016849188f4dcc2ef94d9da9/private-nat/dnat-rules/24dd6bf5-48f2-4915-ad0b-5bb111d39c83

{
  "dnat_rule" : {
    "description" : "my dnat-rules 03"
  }
}

Example Responses

Status code: 200

DNAT rule updated.

{
  "dnat_rule" : {
    "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83",
    "project_id" : "da261828016849188f4dcc2ef94d9da9",
    "description" : "dnat rule description",
    "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec",
    "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e",
    "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707",
    "type" : "COMPUTE",
    "private_ip_address" : "192.168.1.72",
    "created_at" : "2019-04-29T07:10:01",
    "updated_at" : "2019-04-29T07:10:01"
  },
  "request_id" : "747a911c17067a39692f75ac146fb47e"
}

Status Codes

Status Code

Description

200

DNAT rule updated.

Error Codes

See Error Codes.