Updating a NAT Gateway

Function

This API is used to update a NAT gateway.

Note

admin_state_up = True & status = "ACTIVE" can be updated. The name, description, and type of a NAT gateway can be updated.

URI

PUT /v2.0/nat_gateways/{nat_gateway_id}

Table 1 Parameter description

Parameter

Type

Mandatory

Description

nat_gateway_id

String

Yes

Specifies the NAT gateway ID.

Request

Table 2 describes the request parameter.

Table 2 Request parameters

Parameter

Mandatory

Type

Description

nat_gateway

Yes

Object

Specifies the NAT gateway object. For details, see Table 3.

Mandatory field: None. Only the name, description, and spec fields can be updated. At least one attribute must be specified for the NAT gateway to be updated.

Table 3 Description of the nat_gateway field

Parameter

Mandatory

Type

Description

name

No

String(64)

Specifies the NAT gateway name.

The name can contain only digits, letters, underscores (_), and hyphens (-).

description

No

String(255)

Provides supplementary information about the NAT gateway.

spec

No

String

Specifies the NAT gateway type.

The type can be:

  • 0: micro type, which supports up to 1,000 SNAT connections.

  • 1: small type, which supports up to 10,000 SNAT connections.

  • 2: medium type, which supports up to 50,000 SNAT connections.

  • 3: large type, which supports up to 200,000 SNAT connections.

  • 4: extra-large type, which supports up to 1,000,000 SNAT connections.

Response

Table 4 lists response parameters.

Table 4 Response parameter

Parameter

Type

Description

nat_gateway

Object

Specifies the NAT gateway object. For details, see Table 5.

Table 5 Description of the nat_gateway field

Parameter

Type

Description

id

String

Specifies the NAT gateway ID.

tenant_id

String

Specifies the project ID.

name

String(64)

Specifies the NAT gateway name.

The name can contain only digits, letters, underscores (_), and hyphens (-).

description

String(255)

Provides supplementary information about the NAT gateway.

spec

String

Specifies the NAT gateway type.

The type can be:

  • 0: micro type, which supports up to 1,000 SNAT connections.

  • 1: small type, which supports up to 10,000 SNAT connections.

  • 2: medium type, which supports up to 50,000 SNAT connections.

  • 3: large type, which supports up to 200,000 SNAT connections.

  • 4: extra-large type, which supports up to 1,000,000 SNAT connections.

router_id

String

Specifies the router ID.

internal_network_id

String

Specifies the network ID of the downstream interface (the next hop of the DVR) of the NAT gateway.

status

String

  • Specifies the NAT gateway status.

  • For details about all its values, see Table 1.

admin_state_up

Boolean

  • Specifies whether the NAT gateway is up or down.

  • The state can be:

    • true: The NAT gateway is up.

    • false: The NAT gateway is down.

created_at

String

Specifies when the NAT gateway is created (UTC time). Its value rounds to 6 decimal places for seconds. The format is yyyy-mm-dd hh:mm:ss.

billinginfo

String

Specifies the order information. This parameter is left blank by default.

freeze_info

String

Specifies information about the frozen NAT gateway.

sys_tags

List<String>

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

snat_rule_public_ip_limit

Integer

Specifies the maximum number of EIPs in an SNAT rule on a NAT gateway. The default value is 20.

dnat_rules_limit

Long

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

Examples

  • Example request

    PUT https://{Endpoint}/v2.0/nat_gateways/a78fb3eb-1654-4710-8742-3fc49d5f04f8
      {
        "nat_gateway": {
            "name": "new_name",
            "description": "new description",
            "spec": "1"
        }
    }
    
  • Example response

    {
        "nat_gateway": {
            "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a",
             "status": "ACTIVE",
             "description": "new description",
             "admin_state_up": true,
             "tenant_id": "27e25061336f4af590faeabeb7fcd9a3",
             "created_at": "2017-11-18 07:34:32.203044",
             "spec": "1",
             "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9",
             "id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8",
             "billinginfo": "",
             "dnat_rules_limit": 200,
             "snat_rule_public_ip_limit": 20,
             "freeze_info": null,
             "sys_tags": [
                 "_sys_enterprise_project_id=0"
             ],
             "name": "new_name"
        }
    }
    

Status Codes

See Status Codes.