Creating a NAT Gateway

Function

This API is used to create a NAT gateway.

URI

POST /v2.0/nat_gateways

Request

Table 1 describes the request parameters.

Table 1 Request parameter

Parameter

Mandatory

Type

Description

nat_gateway

Yes

Object

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

Table 2 Description of the nat_gateway field

Parameter

Mandatory

Type

Description

tenant_id

No

String

Specifies the project ID.

name

Yes

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

Yes

String

Specifies the NAT gateway type.

The value can be:

  • 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

Yes

String

Specifies the VPC ID. For details about how to obtain the router_id, refer to how to obtain the value of vpc_id in Querying VPC Routes.

internal_network_id

Yes

String

Specifies the network ID of the downstream interface (the next hop of the DVR) of the NAT gateway. For details about how to obtain the network ID, refer to how to obtain the value of neutron_network_id in Querying Subnets.

Response

Table 3 lists response parameters.

Table 3 Response parameters

Parameter

Type

Description

nat_gateway

Object

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

Table 4 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 value can be:

  • 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 status of the NAT gateway.
  • For details about all its values, see Table 1.

admin_state_up

Boolean

  • Specifies the unfrozen or frozen state.
  • The value can be:
    • true: indicates the unfrozen state.
    • false: indicates the frozen state.

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.

Examples

  • Example request
    POST https://{Endpoint}/v2.0/nat_gateways
    {
        "nat_gateway": {
            "name": "nat_001",
            "description": "my nat gateway 01",
            "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a",
            "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9",
            "spec": "1"
        }
    }
  • Example response
    {
        "nat_gateway": { 
             "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", 
             "status": "PENDING_CREATE", 
             "description": "my nat gateway 01", 
             "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",
             "name": "nat_001" 
        }
    }

Status Code

See Status Codes.