CreateRouteMapRule - 创建路由策略规则

更新时间:
复制 MD 格式

用于创建新的路由策略规则。

接口说明

请求说明

  • RouteMapId为必填参数,用于指定新规则归属的路由策略。

  • Priority为必填参数,数值越小表示优先级越高。同一路由策略下的规则优先级不能重复。

  • Name和Description为可选参数,用于标识规则并说明规则用途。

  • MatchConditions用于定义规则的匹配条件,SetActions用于定义路由命中全部匹配条件后执行的动作。两者均以 JSON 字符串形式传入。

  • DryRun为可选参数,用于预检此次请求而不实际创建路由策略规则。

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

cen:CreateRouteMapRule

create

*RouteMapRule

acs:cen:*:{#accountId}:routemaprule/*

*RouteMap

acs:cen:*:{#accountId}:routemap/{#RouteMapId}

无 无

请求语法

POST / HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

ClientToken

string

否

客户端 Token,用于保证请求的幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。

说明

若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 可能不一样。

02fb3da4-130e-11e9-8e44-001****

RouteMapId

string

是

路由策略的 ID。

rm-0a1b2c3d4e5f6a7b8

Name

string

否

规则的名称,便于识别。名称可以为空或长度为 1~128 个字符,不能以 http://或 https://开头。

Permit-Prod-Prefixes-Set-LP

Description

string

否

规则的详细描述。描述可以为空或长度为 1~256 个字符,不能以 http://或 https://开头。

Matches production prefixes from on-prem and sets a higher local preference.

Priority

integer

是

优先级,数值越小优先级越高。

10

DryRun

boolean

否

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

  • true:发送检查请求,不会创建路由策略规则。检查项包括是否填写了必需参数、请求格式、业务限制等。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation。

  • false(默认值):发送正常请求,通过检查后直接创建路由策略规则。

false

MatchConditions

object

否

路由策略规则的匹配条件。路由需要满足本参数中定义的全部匹配条件,系统才会执行 SetActions 中定义的动作。

AddressPrefixesInclude

array

否

路由需模糊匹配的路由前缀列表。最多支持输入 64 个 IP 地址段。

匹配条件中的路由前缀包含被匹配路由的路由前缀即判定为匹配成功。

例如:定义 10.0.0.0/8 的策略可以模糊匹配到 10.10.10.0/24 的路由。

IP 地址段使用 CIDR 格式,支持 IPv4、IPv6。

本参数与 AddressPrefixesMatch 互斥,不能同时指定。

string

否

路由需模糊匹配的路由前缀列表。最多支持输入 64 个 IP 地址段。

匹配条件中的路由前缀包含被匹配路由的路由前缀即判定为匹配成功。

例如:定义 10.0.0.0/8 的策略可以模糊匹配到 10.10.10.0/24 的路由。

IP 地址段使用 CIDR 格式,支持 IPv4、IPv6。

本参数与 AddressPrefixesMatch 互斥,不能同时指定。

10.0.0.0/8

AddressPrefixesMatch

array

否

路由需精确匹配的路由前缀列表。最多支持输入 64 个 IP 地址段。

匹配条件中的路由前缀必须与被匹配路由的路由前缀一致,才判定为匹配成功。

例如:定义 10.0.0.0/8 的策略仅可以精确匹配到 10.0.0.0/8 的路由。

IP 地址段使用 CIDR 格式,支持 IPv4、IPv6。

本参数与 AddressPrefixesInclude 互斥,不能同时指定。

string

否

路由需精确匹配的路由前缀列表。最多支持输入 64 个 IP 地址段。

匹配条件中的路由前缀必须与被匹配路由的路由前缀一致,才判定为匹配成功。

例如:定义 10.0.0.0/8 的策略仅可以精确匹配到 10.0.0.0/8 的路由。

IP 地址段使用 CIDR 格式,支持 IPv4、IPv6。

本参数与 AddressPrefixesInclude 互斥,不能同时指定。

10.0.0.0/8

AsPathsInclude

array

否

路由需模糊匹配的 AS Path 列表。最多支持输入 64 个 AS 号码。

匹配条件中的 AS Path 与被匹配路由的 AS Path 有重叠即判定为匹配成功。

本参数与 AsPathsMatch 互斥,不能同时指定。

说明

仅支持 AS SEQUENCE,不支持 AS SET、AS CONFED SEQUENCE 和 AS CONFED SET,即只能是 AS 号列表,不支持集合和子列表。

integer

否

路由需模糊匹配的 AS Path 列表。最多支持输入 64 个 AS 号码。

匹配条件中的 AS Path 与被匹配路由的 AS Path 有重叠即判定为匹配成功。

本参数与 AsPathsMatch 互斥,不能同时指定。

说明

仅支持 AS SEQUENCE,不支持 AS SET、AS CONFED SEQUENCE 和 AS CONFED SET,即只能是 AS 号列表,不支持集合和子列表。

65000

AsPathsMatch

array

否

路由需精确匹配的 AS Path 列表。最多支持输入 64 个 AS 号码。

匹配条件中的 AS Path 必须与被匹配路由的 AS Path 一致,才判定为匹配成功。

本参数与 AsPathsInclude 互斥,不能同时指定。

说明

仅支持 AS SEQUENCE,不支持 AS SET、AS CONFED SEQUENCE 和 AS CONFED SET,即只能是 AS 号列表,不支持集合和子列表。

integer

否

路由需精确匹配的 AS Path 列表。最多支持输入 64 个 AS 号码。

匹配条件中的 AS Path 必须与被匹配路由的 AS Path 一致,才判定为匹配成功。

本参数与 AsPathsInclude 互斥,不能同时指定。

说明

仅支持 AS SEQUENCE,不支持 AS SET、AS CONFED SEQUENCE 和 AS CONFED SET,即只能是 AS 号列表,不支持集合和子列表。

65000

CommunitySetInclude

array

否

路由需模糊匹配的 Community 集合。最多支持输入 64 个 Community。

匹配条件中的 Community 与被匹配路由的 Community 有重叠即判定为匹配成功。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunitySetMatch 互斥,不能同时指定。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

string

否

路由需模糊匹配的 Community 集合。最多支持输入 64 个 Community。

匹配条件中的 Community 与被匹配路由的 Community 有重叠即判定为匹配成功。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunitySetMatch 互斥,不能同时指定。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

65000:100

CommunitySetMatch

array

否

路由需精确匹配的 Community 集合。最多支持输入 64 个 Community。

匹配条件中的 Community 必须与被匹配路由的 Community 一致,才判定为匹配成功。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunitySetInclude 互斥,不能同时指定。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

string

否

路由需精确匹配的 Community 集合。最多支持输入 64 个 Community。

匹配条件中的 Community 必须与被匹配路由的 Community 一致,才判定为匹配成功。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunitySetInclude 互斥,不能同时指定。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

65000:100

DestinationInstanceIds

array

否

路由需匹配的目的实例 ID 列表。支持输入以下类型的实例 ID:

  • 专有网络 VPC(Virtual Private Cloud)实例 ID

  • 边界路由器 VBR(Virtual Border Router)实例 ID

最多支持输入 64 个实例 ID。

说明

仅当路由策略的方向为出方向时,目的实例 ID 列表才会生效。

string

否

路由需匹配的目的实例 ID 列表。支持输入以下类型的实例 ID:

  • 专有网络 VPC(Virtual Private Cloud)实例 ID

  • 边界路由器 VBR(Virtual Border Router)实例 ID

最多支持输入 64 个实例 ID。

说明

仅当路由策略的方向为出方向时,目的实例 ID 列表才会生效。

vbr-gw8jiyiedko141709c903

DestinationInstanceIdsReverseMatch

boolean

否

是否使用目的实例 ID 列表的排除匹配模式。取值:

  • false(默认值):否,即路由传递的目的实例 ID 在DestinationInstanceIds.N中时,匹配通过。

  • true:是,即路由传递的目的实例 ID 不在DestinationInstanceIds.N中时,匹配通过。

false

DestinationInstanceTypes

array

否

路由需匹配的目的实例类型列表。支持以下实例类型:

  • VPC:专有网络实例。

  • VBR:边界路由器实例。

支持输入多种实例类型。

说明

仅当路由策略的方向为出方向时,目的实例类型列表才会生效。

string

否

路由需匹配的目的实例类型列表。支持以下实例类型:

  • VPC:专有网络实例。

  • VBR:边界路由器实例。

支持输入多种实例类型。

说明

仅当路由策略的方向为出方向时,目的实例类型列表才会生效。

VPC

DestinationRegionIds

array

否

路由需匹配的目的地域 ID 列表。最多支持输入 64 个地域 ID。

string

否

路由需匹配的目的地域 ID 列表。最多支持输入 64 个地域 ID。

all

DestinationRouteTableIds

array

否

路由需匹配的目的路由表 ID 列表。最多支持输入 64 个路由表 ID。

说明

仅当路由策略的方向为出方向时,目的路由表 ID 列表才会生效。

string

否

路由需匹配的目的路由表 ID 列表。最多支持输入 64 个路由表 ID。

说明

仅当路由策略的方向为出方向时,目的路由表 ID 列表才会生效。

vtb-wz9x2kcw75vsceun3a0wg

MatchAddressType

string

否

路由需匹配的 IP 地址类型。取值:

  • IPv4:表示只匹配 IPv4 路由。

  • IPv6:表示只匹配 IPv6 路由。

本参数可以为空,表示匹配所有类型的路由。

IPv4

RouteTypes

array

否

路由需匹配的路由类型列表。支持以下路由类型:

  • System:系统路由,由系统自动生成的路由。

  • Custom:自定义路由,由用户手动添加的路由。

  • BGP:BGP 路由,通过 BGP 路由协议传播的路由。

支持输入多种路由类型。

string

否

路由需匹配的路由类型列表。支持以下路由类型:

  • System:系统路由,由系统自动生成的路由。

  • Custom:自定义路由,由用户手动添加的路由。

  • BGP:BGP 路由,通过 BGP 路由协议传播的路由。

支持输入多种路由类型。

System

SourceInstanceIds

array

否

路由需匹配的源实例 ID 列表。支持输入以下类型的实例 ID:

  • 专有网络 VPC(Virtual Private Cloud)实例 ID

  • 边界路由器 VBR(Virtual Border Router)实例 ID

最多支持输入 64 个实例 ID。

string

否

路由需匹配的源实例 ID 列表。支持输入以下类型的实例 ID:

  • 专有网络 VPC(Virtual Private Cloud)实例 ID

  • 边界路由器 VBR(Virtual Border Router)实例 ID

最多支持输入 64 个实例 ID。

vpc-2zea9zsh6ce30nfcjlvyr

SourceInstanceIdsReverseMatch

boolean

否

是否使用源实例 ID 列表的排除匹配模式。取值:

  • false(默认值):否,即路由传递的源实例 ID 在SourceInstanceIds.N中时,匹配通过。

  • true:是,即路由传递的源实例 ID 不在SourceInstanceIds.N中时,匹配通过。

false

SourceInstanceTypes

array

否

路由需匹配的源实例类型列表。支持以下实例类型:

  • VPC:专有网络实例。

  • VBR:边界路由器实例。

支持输入多种实例类型。

string

否

路由需匹配的源实例类型列表。支持以下实例类型:

  • VPC:专有网络实例。

  • VBR:边界路由器实例。

支持输入多种实例类型。

VPC

SourceRegionIds

array

否

路由需匹配的源地域 ID 列表。最多支持输入 64 个地域 ID。

string

否

路由需匹配的源地域 ID 列表。最多支持输入 64 个地域 ID。

cn-hongkong

SourceRouteTableIds

array

否

路由需匹配的源路由表 ID 列表。最多支持输入 64 个路由表 ID。

string

否

路由需匹配的源路由表 ID 列表。最多支持输入 64 个路由表 ID。

vtb-uf684wwipxgflzkpe4zgd

SetActions

object

否

路由策略规则的执行动作。路由命中 MatchConditions 中定义的全部匹配条件后,系统按照本参数中定义的动作处理路由。

AsPathPrepend

array

否

地域网关接收或发布路由时附加的 AS Path。最多支持输入 64 个 AS 号码。

本参数与 AsPathReplace 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

integer

否

地域网关接收或发布路由时附加的 AS Path。最多支持输入 64 个 AS 号码。

本参数与 AsPathReplace 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

65000

AsPathReplace

array

否

地域网关接收或发布路由时替换的 AS Path。路由原有的 AS Path 将被替换为本参数指定的 AS 号列表。最多支持输入 64 个 AS 号码。

本参数与 AsPathPrepend 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

integer

否

地域网关接收或发布路由时替换的 AS Path。路由原有的 AS Path 将被替换为本参数指定的 AS 号列表。最多支持输入 64 个 AS 号码。

本参数与 AsPathPrepend 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

65123

CommunityAdd

array

否

要为路由添加的 Community 集合。最多支持输入 64 个 Community。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunityReplace 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

string

否

要为路由添加的 Community 集合。最多支持输入 64 个 Community。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunityReplace 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

65000:100

CommunityReplace

array

否

要替换路由原有 Community 的 Community 集合。最多支持输入 64 个 Community。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunityAdd 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

string

否

要替换路由原有 Community 的 Community 集合。最多支持输入 64 个 Community。

每个 Community 格式为 n:m,n、m 的取值范围为 1~65535。Community 需要符合 RFC 1997,不支持 Large Community(RFC 8092)。

本参数与 CommunityAdd 互斥,不能同时指定。

本参数表示路由通过匹配条件后,要执行的操作。

说明

Community 配置错误可能会导致路由不能发布到本地数据中心。

65000:200

NextPriority

integer

否

关联的下一条路由策略规则的优先级。

  • 仅 RouteAction 取值为 Permit 时,才支持设置关联策略优先级,且被允许通过的路由才会继续匹配关联的下一条路由策略规则。

  • 关联的下一条路由策略规则的优先级必须低于当前路由策略规则的优先级。

1

RouteAction

string

否

所有条件都匹配后的策略行为。取值:

  • Permit:允许匹配的路由通过。

  • Deny:拒绝匹配的路由通过。

枚举值:

  • Permit :

    允许通过

  • Deny :

    拒绝通过

Permit

返回参数

名称

类型

描述

示例值

object

RouteMapRuleId

string

路由策略规则的 ID。

rmr-3dm13f66wtctcnydup

RequestId

string

请求 ID。

EF44D7B7-6248-5A60-8A4C-A92388605A57

示例

正常返回示例

JSON格式

{
  "RouteMapRuleId": "rmr-3dm13f66wtctcnydup",
  "RequestId": "EF44D7B7-6248-5A60-8A4C-A92388605A57"
}

错误码

HTTP status code

错误码

错误信息

描述

400 InstanceNotExist.RouteMap The RouteMap does not exist. 路由策略不存在。
400 IncorrectStatus.RouteMap RouteMap is not in a valid state for the operation. 路由策略状态非法。
400 InvalidOperation.RouteMapRulePriorityConflict Operation is invalid because the route map rule priority conflicts with existing rules. 路由策略规则优先级与其他规则冲突。
400 QuotaExceeded.RouteMapRule The maximum number of RouteMap rule is exceeded. 路由策略规则数量超限。
400 QuotaExceeded.RouteMapRulePerEcr The maximum number of RouteMap Rule per ECR instance is exceeded. 路由策略规则数量超过ECR实例可配置的规则数量配额。
400 InvalidOperation.RouteMapCheckFailed Operation is invalid because the route map check failed. 路由策略校验失败,请重试操作。
400 InvalidOperation.UnsupportedRouteMapRule Operation is invalid because the route map rule contains unsupported configurations for associated instances. 路由策略规则包含绑定的资源不支持的配置。
400 ParamExclusive.AddressPrefixesIncludeAndAddressPrefixesMatch AddressPrefixesInclude and AddressPrefixesMatch are mutually exclusive. 参数AddressPrefixesInclude和AddressPrefixesMatch互斥。
400 ParamExclusive.CommunitySetMatchAndCommunitySetInclude Parameter CommunitySetMatch And CommunitySetInclude are mutually exclusive. 匹配条件"Community精确匹配"和"Community模糊匹配"互斥。
400 ParamExclusive.AsPathsMatchAndAsPathsInclude Parameter AsPathsMatch And AsPathsInclude are mutually exclusive. 匹配条件"AS Path精确匹配"和"AS Path模糊匹配"互斥。
400 InvalidParameter.MatchConditions.AddressPrefixesMatch The specified parameter "MatchConditions.AddressPrefixesMatch" is invalid. 输入的匹配条件"路由前缀精确匹配"不合法。
400 InvalidParameter.MatchConditions.AddressPrefixesInclude The specified parameter "MatchConditions.AddressPrefixesInclude" is invalid. 输入的匹配条件"路由前缀模糊匹配"不合法。
400 InvalidParameter.MatchConditions.CommunitySetMatch The specified parameter "MatchConditions.CommunitySetMatch" is invalid. 输入的匹配条件"Community精确匹配"不合法。
400 InvalidParameter.MatchConditions.CommunitySetInclude The specified parameter "MatchConditions.CommunitySetInclude" is invalid. 输入的匹配条件"Community模糊匹配"不合法。
400 InvalidParameter.MatchConditions.AsPathsMatch The specified parameter "MatchConditions.AsPathsMatch" is invalid. 输入的匹配条件"AS Path精确匹配"不合法。
400 InvalidParameter.MatchConditions.AsPathsInclude The specified parameter "MatchConditions.AsPathsInclude" is invalid. 输入的匹配条件"AS Path模糊匹配"不合法。
400 InvalidParameter.MatchConditions.SourceInstanceTypes The specified parameter "MatchConditions.SourceInstanceTypes" is invalid. 输入的匹配条件"源实例类型"不合法。
400 InvalidParameter.MatchConditions.DestinationInstanceTypes The specified parameter "MatchConditions.DestinationInstanceTypes" is invalid. 输入的匹配条件"目的实例类型"不合法。
400 InvalidParameter.MatchConditions.MatchAddressType The specified parameter "MatchConditions.MatchAddressType" is invalid. 输入的匹配条件"IP地址类型"不合法。
400 InvalidParameter.MatchConditions.RouteTypes The specified parameter "MatchConditions.RouteTypes" is invalid. 输入的匹配条件"路由类型"不合法。
400 InvalidParameter.SetActions.RouteAction The specified parameter "SetActions.RouteAction" is invalid. 输入的"执行动作"参数不合法。
400 ParamExclusive.AsPathPrependAndAsPathReplace Parameter AsPathPrepend And AsPathReplace are mutually exclusive. 执行动作"AS Path添加"和"AS Path替换"互斥。
400 ParamExclusive.CommunityAddAndCommunityReplace Parameter CommunityAdd And CommunityReplace are mutually exclusive. 执行动作"Community添加"和"Community替换"互斥。
400 InvalidParameter.SetActions.AsPathReplace The specified parameter "SetActions.AsPathReplace" is invalid. 输入的执行动作"AS Path替换"不合法。
400 InvalidParameter.SetActions.AsPathPrepend The specified parameter "SetActions.AsPathPrepend" is invalid. 输入的执行动作"AS Path添加"不合法。
400 InvalidParameter.SetActions.CommunityAdd The specified parameter "SetActions.CommunityAdd" is invalid. 输入的执行动作"Community添加"不合法。
400 InvalidParameter.SetActions.CommunityReplace The specified parameter "SetActions.CommunityReplace" is invalid. 输入的执行动作"Community替换"不合法。
400 InvalidParameter.SetActions.NextPriority The specified parameter "SetActions.NextPriority" is invalid. 输入的执行动作"关联策略执行"不合法。
400 InvalidParameter.RouteMapId The specified parameter RouteMapId is invalid. 输入的参数RouteMapId不合法。

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

变更历史

更多信息,参考变更详情。