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

更新路由表

功能介绍

更新路由表。

URI

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

参数说明请参见表1

表1 参数说明

名称

是否必选

参数类型

说明

project_id

String

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

routetable_id

String

路由表ID,路由表唯一标识。

请求参数

表2 请求参数

名称

是否必选

参数类型

说明

routetable

routetable object

路由表对象,参见表3

表3 routetable字段说明

名称

是否必选

参数类型

说明

name

String

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

description

String

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

routes

RouteTableRouteAction object

  • 功能说明:路由对象,参见表4
  • 约束:
    • 每个路由表最大关联200条路由。
    • 不支持直接修改destination,如需修改,只能使用del先删除对应路由,然后使用add新增路由。
  • 动作:
    • add:新增路由条目,type,destination,nexthop必选。
    • mod:修改路由信息,type,destination,nexthop必选。
    • del:删除路由条目,destination必选。
表4 route字段操作说明

参数

是否必选

参数类型

说明

add

Array of AddRouteTableRoute objects

新增路由条目,参见表5 新增route字段说明

type,destination,nexthop必选。

mod

Array of ModRouteTableRoute objects

修改路由条目,参见表6 修改route字段说明

type,destination,nexthop必选。

del

Array of DelRouteTableRoute objects

删除路由条目,参见表7 删除route字段说明

destination必选。

表5 新增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个字符,不能包含“<”和“>”。
表6 修改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个字符,不能包含“<”和“>”。
表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个字符,不能包含“<”和“>”。

请求示例

  • 更新id为3d42a0d4-a980-4613-ae76-a2cddecff054的路由表,新增一条ecs类型的路由,修改一条ecs类型的路由,删除一条目的网段为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"
                    }
                ]
            }
        }
    }

响应参数

表8 响应参数

名称

参数类型

说明

routetable

routetable object

路由表对象,参见表9

表9 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
表10 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个字符,不能包含“<”和“>”。
表11 subnet字段说明

名称

参数类型

说明

id

String

路由表关联的子网ID。

响应示例

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

状态码

请参见状态码

错误码

请参考错误码