CreateRouteEntries - 批量添加自定义路由条目

更新时间:
复制为 MD 格式

VPC路由器的路由表中批量添加自定义路由条目。

接口说明

  • CreateRouteEntries 接口属于异步接口,即系统会返回一个实例 ID,但该路由的创建尚未完成,系统后台的启动任务仍在进行。您可以调用 DescribeRouteEntryList 查询路由的创建状态:
    • 当路由处于 Creating 状态时,表示路由创建中。

    • 当路由处于 Created 状态时,表示路由创建完成。

  • CreateRouteEntries 接口不支持在同一个 VPC 中并发批量创建自定义路由条目。

使用该接口为 VPC 路由器的路由表添加自定义路由条目时,请注意以下事项:

  • 同一个路由表中自定义路由条目不能超过 200 条。

  • 自定义路由条目的目标网段(DstCidrBlock)不能和 VPC 内的交换机的网段相同,也不能包含交换机的网段或者被交换机的网段包含。

  • 自定义路由条目的目标网段(DstCidrBlock)不能指向 100.64.0.0/10,也不能被 100.64.0.0/10 包含。

  • 同一路由表下的路由条目的目标网段(DstCidrBlock)不允许相同。

  • 如果指定的目标网段(DstCidrBlock)是一个 IP 地址,会按照 32 位掩码来处理。

  • 多条自定义路由条目可以指向同一个下一跳(NextHop)。

  • 自定义路由条目的下一跳(NextHop)必须和路由表在同一个 VPC。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

vpc:CreateRouteEntries

create

*RouteEntry

acs:vpc:{#regionId}:{#accountId}:routetable/{#RouteTableId}

请求参数

名称

类型

必填

描述

示例值

RegionId

string

路由表所属地域的 ID。

您可以通过调用 DescribeRegions 接口获取地域 ID。

cn-hangzhou

RegionId

string

路由表所属地域的 ID。

您可以通过调用 DescribeRegions 接口获取地域 ID。

cn-hangzhou

RouteEntries

array<object>

路由条目信息列表。

object

路由条目信息列表。

DstCidrBlock

string

自定义路由条目的目标网段,支持 IPv4 和 IPv6 的目标网段。最多支持输入 50 个目标网段。需满足以下要求:

  • 目标网段不能指向 100.64.0.0/10 或被 100.64.0.0/10 包含。

  • 同一张路由表内的不同路由条目的目标网段不能相同。

192.168.0.0/24

RouteTableId

string

要添加自定义路由条目的路由表 ID。 最多支持输入 50 个路由表 ID。

vtb-bp145q7glnuzd****

IpVersion

integer

IP 协议的版本。最多支持输入 50 个 IP 协议的版本。取值:

  • 4:IPv4 协议。

  • 6:IPv6 协议。

4

NextHop

string

自定义路由条目的下一跳实例的 ID。最多支持输入 50 个实例 ID。

说明

若选择 NextHopType 为 ECR,您可以通过 DescribeExpressConnectRouterAssociation 接口获取 AssociationId 作为下一跳 ID。

i-j6c2fp57q8rr4jlu****

NextHopType

string

自定义路由条目的下一跳的类型。最多支持输入 50 个下一跳类型。取值:

  • Instance(默认值):ECS 实例。

  • HaVip:高可用虚拟 IP。

  • RouterInterface:路由器接口。

  • NetworkInterface:弹性网卡。

  • VpnGateway:VPN 网关。

  • IPv6Gateway:IPv6 网关。

  • NatGateway:NAT 网关。

  • Attachment:转发路由器。

  • VpcPeer:VPC 对等连接。

  • Ipv4Gateway:IPv4 网关。

  • GatewayEndpoint:网关终端节点。

  • CenBasic:CEN 不支持转发路由器。

  • Ecr:专线网关。

  • GatewayLoadBalancerEndpoint:网关型负载均衡终端节点。

RouterInterface

Name

string

要添加的自定义路由条目的名称。最多支持输入 50 个名称。

名称长度为 1~128 个字符,不能以http://https://开头。

test

Description

string

自定义路由条目的描述信息。最多支持输入 50 个描述。

描述长度为 1~256 个字符,不能以http://https://开头。

test

DryRun

boolean

是否只预检此次请求,取值:

true:发送请求,不会创建路由条目。检查项包括 AccessKey 是否有效、RAM 用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation

false(默认值):发送正常请求,通过检查后返回 2xx HTTP 状态码并直接创建路由条目。

返回参数

名称

类型

描述

示例值

object

成功任务数。

SuccessCount

integer

添加成功的路由条目数。

2

FailedCount

integer

添加失败的路由条目数。

2

RequestId

string

请求 ID。

0ED8D006-F706-4D23-88ED-E11ED28DCAC0

FailedRouteEntries

array<object>

添加失败的路由条目数的详细信息。

object

添加失败的路由条目数的详细信息。

DstCidrBlock

string

添加失败的自定义路由条目的目标网段。

192.168.0.0/24

NextHop

string

添加失败的自定义路由条目的下一跳实例的 ID。

i-j6c2fp57q8rr4jlu****

FailedCode

string

失败的错误码。

VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE

FailedMessage

string

失败的具体报错信息。

Specified CIDR block is already exists, entry.cidrBlock=xxxx

RouteEntryIds

array

添加成功的自定义路由条目返回的实例 ID 信息。

string

添加成功的自定义路由条目返回的实例 ID。

rte-sn6vjkioxte1gz83z****

示例

正常返回示例

JSON格式

{
  "SuccessCount": 2,
  "FailedCount": 2,
  "RequestId": "0ED8D006-F706-4D23-88ED-E11ED28DCAC0",
  "FailedRouteEntries": [
    {
      "DstCidrBlock": "192.168.0.0/24",
      "NextHop": "i-j6c2fp57q8rr4jlu****",
      "FailedCode": "VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE",
      "FailedMessage": "Specified CIDR block is already exists, entry.cidrBlock=xxxx"
    }
  ],
  "RouteEntryIds": [
    "rte-sn6vjkioxte1gz83z****"
  ]
}

错误码

HTTP status code

错误码

错误信息

描述

400 DryRunOperation Request validation has been passed with DryRun flag set. DryRun校验通过。
400 InvalidCIDRBlock.Duplicate Specified CIDR block is already exists.
400 MissingParam.RouteTableId The parameter RouteTableId is missing.

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情