调用CreateRouteEntries接口在VPC路由器的路由表中批量添加自定义路由条目。
使用说明
- CreateRouteEntries接口属于异步接口,即系统会返回一个实例ID,但该路由的创建尚未完成,系统后台的启动任务仍在进行。您可以调用DescribeRouteEntryList查询路由的创建状态:
- 当路由处于Creating状态时,表示路由创建中。
- 当路由处于Created状态时,表示路由创建完成。
- CreateRouteEntries接口不支持在同一个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代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateRouteEntries | 系统规定参数。取值:CreateRouteEntries。 |
RegionId | String | 是 | cn-hangzhou | 路由表所属地域的ID。 您可以通过调用DescribeRegions接口获取地域ID。 |
RouteEntries.N.DstCidrBlock | String | 是 | 192.168.0.0/24 | 自定义路由条目的目标网段,支持IPv4和IPv6的目标网段。最多支持输入50个目标网段。需满足以下要求:
|
RouteEntries.N.RouteTableId | String | 是 | vtb-bp145q7glnuzd**** | 要添加自定义路由条目的路由表ID。 最多支持输入50个路由表ID。 |
RouteEntries.N.IpVersion | Integer | 否 | IPv4 | IP协议的版本。最多支持输入50个IP协议的版本。取值:
|
RouteEntries.N.NextHop | String | 是 | i-j6c2fp57q8rr4jlu**** | 自定义路由条目的下一跳实例的ID。最多支持输入50个实例ID。 |
RouteEntries.N.NextHopType | String | 是 | RouterInterface | 自定义路由条目的下一跳的类型。最多支持输入50个下一跳类型。取值:
|
RouteEntries.N.Name | String | 否 | test | 要添加的自定义路由条目的名称。最多支持输入50个名称。 名称长度为1~128个字符,不能以 |
RouteEntries.N.Describption | String | 否 | test | 自定义路由条目的描述信息。最多支持输入50个描述。 描述长度为1~256个字符,不能以 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
SuccessCount | Integer | 2 | 添加成功的路由条目数。 |
FailedCount | Integer | 2 | 添加失败的路由条目数。 |
RequestId | String | 0ED8D006-F706-4D23-88ED-E11ED28DCAC0 | 请求ID。 |
FailedRouteEntries | Array of FailedRouteEntries | 添加失败的路由条目数的详细信息。 |
|
DstCidrBlock | String | 192.168.0.0/24 | 添加失败的自定义路由条目的目标网段。 |
NextHop | String | i-j6c2fp57q8rr4jlu**** | 添加失败的自定义路由条目的下一跳实例的ID。 |
FailedCode | String | VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE | 失败的错误码。 |
FailedMessage | String | Specified CIDR block is already exists, entry.cidrBlock=xxxx | 失败的具体报错信息。 |
RouteEntryIds | Array of String | rte-sn6vjkioxte1gz83z**** | 添加成功的自定义路由条目返回的实例ID。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateRouteEntries
&RegionId=cn-hangzhou
&RouteEntries=[{"DstCidrBlock":"192.168.0.0/24","RouteTableId":"vtb-bp145q7glnuzd****","NextHop":"i-j6c2fp57q8rr4jlu****","NextHopType":"RouterInterface","Name":"test","Describption":"test"}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateRouteEntriesResponse>
<SuccessCount>2</SuccessCount>
<FailedCount>2</FailedCount>
<RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>
<FailedRouteEntries>
<DstCidrBlock>192.168.0.0/24</DstCidrBlock>
<NextHop>i-j6c2fp57q8rr4jlu****</NextHop>
<FailedCode>VPC_ROUTE_ENTRY_CIDR_BLOCK_DUPLICATE</FailedCode>
<FailedMessage>Specified CIDR block is already exists, entry.cidrBlock=xxxx</FailedMessage>
</FailedRouteEntries>
<RouteEntryIds>rte-sn6vjkioxte1gz83z****</RouteEntryIds>
</CreateRouteEntriesResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/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****" ]
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | DryRunOperation | Request validation has been passed with DryRun flag set. | DryRun校验通过。 |
访问错误中心查看更多错误码。