Skip to content

CenRouteMap

This class encapsulates and extends the ROS resource type ALIYUN::CEN::CenRouteMap, which is used to create a routing policy.

Initializers

import ros_cdk_cen
ros_cdk_cen.CenRouteMap(
  scope: Construct,
  id: str,
  cen_id: typing.Union[str, IResolvable],
  cen_region_id: typing.Union[str, IResolvable],
  map_result: typing.Union[str, IResolvable],
  priority: typing.Union[typing.Union[int, float], IResolvable],
  transmit_direction: typing.Union[str, IResolvable],
  as_path_match_mode: typing.Union[str, IResolvable] = None,
  cidr_match_mode: typing.Union[str, IResolvable] = None,
  community_match_mode: typing.Union[str, IResolvable] = None,
  community_operate_mode: typing.Union[str, IResolvable] = None,
  description: typing.Union[str, IResolvable] = None,
  destination_child_instance_types: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  destination_cidr_blocks: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  destination_instance_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  destination_instance_ids_reverse_match: typing.Union[bool, IResolvable] = None,
  destination_route_table_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  match_asns: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  match_community_set: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  next_priority: typing.Union[typing.Union[int, float], IResolvable] = None,
  operate_community_set: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  preference: typing.Union[typing.Union[int, float], IResolvable] = None,
  prepend_as_path: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  route_types: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  source_child_instance_types: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  source_instance_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  source_instance_ids_reverse_match: typing.Union[bool, IResolvable] = None,
  source_region_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  source_route_table_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
cen_id typing.Union[str, ros_cdk_core.IResolvable] Property cenId: The ID of the Cloud Enterprise Network (CEN) instance.
cen_region_id typing.Union[str, ros_cdk_core.IResolvable] Property cenRegionId: The region where the CEN instance is deployed.
map_result typing.Union[str, ros_cdk_core.IResolvable] Property mapResult: The route map behavior after all conditions are matched.
priority typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property priority: The priority of the route map.
transmit_direction typing.Union[str, ros_cdk_core.IResolvable] Property transmitDirection: The direction in which the route map is applied.
as_path_match_mode typing.Union[str, ros_cdk_core.IResolvable] Property asPathMatchMode: Match statements are used to match the AS paths.
cidr_match_mode typing.Union[str, ros_cdk_core.IResolvable] Property cidrMatchMode: Match statements are used to match the prefixes.
community_match_mode typing.Union[str, ros_cdk_core.IResolvable] Property communityMatchMode: Match statements are used to match the Communities.
community_operate_mode typing.Union[str, ros_cdk_core.IResolvable] Property communityOperateMode: Action statements are used to operate the Communities.
description typing.Union[str, ros_cdk_core.IResolvable] Property description: The description of the route map.
destination_child_instance_types typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property destinationChildInstanceTypes: Match statements are used to match the destination instance types.
destination_cidr_blocks typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property destinationCidrBlocks: Match statements are used to match the routing prefixes.
destination_instance_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property destinationInstanceIds: Match statements are used to match the destination instance IDs.
destination_instance_ids_reverse_match typing.Union[bool, ros_cdk_core.IResolvable] Property destinationInstanceIdsReverseMatch: The IDs of destination instances to be advertised do not support match statements.
destination_route_table_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property destinationRouteTableIds: Match statements are used to match the IDs of the destination route tables.
match_asns typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property matchAsns: Match statements are used to match AS paths of the routes.
match_community_set typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property matchCommunitySet: Match statements are used to match the Communities.
next_priority typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property nextPriority: The priority of the next associated route map.
operate_community_set typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property operateCommunitySet: Action statements are used to operate the Communities.
preference typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property preference: Action statements are used to modify route priorities.
prepend_as_path typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property prependAsPath: AS paths are attached when regional gateways receive or advertise routes.
route_types typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property routeTypes: Match statements are used to match the route types.
source_child_instance_types typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property sourceChildInstanceTypes: Match statements are used to match source instance types of the routes.
source_instance_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property sourceInstanceIds: Match statements are used to match source instance IDs of the routes.
source_instance_ids_reverse_match typing.Union[bool, ros_cdk_core.IResolvable] Property sourceInstanceIdsReverseMatch: The IDs of source instances to be advertised do not support match statements.
source_region_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property sourceRegionIds: Match statements are used to match source region IDs of the routes.
source_route_table_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property sourceRouteTableIds: Match statements are used to match source route table IDs of the routes.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

cen_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property cenId: The ID of the Cloud Enterprise Network (CEN) instance.


cen_region_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property cenRegionId: The region where the CEN instance is deployed.

You can call the DescribeRegions operation to query region IDs.


map_resultRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property mapResult: The route map behavior after all conditions are matched.

Valid values: Permit: allows the routes that are matched. Deny: rejects the routes that are matched.


priorityRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property priority: The priority of the route map.

Valid values: 1 to 100 . A lower value indicates a higher priority. Note In the same region, for route maps that are applied in the same direction, the priority is unique. When a route map is implemented, the system matches conditions with a route map whose priority number is the smallest. Therefore, make sure that you set priorities for route maps to meet your requirements.


transmit_directionRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property transmitDirection: The direction in which the route map is applied.

Valid values: RegionIn: Routes are advertised to CEN gateways. For example, routes are advertised from network instances deployed in the current region or other regions to the gateways deployed in the current region. RegionOut: Routes are advertised from CEN gateways. For example, routes are advertised from gateways deployed in the current region to network instances or gateways deployed in other regions.


as_path_match_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property asPathMatchMode: Match statements are used to match the AS paths.

Valid values: Include: uses fuzzy match. If the AS path in the condition overlaps with the AS path in the route, the match is successful. Complete: uses exact match. Only when the AS path in the condition is the same as the AS path in the route, the match is successful.


cidr_match_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property cidrMatchMode: Match statements are used to match the prefixes.

Valid values: Include: uses fuzzy match. If the routing prefix in the condition contains the routing prefix of the route, the match is successful. For example, the 1.1.0.0/16 policy can match the 1.1.1.0/24 route. Complete: uses exact match. Only when the routing prefix in the condition is the same as the routing prefix of the route, the match is successful. For example, the 1.1.0.0/16 policy can match the 1.1.0.0/16 route.


community_match_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property communityMatchMode: Match statements are used to match the Communities.

Valid values: Include: uses fuzzy match. If the Community in the condition overlaps with the Community of the route, the match is successful. Complete: uses exact match. Only when the Community in the condition is the same as the Community of the route, the match is successful.


community_operate_modeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property communityOperateMode: Action statements are used to operate the Communities.

Valid values: Additive: adds. Replace: replaces.


descriptionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property description: The description of the route map.


destination_child_instance_typesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property destinationChildInstanceTypes: Match statements are used to match the destination instance types.

Valid values: VPC: VPCs. VBR: VBRs. CCN: CCN instances in mainland China. Note The destination instance types are valid only when the route map is applied to scenarios where routes are advertised from gateways in the current region to instances in the current region.


destination_cidr_blocksOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property destinationCidrBlocks: Match statements are used to match the routing prefixes.

The CIDR format is used. You can enter at most 32 CIDR blocks.


destination_instance_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property destinationInstanceIds: Match statements are used to match the destination instance IDs.

You can enter instance IDs of the following types: VPC, VBR, CCN in mainland China, and SAG. You can enter at most 32 instance IDs. Note The destination instance IDs are valid only when the route map is applied to scenarios where routes are advertised from gateways in the current region to instances in the current region.


destination_instance_ids_reverse_matchOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property destinationInstanceIdsReverseMatch: The IDs of destination instances to be advertised do not support match statements.

Valid values: false(default value): If the ID of the destination instance to be advertised is in the DestinationInstanceIds field, the match is successful. true: If the ID of the destination instance to be advertised is not in the DestinationInstanceIds filed, the match is successful.


destination_route_table_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property destinationRouteTableIds: Match statements are used to match the IDs of the destination route tables.

You can enter at most 32 route table IDs. Note The destination route table IDs are valid only when the route map is applied to scenarios where routes are advertised from gateways in the current region to route tables in the current region.


match_asnsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property matchAsns: Match statements are used to match AS paths of the routes.

An AS path is a mandatory attribute, which describes the AS number through which a BGP route passes when the BGP route is advertised. Only the AS-SEQUENCE parameter is supported. The AS-SET, AS-CONFED-SEQUENCE, and AS-CONFED-SET parameters are not supported. Specifically, only the AS number list is supported. Sets and sub-lists are not supported.


match_community_setOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property matchCommunitySet: Match statements are used to match the Communities.

Enter each Community in the format of nn:nn. Valid values of nn: 1 to 65535. You can enter at most 32 Communities. Each Community must comply with RFC 1997. RFC 8092 is not supported. Note If the configurations of the Communities are incorrect, routes may not be advertised to the on-premises data center.


next_priorityOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property nextPriority: The priority of the next associated route map.

Valid values: 1 to 100. If the priority is not set, no next route map is associated with the current route map. If the priority is set to 1, the next route map is associated with the current route map. If the priority is set and the value is not 1, the priority of the associated route map must be higher than that of the current route map. Only when the MapResult parameter is set to Permit, the matched routes continue to match the next associated route maps.


operate_community_setOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property operateCommunitySet: Action statements are used to operate the Communities.

Valid values: Enter each Community in the format of nn:nn. Valid values of nn: 1 to 65535. You can enter at most 32 Communities. Each Community must comply with RFC 1997. RFC 8092 is not supported. Note If the configurations of the Communities are incorrect, routes may not be advertised to the on-premises data center.


preferenceOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property preference: Action statements are used to modify route priorities.

Valid values: 1 to 100. Default value: 50. A smaller number indicates a higher priority.


prepend_as_pathOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property prependAsPath: AS paths are attached when regional gateways receive or advertise routes.

For route maps that are applied in different directions, the requirements for AS paths to be attached are different: For the inbound direction: You must specify the list of source instance IDs and the source region in the condition to be matched. The source region must be the same as the region where the route map is applied. For the outbound direction: You must specify the list of destination instance IDs in the condition to be matched.


route_typesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property routeTypes: Match statements are used to match the route types.

Valid values: System: system routes that are generated by the system. Custom: custom routes that are created by users. BGP: Border Gateway Protocol (BGP) routes that are advertised to BGP. You can enter multiple types.


source_child_instance_typesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property sourceChildInstanceTypes: Match statements are used to match source instance types of the routes.

Valid values: VPC: VPCs. VBR: VBRs. CCN: CCN instances in mainland China.


source_instance_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property sourceInstanceIds: Match statements are used to match source instance IDs of the routes.

You can enter instance IDs of the following types: virtual private cloud (VPC), virtual border router (VBR), Cloud Connect Network (CCN) in mainland China, Smart Access Gateway (SAG). You can enter at most 32 instance IDs.


source_instance_ids_reverse_matchOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property sourceInstanceIdsReverseMatch: The IDs of source instances to be advertised do not support match statements.

Valid values: false (default value): If the source instance ID is in the SourceInstanceIds field, the match is successful. true: If the source instance ID is not in the SourceInstanceIds field, the match is successful.


source_region_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property sourceRegionIds: Match statements are used to match source region IDs of the routes.

You can enter at most 32 region IDs.


source_route_table_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property sourceRouteTableIds: Match statements are used to match source route table IDs of the routes.

You can enter at most 32 route table IDs.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_cen
ros_cdk_cen.CenRouteMap.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_route_map_id ros_cdk_core.IResolvable Attribute RouteMapId: The ID of the route map.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_route_map_idRequired

attr_route_map_id: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute RouteMapId: The ID of the route map.