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

Updating a Route Table

Function

This API is used to update a route table.

URI

PUT /v1/{project_id}/routetables/{routetable_id}

Table 1 describes the parameters.

Table 1 Parameter description

Name

Mandatory

Type

Description

project_id

Yes

String

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

routetable_id

Yes

String

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

Request Parameters

Table 2 Request parameter

Name

Mandatory

Type

Description

routetable

Yes

routetable object

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

Table 3 Description of the routetable field

Name

Mandatory

Type

Description

name

No

String

  • Specifies the route table name.
  • The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

No

String

  • Provides supplementary information about the route.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

routes

No

RouteTableRouteAction object

  • Specifies the route list. For details, see Table 4.
  • Constraints:
    • Each route table can have a maximum of 200 routes.
    • The destination cannot be modified directly. To modify the destination, run the del command to delete the corresponding route, and then run the add command to add a route.
  • Specifies the operation to perform. Possible values are as follows:
    • add: Adds a route. Parameters type, destination, and nexthop are mandatory.
    • mod: Modifies a route. Parameters type, destination, and nexthop are mandatory.
    • del: Deletes a route. Parameter destination is mandatory.
Table 4 Description of the route field

Parameter

Mandatory

Type

Description

add

No

Array of AddRouteTableRoute objects

Adds a route. For details, see Table 5.

Parameters type, destination, and nexthop are mandatory.

mod

No

Array of ModRouteTableRoute objects

Modifies a route. For details, see Table 6.

Parameters type, destination, and nexthop are mandatory.

del

No

Array of DelRouteTableRoute objects

Deletes a route. For details, see Table 7.

Parameter destination is mandatory.

Table 5 Field description of adding a route

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)
    • egw: VPC endpoint node

destination

Yes

String

  • Specifies the destination CIDR block of a route.
  • The value must be in the valid CIDR format.

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 cc, the value is a Cloud Connect connection ID.
    • When type is set to egw, the value is a VPC endpoint ID.

description

No

String

  • Provides supplementary information about the route.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).
Table 6 Field description of modifying a route

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)
    • egw: VPC endpoint node

destination

Yes

String

  • Specifies the destination CIDR block of a route.
  • The value must be in the valid CIDR format.

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 cc, the value is a Cloud Connect connection ID.
    • When type is set to egw, the value is a VPC endpoint ID.

description

No

String

  • Provides supplementary information about the route.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).
Table 7 Field description of deleting a route

Parameter

Mandatory

Type

Description

type

No

String

  • Specifies the route type.
  • Values:
    • ecs (ECS)
    • eni (NIC)
    • vip (Virtual IP address)
    • nat (NAT gateway)
    • peering (VPC peering connection)
    • egw: VPC endpoint node

destination

Yes

String

  • Specifies the destination CIDR block of a route.
  • The value must be in the valid CIDR format.

nexthop

No

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 cc, the value is a Cloud Connect connection ID.
    • When type is set to egw, the value is a VPC endpoint ID.

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

  • Change the route table whose ID is 3d42a0d4-a980-4613-ae76-a2cddecff054, add a route with next hop type of ECS, modify the route with next hop type of ECS, and delete the route whose destination is 20.20.10.0/24.
    PUT https://{Endpoint}/v1/6fbe9263116a4b68818cf1edce16bc4f/routetables/3d42a0d4-a980-4613-ae76-a2cddecff054
    
    {
        "routetable": {
            "name": "routertable-789",
            "description": "abc",
            "routes": {
                "add": [
                    {
                        "type": "ecs",
                        "destination": "10.10.10.0/24",
                        "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341",
                        "description": "abc"
                    }
                ],
                "mod": [
                    {
                        "type": "ecs",
                        "destination": "20.10.10.0/24",
                        "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341",
                        "description": "abc"
                    }
                ],
                "del": [
                    {
                        "destination": "20.20.10.0/24"
                    }
                ]
            }
        }
    }

Response Parameters

Table 8 Response parameter

Name

Type

Description

routetable

routetable object

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

Table 9 Description of the routetable field

Name

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 10 Description of the route field

Name

Type

Description

type

String

  • Specifies the route type.
  • Values:
    • ecs (ECS)
    • eni (NIC)
    • vip (Virtual IP address)
    • nat (NAT gateway)
    • peering (VPC peering connection)
    • egw: VPC endpoint node

destination

String

  • Specifies the destination CIDR block of a route.
  • The value must be in the valid CIDR format.

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 cc, the value is a Cloud Connect connection ID.
    • When type is set to egw, the value is a VPC endpoint ID.

description

String

  • Provides supplementary information about the route.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).
Table 11 Description of the subnet field

Name

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",
        "default": false,
        "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",
        "created_at": "2022-12-15T02:56:40",
        "updated_at": "2022-12-15T03:03:42"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.