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. |
scope
Required
- Type: ros_cdk_core.Construct
id
Required
- Type: str
cen_id
Required
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property cenId: The ID of the Cloud Enterprise Network (CEN) instance.
cen_region_id
Required
- 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_result
Required
- 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.
priority
Required
- 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_direction
Required
- 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_mode
Optional
- 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_mode
Optional
- 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_mode
Optional
- 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_mode
Optional
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property communityOperateMode: Action statements are used to operate the Communities.
Valid values: Additive: adds. Replace: replaces.
description
Optional
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property description: The description of the route map.
destination_child_instance_types
Optional
- 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_blocks
Optional
- 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_ids
Optional
- 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_match
Optional
- 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_ids
Optional
- 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_asns
Optional
- 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_set
Optional
- 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_priority
Optional
- 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_set
Optional
- 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.
preference
Optional
- 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_path
Optional
- 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_types
Optional
- 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_types
Optional
- 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_ids
Optional
- 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_match
Optional
- 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_ids
Optional
- 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_ids
Optional
- 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_constraint
Optional
- 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.
- Type: ros_cdk_core.ISynthesisSession
The synthesis session.
add_condition
def add_condition(
condition: RosCondition
) -> None
- Type: ros_cdk_core.RosCondition
add_count
def add_count(
count: typing.Union[typing.Union[int, float], IResolvable]
) -> None
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
add_dependency
def add_dependency(
resource: Resource
) -> None
- Type: ros_cdk_core.Resource
add_resource_desc
def add_resource_desc(
desc: str
) -> None
- Type: str
apply_removal_policy
def apply_removal_policy(
policy: RemovalPolicy
) -> None
- Type: ros_cdk_core.RemovalPolicy
get_att
def get_att(
name: str
) -> IResolvable
- Type: str
set_metadata
def set_metadata(
key: str,
value: typing.Any
) -> None
- Type: str
- 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.
- 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. |
node
Required
node: ConstructNode
- Type: ros_cdk_core.ConstructNode
The construct tree node associated with this construct.
ref
Required
ref: str
- Type: str
stack
Required
stack: Stack
- Type: ros_cdk_core.Stack
The stack in which this resource is defined.
resource
Optional
resource: RosResource
- Type: ros_cdk_core.RosResource
attr_route_map_id
Required
attr_route_map_id: IResolvable
- Type: ros_cdk_core.IResolvable
Attribute RouteMapId: The ID of the route map.