Creating a Route Table

Function

This API is used to create a route table.

Notes and Constraints

  • The destination CIDR block of a custom route table cannot be included in the CIDR blocks of the local route.

  • Each destination CIDR block of a route in the same route table must be unique.

  • No more than five routes can be created at a time.

URI

POST /v1/{project_id}/routetables

Table 1 describes the parameters.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

Request Parameters

Table 2 Request parameter

Parameter

Mandatory

Type

Description

routetable

Yes

routetable object

Specifies the route table. For details, see Table 3.

Table 3 Description of the routetable field

Parameter

Mandatory

Type

Description

name

No

String

  • Specifies the route table name.

  • The value can contain no more than 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

routes

No

Array of route objects

  • Specifies the route list. For details, see Table 4.

  • Each route table can have a maximum of 200 routes.

vpc_id

Yes

String

  • Specifies the ID of the VPC associated with the route table.

description

No

String

  • Provides supplementary information about the route table.

  • The value can contain no more than 255 characters and cannot contain angle brackets (< or >).

Table 4 Description of the route field

Parameter

Mandatory

Type

Description

type

Yes

String

  • Specifies the route type.

  • Values:

    • ecs (ECS)

    • eni (NIC)

    • vip (Virtual IP address)

    • nat (NAT gateway)

    • peering (VPC peering connection)

    • vpn (VPN)

    • dc (Direct Connect connection)

    • egw: VPC endpoint. This route type is not supported.

    • er: enterprise router

    • subeni: supplementary network interface. This type of route cannot be created or updated by users.

    • local: reserved CIDR block. The destination CIDR block of the route configured cannot overlap with that defined by local.

destination

Yes

String

  • Specifies the destination CIDR block of a route.

  • Constraints: The value must be in valid IPv4 or IPv6 CIDR formats.

nexthop

Yes

String

  • Specifies the ID of the next hop in the route.

  • Values:

    • When type is ecs, the value is an ECS ID.

    • When type is eni, the value is an extension NIC ID.

    • When type is vip, the value is a virtual IP address.

    • When type is nat, the value a NAT gateway ID.

    • When type is peering, the value is a VPC peering connection ID.

    • When type is vpn, the value is a VPN ID.

    • When type is dc, the value is a Direct Connect connection ID.

    • When type is set to egw, the value is a VPC endpoint ID.

    • When type is set to er, the value is the ID of an enterprise router.

    • When type is set to subeni, the value is the ID of a supplementary network interface.

description

No

String

  • Provides supplementary information about the route.

  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

Example Request

  • Create a route table named routetable-1234 for the VPC whose ID is 60c809cb-6731-45d0-ace8-3bf5626421a9 and create a route with next hop type of ECS.

    POST https://{Endpoint}/v1/6fbe9263116a4b68818cf1edce16bc4f/routetables
    
    {
        "routetable": {
            "name": "routetable-1234",
            "vpc_id": "60c809cb-6731-45d0-ace8-3bf5626421a9",
            "routes":[
              {
                "type": "ecs",
                "destination": "10.10.10.0/24",
                "nexthop":"7c50463d-d36c-4417-aa85-cc11fa10f341"
              }
           ],
            "description":"abc"
        }
    }
    

Response Parameters

Table 5 Response parameter

Parameter

Type

Description

routetable

routetable object

Specifies the route table. For details, see Table 6.

Table 6 Description of the routetable field

Parameter

Type

Description

id

String

  • Specifies the route table ID that uniquely identifies the route table.

  • The value must be in standard UUID format.

name

String

  • Specifies the route table name.

  • The value can contain up to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

default

Boolean

  • Specifies whether the route table is the default one.

  • The value can be true (default route table) or false (custom route table).

routes

Array of route objects

  • Specifies the route list. For details, see Table 4.

  • Each route table can have a maximum of 200 routes.

subnets

Array of subnet objects

  • Specifies the subnets associated with the route table. For details, see Table 5.

  • Only subnets in the VPC to which the route table belongs can be associated with the route table.

tenant_id

String

  • Specifies the project ID.

vpc_id

String

  • Specifies the ID of the VPC associated with the route table.

description

String

  • Provides supplementary information about the route table.

  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

created_at

String

  • Specifies the time (UTC) when the route table is created.

  • Format: yyyy-MM-ddTHH:mm:ss

updated_at

String

  • Specifies the time (UTC) when the route table is updated.

  • Format: yyyy-MM-ddTHH:mm:ss

Table 7 Description of the route field

Parameter

Type

Description

type

String

  • Specifies the route type.

  • Values:

    • ecs (ECS)

    • eni (NIC)

    • vip (Virtual IP address)

    • nat (NAT gateway)

    • peering (VPC peering connection)

    • vpn (VPN)

    • dc (Direct Connect connection)

    • egw: VPC endpoint. This route type is not supported.

    • er: enterprise router

    • subeni: supplementary network interface. This type of route cannot be created or updated by users.

    • local: reserved CIDR block. The destination CIDR block of the route configured cannot overlap with that defined by local.

destination

String

  • Specifies the destination CIDR block of a route.

  • Constraints: The value must be in valid IPv4 or IPv6 CIDR formats.

nexthop

String

  • Specifies the ID of the next hop in the route.

  • Values:

    • When type is ecs, the value is an ECS ID.

    • When type is eni, the value is an extension NIC ID.

    • When type is vip, the value is a virtual IP address.

    • When type is nat, the value a NAT gateway ID.

    • When type is peering, the value is a VPC peering connection ID.

    • When type is vpn, the value is a VPN ID.

    • When type is dc, the value is a Direct Connect connection ID.

    • When type is set to egw, the value is a VPC endpoint ID.

    • When type is set to er, the value is the ID of an enterprise router.

    • When type is set to subeni, the value is the ID of a supplementary network interface.

description

String

  • Provides supplementary information about the route.

  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

Table 8 Description of the subnet field

Parameter

Type

Description

id

String

Specifies the ID of the subnet associated with the route table.

Example Response

{
    "routetable": {
        "id": "3d42a0d4-a980-4613-ae76-a2cddecff054",
        "vpc_id": "ab78be2d-782f-42a5-aa72-35879f6890ff",
        "description": "abc",
        "routes": [
            {
                "type": "ecs",
                "destination": "10.10.10.0/24",
                "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341",
                "description": "abc"
            }
        ],
        "subnets": [
            {
                "id": "8d4ce32f-d68a-4c4c-9f18-c68d8a5c7f2f"
            }
        ],
        "tenant_id": "6fbe9263116a4b68818cf1edce16bc4f"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.