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

Updating a Public NAT Gateway

Function

This API is used to update a public NAT gateway.

Constraints

The name, description, and type of a public NAT gateway can be updated when admin_state_up is True and status is ACTIVE. "

Calling Method

For details, see Calling APIs.

URI

PUT /v2/{project_id}/nat_gateways/{nat_gateway_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

Minimum: 1

Maximum: 36

nat_gateway_id

Yes

String

Specifies the public NAT gateway 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 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.

Minimum: 1

Maximum: 10240

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

nat_gateway

Yes

UpdateNatGatewayOption object

Specifies the request body for updating the public NAT gateway.

Table 4 UpdateNatGatewayOption

Parameter

Mandatory

Type

Description

name

No

String

Specifies the public NAT gateway name. You can enter up to 64 characters. Only digits, letters, underscores (_), and hyphens (-) are allowed.

Minimum: 1

Maximum: 64

description

No

String

Provides supplementary information about the public NAT gateway. The description can contain up to 255 characters and cannot contain angle brackets (<>).

Minimum: 0

Maximum: 255

spec

No

String

Specifies the public NAT gateway specifications. The value can be: 1: small, which supports a maximum of 10,000 SNAT connections 2: medium, which supports up to 50,000 SNAT connections. 3: large, which supports up to 200,000 SNAT connections. 4: extra-large, which supports up to 1,000,000 SNAT connections.

Enumeration values:

  • 1

  • 2

  • 3

  • 4

session_conf

No

SessionConfiguration object

Specifies the session parameters for the public NAT gateway.

Table 5 SessionConfiguration

Parameter

Mandatory

Type

Description

tcp_session_expire_time

No

Integer

Specifies the TCP session duration.

Minimum: 40

Maximum: 7200

udp_session_expire_time

No

Integer

Specifies the UDP session duration.

Minimum: 40

Maximum: 7200

icmp_session_expire_time

No

Integer

Specifies the ICMP session duration.

Minimum: 10

Maximum: 7200

tcp_time_wait_time

No

Integer

Specifies how long the side that actively closed the TCP connection is in the TIME_WAIT state.

Minimum: 0

Maximum: 1800

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

nat_gateway

NatGatewayResponseBody object

Specifies the response body for a public NAT gateway.

Table 7 NatGatewayResponseBody

Parameter

Type

Description

id

String

Specifies the public NAT gateway ID.

Minimum: 36

Maximum: 36

tenant_id

String

Specifies the project ID.

Minimum: 1

Maximum: 36

name

String

Specifies the public NAT gateway name. You can enter up to 64 characters.

Minimum: 1

Maximum: 64

description

String

Provides supplementary information about the public NAT gateway. The description can contain up to 255 characters and cannot contain angle brackets (<>).

Minimum: 0

Maximum: 255

spec

String

Specifies the public NAT gateway specifications. The value can be: 1: small, which supports a maximum of 10,000 SNAT connections 2: medium, which supports up to 50,000 SNAT connections. 3: large, which supports up to 200,000 SNAT connections. 4: extra-large, which supports up to 1,000,000 SNAT connections.

Enumeration values:

  • 1

  • 2

  • 3

  • 4

status

String

Specifies the public NAT gateway status. The value can be: ACTIVE: The public NAT gateway is available. PENDING_CREATE: The public NAT gateway is being created. PENDING_UPDATE: The public NAT gateway is being updated. PENDING_DELETE: The public NAT gateway is being deleted. INACTIVE: The public NAT gateway is unavailable.

Enumeration values:

  • ACTIVE

  • PENDING_CREATE

  • PENDING_UPDATE

  • PENDING_DELETE

  • INACTIVE

admin_state_up

Boolean

Specifies whether the public NAT gateway is frozen. The value can be:

  • true: The public NAT gateway is unfrozen.

  • false: The public NAT gateway is frozen.

created_at

String

Specifies when the public NAT gateway was created. The time is in yyyy-mm-dd hh:mm:ss.SSSSSS format.

Minimum: 1

Maximum: 36

router_id

String

Specifies the VPC ID.

Minimum: 36

Maximum: 36

internal_network_id

String

Specifies the network ID of the downstream interface (the next hop of DVR) of the public NAT gateway. DVR is Distributed Virtual Routing.

Minimum: 36

Maximum: 36

enterprise_project_id

String

Specifies the ID of the enterprise project associated with the public NAT gateway when the gateway is created.

Minimum: 1

Maximum: 36

session_conf

SessionConfiguration object

Specifies the session parameters for the public NAT gateway.

ngport_ip_address

String

Specifies the private IP address of the public NAT gateway, which is assigned by the VPC subnet.

Minimum: 7

Maximum: 15

billing_info

String

Specifies the order information. This parameter is available only when you buy yearly/monthly resources. This parameter is left blank when your buy pay-per-use resources.

dnat_rules_limit

Long

Specifies the maximum number of DNAT rules on a public NAT gateway. The default value is 200.

Minimum: 1

Maximum: 100000

snat_rule_public_ip_limit

Integer

Specifies the maximum number of SNAT rules on a public NAT gateway. The default value is 20.

Minimum: 1

Maximum: 100

Table 8 SessionConfiguration

Parameter

Type

Description

tcp_session_expire_time

Integer

Specifies the TCP session duration.

Minimum: 40

Maximum: 7200

udp_session_expire_time

Integer

Specifies the UDP session duration.

Minimum: 40

Maximum: 7200

icmp_session_expire_time

Integer

Specifies the ICMP session duration.

Minimum: 10

Maximum: 7200

tcp_time_wait_time

Integer

Specifies how long the side that actively closed the TCP connection is in the TIME_WAIT state.

Minimum: 0

Maximum: 1800

Example Requests

PUT https://{Endpoint}/v2/70505c941b9b4dfd82fd351932328a2f/nat_gateways/14338426-6afe-4019-996b-3a9525296e11 

{
  "nat_gateway" : {
    "name" : "new_name",
    "description" : "new description",
    "spec" : "1"
  }
}

Example Responses

Status code: 200

Public NAT gateway updated.

{
  "nat_gateway" : {
    "id" : "14338426-6afe-4019-996b-3a9525296e11",
    "name" : "new_name",
    "description" : "new description",
    "spec" : "1",
    "tenant_id" : "70505c941b9b4dfd82fd351932328a2f",
    "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a",
    "status" : "ACTIVE",
    "created_at" : "2019-04-22 08:47:13.238743",
    "internal_network_id" : "89d66639-aacb-4929-969d-07080b0f9fd9",
    "router_id" : "d84f345c-80a1-4fa2-a39c-d0d397c3f09a",
    "admin_state_up" : true,
    "billing_info" : "",
    "dnat_rules_limit" : 200,
    "snat_rule_public_ip_limit" : 20,
    "ngport_ip_address" : "192.168.0.138"
  }
}

Status Codes

Status Code

Description

200

Public NAT gateway updated.

Error Codes

See Error Codes.