UpdateRouteMapRule - 更新路由策略规则

更新时间:
复制 MD 格式

用于更新已存在的路由策略规则的属性。

接口说明

请求说明

  • RouteMapRuleId用于指定要更新的路由策略规则。

  • Name、Description和Priority用于更新规则的名称、描述和优先级。同一路由策略下的规则优先级不能重复。

  • MatchConditions用于更新规则的匹配条件,SetActions用于更新路由命中匹配条件后执行的动作。

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

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

cen:UpdateRouteMapRule

update

*RouteMapRule

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

无 无

请求语法

POST / HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

ClientToken

string

否

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

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

说明

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

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

DryRun

boolean

否

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

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

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

RouteMapRuleId

string

否

要更新的路由策略规则的 ID。

rmr-0a1b2c3d4e5f6a7b8

Name

string

否

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

Permit-Prod-Prefixes-Set-LP

Priority

integer

否

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

10

Description

string

否

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

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

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。

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

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

integer

否

地域网关接收或发布路由时附加的 AS Path。

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

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

65000

AsPathReplace

array

否

地域网关接收或发布路由时替换的 AS Path。路由原有的 AS Path 将被替换为本参数指定的 AS 号列表。

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

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

integer

否

地域网关接收或发布路由时替换的 AS Path。路由原有的 AS Path 将被替换为本参数指定的 AS 号列表。

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

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

65123

CommunityAdd

array

否

要为路由添加的 Community 集合。

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

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

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

说明

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

string

否

要为路由添加的 Community 集合。

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

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

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

说明

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

65000:100

CommunityReplace

array

否

要替换路由原有 Community 的 Community 集合。

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

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

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

说明

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

string

否

要替换路由原有 Community 的 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

返回结果。

RequestId

string

请求 ID。

EF44D7B7-6248-5A60-8A4C-A92388605A57

示例

正常返回示例

JSON格式

{
  "RequestId": "EF44D7B7-6248-5A60-8A4C-A92388605A57"
}

错误码

HTTP status code

错误码

错误信息

描述

400 InstanceNotExist.RouteMapRule The RouteMap rule does not exist. 路由策略规则不存在。
400 IncorrectStatus.RouteMap RouteMap is not in a valid state for the operation. 路由策略状态非法。
400 IncorrectStatus.RouteMapRule RouteMap rule 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 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.RouteMapRuleId The specified parameter RouteMapRuleId is invalid. 输入的参数RouteMapRuleId不合法。

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

变更历史

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