更新时间:2024-04-15 GMT+08:00

创建路由表

功能介绍

创建路由表。

约束与限制:

  • 自定义路由表的目的网段,不能被包含在local类型路由的网段内
  • 同一个路由表,路由的目的网段不能相同
  • 一次下发的路由条目数,不能超过5条

URI

POST /v1/{project_id}/routetables

参数说明请参见表1

表1 参数说明

名称

是否必选

参数类型

说明

project_id

String

项目ID,请参见获取项目ID

请求参数

表2 请求参数

名称

是否必选

参数类型

说明

routetable

routetable object

路由表对象,参见表3

表3 routetable字段说明

名称

是否必选

参数类型

说明

name

String

  • 功能说明:路由表名称
  • 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)

routes

Array of route objects

  • 功能说明:路由对象列表,参见表4
  • 约束:每个路由表最大关联200条路由

vpc_id

String

  • 功能说明:路由表所属VPC的ID

description

String

  • 功能说明:路由表的描述信息
  • 取值范围:0-255个字符,不能包含“<”和“>”
表4 route字段说明

名称

是否必选

参数类型

说明

type

String

  • 功能说明:路由的类型。
  • 取值范围:
    • ecs:弹性云服务器
    • eni:网卡
    • vip:虚拟IP
    • nat:NAT网关
    • peering:对等连接
    • egw:VPC终端节点

destination

String

  • 功能说明:路由目的网段。
  • 约束:合法的CIDR格式。

nexthop

String

  • 功能说明:路由下一跳对象的ID。
  • 取值范围:
    • 当type为ecs时,传入ecs实例ID;
    • 当type为eni时,取值为从网卡ID;
    • 当type为vip时,取值为vip对应的IP地址;
    • 当type为nat时,取值为nat实例对应的ID;
    • 当type为peering时,取值为peering对应实例ID;
    • 当type为cc时,取值为cc的实例ID;
    • 当type为egw时,取值为vpc终端节点的实例ID;

description

String

  • 功能说明:路由的描述信息。
  • 取值范围:0-255个字符,不能包含“<”和“>”。

请求示例

  • 创建一个路由表,所在vpc id为60c809cb-6731-45d0-ace8-3bf5626421a9,命名为routetable-1234,包含一条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"
        } 
    }

响应参数

表5 响应参数

名称

参数类型

说明

routetable

routetable object

路由表对象,参见表6

表6 routetable字段说明

名称

参数类型

说明

id

String

  • 功能说明:路由表唯一标识。
  • 取值范围:标准UUID。

name

String

  • 功能说明:路由表名称。
  • 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。

default

Boolean

  • 功能说明:是否为默认路由表。
  • 取值范围:true表示默认路由表;false表示自定义路由表。

routes

Array of route objects

  • 功能说明:路由对象列表,参见表4
  • 约束:每个路由表最大关联200条路由。

subnets

Array of subnet objects

  • 功能说明:路由表所关联的子网,参见表5
  • 约束:只能关联路由表所属VPC下的子网。

tenant_id

String

  • 功能说明:项目ID。

vpc_id

String

  • 功能说明:路由表所属VPC的ID。

description

String

  • 路由表的描述信息。
  • 取值范围:0-255个字符,不能包含“<”和“>”。

created_at

String

  • 功能说明:资源创建时间,UTC时间。
  • 格式:yyyy-MM-ddTHH:mm:ss

updated_at

String

  • 功能说明:资源更新时间,UTC时间。
  • 格式:yyyy-MM-ddTHH:mm:ss
表7 route字段说明

名称

参数类型

说明

type

String

  • 功能说明:路由的类型。
  • 取值范围:
    • ecs:弹性云服务器
    • eni:网卡
    • vip:虚拟IP
    • nat:NAT网关
    • peering:对等连接
    • egw:VPC终端节点

destination

String

  • 功能说明:路由目的网段。
  • 约束:合法的CIDR格式。

nexthop

String

  • 功能说明:路由下一跳对象的ID。
  • 取值范围:
    • 当type为ecs时,传入ecs实例ID;
    • 当type为eni时,取值为从网卡ID;
    • 当type为vip时,取值为vip对应的IP地址;
    • 当type为nat时,取值为nat实例对应的ID;
    • 当type为peering时,取值为peering对应实例ID;
    • 当type为cc时,取值为cc的实例ID;
    • 当type为egw时,取值为vpc终端节点的实例ID;

description

String

  • 功能说明:路由的描述信息。
  • 取值范围:0-255个字符,不能包含“<”和“>”。
表8 subnet字段说明

名称

参数类型

说明

id

String

路由表关联的子网ID。

响应示例

{
    "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"
    }
}

状态码

请参见状态码

错误码

请参考错误码