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

Creating a Router

Function

This API is used to create a router.

URI

POST /v2.0/routers

Request Parameters

Table 1 Request parameter

Parameter

Type

Mandatory

Description

router

router object

Yes

Specifies the router. For details, see Table 2.

Table 2 router objects

Attribute

Mandatory

Type

Description

name

No

String

Specifies the router name.

Instructions:

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

admin_state_up

No

Boolean

Specifies the administrative status.

The value can only be true.

external_gateway_info

No

external_gateway_info object

Specifies the external gateway. This is an extended attribute. For details, see the external_gateway_info objects.

Table 3 external_gateway_info objects

Attribute

Mandatory

Type

Description

network_id

No

String

Specifies the UUID of the external network.

You can use GET /v2.0/networks?router:external=True or run the neutron net-external-list command to query information about the external network.

Example Request

Create a router named router-test2.

POST https://{Endpoint}/v2.0/routers 

{
    "router": {
           "name": "router-test2",
           "admin_state_up": true
    }
}

Response Parameters

Table 4 Response parameter

Parameter

Type

Description

router

router object

Specifies the router. For details, see Table 5.

Table 5 router objects

Attribute

Type

Description

id

String

Specifies the router ID.

This parameter is not mandatory when you query routers.

name

String

Specifies the router name.

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

admin_state_up

Boolean

Specifies the administrative status.

The value can only be true.

status

String

Specifies the router status. The value can be ACTIVE, DOWN, or ERROR.

tenant_id

String

Specifies the project ID.

external_gateway_info

external_gateway_info object

Specifies the external gateway. This is an extended attribute. For details, see the external_gateway_info objects.

project_id

String

Specifies the project ID. For details about how to obtain a project ID, see Obtaining a Project ID.

created_at

String

Specifies the time (UTC) when the router is created.

Format: yyyy-MM-ddTHH:mm:ss

updated_at

String

Specifies the time (UTC) when the router is updated.

Format: yyyy-MM-ddTHH:mm:ss

Table 6 external_gateway_info objects

Attribute

Type

Description

network_id

String

Specifies the UUID of the external network.

You can use GET /v2.0/networks?router:external=True or run the neutron net-external-list command to query information about the external network.

Example Response

{
    "router": {
        "id": "f5dbdfe0-86f9-4b0a-9a32-6be143f0a076",
        "name": "router-test2",
        "status": "ACTIVE",
        "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c",
        "project_id": "bbfe8c41dd034a07bebd592bf03b4b0c",
        "admin_state_up": true,
        "external_gateway_info": {
            "network_id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975",
            "enable_snat": false
        },
        "routes": [],
        "created_at": "2018-09-20T02:06:07",
        "updated_at": "2018-09-20T02:06:09"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.