CfnRoute
- class aws_cdk.aws_appmesh.CfnRoute(scope, id, *, mesh_name, spec, virtual_router_name, mesh_owner=None, route_name=None, tags=None)
Bases:
CfnResource
A CloudFormation
AWS::AppMesh::Route
.Creates a route that is associated with a virtual router.
You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.
For more information about routes, see Routes .
- CloudformationResource
AWS::AppMesh::Route
- Link
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh cfn_route = appmesh.CfnRoute(self, "MyCfnRoute", mesh_name="meshName", spec=appmesh.CfnRoute.RouteSpecProperty( grpc_route=appmesh.CfnRoute.GrpcRouteProperty( action=appmesh.CfnRoute.GrpcRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.GrpcRouteMatchProperty( metadata=[appmesh.CfnRoute.GrpcRouteMetadataProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method_name="methodName", port=123, service_name="serviceName" ), # the properties below are optional retry_policy=appmesh.CfnRoute.GrpcRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional grpc_retry_events=["grpcRetryEvents"], http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.GrpcTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), http2_route=appmesh.CfnRoute.HttpRouteProperty( action=appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" ), # the properties below are optional retry_policy=appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), http_route=appmesh.CfnRoute.HttpRouteProperty( action=appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" ), # the properties below are optional retry_policy=appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), priority=123, tcp_route=appmesh.CfnRoute.TcpRouteProperty( action=appmesh.CfnRoute.TcpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), # the properties below are optional match=appmesh.CfnRoute.TcpRouteMatchProperty( port=123 ), timeout=appmesh.CfnRoute.TcpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ) ), virtual_router_name="virtualRouterName", # the properties below are optional mesh_owner="meshOwner", route_name="routeName", tags=[CfnTag( key="key", value="value" )] )
Create a new
AWS::AppMesh::Route
.- Parameters
scope (
Construct
) –scope in which this resource is defined.
id (
str
) –scoped id of the resource.
mesh_name (
str
) – The name of the service mesh to create the route in.spec (
Union
[IResolvable
,RouteSpecProperty
,Dict
[str
,Any
]]) – The route specification to apply.virtual_router_name (
str
) – The name of the virtual router in which to create the route. If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.mesh_owner (
Optional
[str
]) – The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes .route_name (
Optional
[str
]) – The name to use for the route.tags (
Optional
[Sequence
[Union
[CfnTag
,Dict
[str
,Any
]]]]) – Optional metadata that you can apply to the route to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
Methods
- add_deletion_override(path)
Syntactic sugar for
addOverride(path, undefined)
.- Parameters
path (
str
) – The path of the value to delete.- Return type
None
- add_depends_on(target)
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Parameters
target (
CfnResource
) –- Return type
None
- add_metadata(key, value)
Add a value to the CloudFormation Resource Metadata.
- Parameters
key (
str
) –value (
Any
) –
- See
- Return type
None
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- add_override(path, value)
Adds an override to the synthesized CloudFormation resource.
To add a property override, either use
addPropertyOverride
or prefixpath
with “Properties.” (i.e.Properties.TopicName
).If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal
.
in the property name, prefix with a\
. In most programming languages you will need to write this as"\\."
because the\
itself will need to be escaped.For example:
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"]) cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides Example:
"Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... }
The
value
argument toaddOverride
will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.- Parameters
path (
str
) –The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.
value (
Any
) –The value. Could be primitive or complex.
- Return type
None
- add_property_deletion_override(property_path)
Adds an override that deletes the value of a property from the resource definition.
- Parameters
property_path (
str
) – The path to the property.- Return type
None
- add_property_override(property_path, value)
Adds an override to a resource property.
Syntactic sugar for
addOverride("Properties.<...>", value)
.- Parameters
property_path (
str
) – The path of the property.value (
Any
) – The value.
- Return type
None
- apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)
Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters
policy (
Optional
[RemovalPolicy
]) –apply_to_update_replace_policy (
Optional
[bool
]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: truedefault (
Optional
[RemovalPolicy
]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.
- Return type
None
- get_att(attribute_name)
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g.
resource.arn
), but this can be used for future compatibility in case there is no generated attribute.- Parameters
attribute_name (
str
) – The name of the attribute.- Return type
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters
key (
str
) –- See
- Return type
Any
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- inspect(inspector)
Examines the CloudFormation resource and discloses attributes.
- Parameters
inspector (
TreeInspector
) –tree inspector to collect and process attributes.
- Return type
None
- override_logical_id(new_logical_id)
Overrides the auto-generated logical ID with a specific ID.
- Parameters
new_logical_id (
str
) – The new logical ID to use for this stack element.- Return type
None
- to_string()
Returns a string representation of this construct.
- Return type
str
- Returns
a string representation of this resource
Attributes
- CFN_RESOURCE_TYPE_NAME = 'AWS::AppMesh::Route'
- attr_arn
The full Amazon Resource Name (ARN) for the route.
- CloudformationAttribute
Arn
- attr_mesh_name
The name of the service mesh that the route resides in.
- CloudformationAttribute
MeshName
- attr_mesh_owner
The AWS IAM account ID of the service mesh owner.
If the account ID is not your own, then it’s the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes .
- CloudformationAttribute
MeshOwner
- attr_resource_owner
The AWS IAM account ID of the resource owner.
If the account ID is not your own, then it’s the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes .
- CloudformationAttribute
ResourceOwner
- attr_route_name
The name of the route.
- CloudformationAttribute
RouteName
- attr_uid
The unique identifier for the route.
- CloudformationAttribute
Uid
- attr_virtual_router_name
The name of the virtual router that the route is associated with.
- CloudformationAttribute
VirtualRouterName
- cfn_options
Options for this resource, such as condition, update policy etc.
- cfn_resource_type
AWS resource type.
- creation_stack
return:
the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.
- logical_id
The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use
overrideLogicalId(newLogicalId)
.- Returns
the logical ID as a stringified token. This value will only get resolved during synthesis.
- mesh_name
The name of the service mesh to create the route in.
- mesh_owner
The AWS IAM account ID of the service mesh owner.
If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes .
- node
The construct tree node associated with this construct.
- ref
Return a string that will be resolved to a CloudFormation
{ Ref }
for this element.If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through
Lazy.any({ produce: resource.ref })
.
- route_name
The name to use for the route.
- spec
The route specification to apply.
- stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- tags
Optional metadata that you can apply to the route to assist with categorization and organization.
Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
- virtual_router_name
The name of the virtual router in which to create the route.
If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.
Static Methods
- classmethod is_cfn_element(x)
Returns
true
if a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceof
to allow stack elements from different versions of this library to be included in the same stack.- Parameters
x (
Any
) –- Return type
bool
- Returns
The construct as a stack element or undefined if it is not a stack element.
- classmethod is_cfn_resource(construct)
Check whether the given construct is a CfnResource.
- Parameters
construct (
IConstruct
) –- Return type
bool
- classmethod is_construct(x)
Return whether the given object is a Construct.
- Parameters
x (
Any
) –- Return type
bool
DurationProperty
- class CfnRoute.DurationProperty(*, unit, value)
Bases:
object
An object that represents a duration of time.
- Parameters
unit (
str
) – A unit of time.value (
Union
[int
,float
]) – A number of time units.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh duration_property = appmesh.CfnRoute.DurationProperty( unit="unit", value=123 )
Attributes
- unit
A unit of time.
- value
A number of time units.
GrpcRetryPolicyProperty
- class CfnRoute.GrpcRetryPolicyProperty(*, max_retries, per_retry_timeout, grpc_retry_events=None, http_retry_events=None, tcp_retry_events=None)
Bases:
object
An object that represents a retry policy.
Specify at least one value for at least one of the types of
RetryEvents
, a value formaxRetries
, and a value forperRetryTimeout
. Bothserver-error
andgateway-error
underhttpRetryEvents
include the Envoyreset
policy. For more information on thereset
policy, see the Envoy documentation .- Parameters
max_retries (
Union
[int
,float
]) – The maximum number of retry attempts.per_retry_timeout (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
]]) – The timeout for each retry attempt.grpc_retry_events (
Optional
[Sequence
[str
]]) – Specify at least one of the valid values.http_retry_events (
Optional
[Sequence
[str
]]) – Specify at least one of the following values. - server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511 - gateway-error – HTTP status codes 502, 503, and 504 - client-error – HTTP status code 409 - stream-error – Retry on refused streamtcp_retry_events (
Optional
[Sequence
[str
]]) – Specify a valid value. The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_retry_policy_property = appmesh.CfnRoute.GrpcRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional grpc_retry_events=["grpcRetryEvents"], http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] )
Attributes
- grpc_retry_events
Specify at least one of the valid values.
- http_retry_events
Specify at least one of the following values.
server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
gateway-error – HTTP status codes 502, 503, and 504
client-error – HTTP status code 409
stream-error – Retry on refused stream
- max_retries
The maximum number of retry attempts.
- per_retry_timeout
The timeout for each retry attempt.
- tcp_retry_events
Specify a valid value.
The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
GrpcRouteActionProperty
- class CfnRoute.GrpcRouteActionProperty(*, weighted_targets)
Bases:
object
An object that represents the action to take if a match is determined.
- Parameters
weighted_targets (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,WeightedTargetProperty
,Dict
[str
,Any
]]]]) – An object that represents the targets that traffic is routed to when a request matches the route.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_route_action_property = appmesh.CfnRoute.GrpcRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] )
Attributes
- weighted_targets
An object that represents the targets that traffic is routed to when a request matches the route.
GrpcRouteMatchProperty
- class CfnRoute.GrpcRouteMatchProperty(*, metadata=None, method_name=None, port=None, service_name=None)
Bases:
object
An object that represents the criteria for determining a request match.
- Parameters
metadata (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,GrpcRouteMetadataProperty
,Dict
[str
,Any
]]],None
]) – An object that represents the data to match from the request.method_name (
Optional
[str
]) – The method name to match from the request. If you specify a name, you must also specify aserviceName
.port (
Union
[int
,float
,None
]) – The port number to match on.service_name (
Optional
[str
]) – The fully qualified domain name for the service to match from the request.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_route_match_property = appmesh.CfnRoute.GrpcRouteMatchProperty( metadata=[appmesh.CfnRoute.GrpcRouteMetadataProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method_name="methodName", port=123, service_name="serviceName" )
Attributes
- metadata
An object that represents the data to match from the request.
- method_name
The method name to match from the request.
If you specify a name, you must also specify a
serviceName
.
- port
The port number to match on.
- service_name
The fully qualified domain name for the service to match from the request.
GrpcRouteMetadataMatchMethodProperty
- class CfnRoute.GrpcRouteMetadataMatchMethodProperty(*, exact=None, prefix=None, range=None, regex=None, suffix=None)
Bases:
object
An object that represents the match method.
Specify one of the match values.
- Parameters
exact (
Optional
[str
]) – The value sent by the client must match the specified value exactly.prefix (
Optional
[str
]) – The value sent by the client must begin with the specified characters.range (
Union
[IResolvable
,MatchRangeProperty
,Dict
[str
,Any
],None
]) – An object that represents the range of values to match on.regex (
Optional
[str
]) – The value sent by the client must include the specified characters.suffix (
Optional
[str
]) – The value sent by the client must end with the specified characters.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_route_metadata_match_method_property = appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" )
Attributes
- exact
The value sent by the client must match the specified value exactly.
- prefix
The value sent by the client must begin with the specified characters.
- range
An object that represents the range of values to match on.
- regex
The value sent by the client must include the specified characters.
- suffix
The value sent by the client must end with the specified characters.
GrpcRouteMetadataProperty
- class CfnRoute.GrpcRouteMetadataProperty(*, name, invert=None, match=None)
Bases:
object
An object that represents the match metadata for the route.
- Parameters
name (
str
) – The name of the route.invert (
Union
[bool
,IResolvable
,None
]) – SpecifyTrue
to match anything except the match criteria. The default value isFalse
.match (
Union
[IResolvable
,GrpcRouteMetadataMatchMethodProperty
,Dict
[str
,Any
],None
]) – An object that represents the data to match from the request.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_route_metadata_property = appmesh.CfnRoute.GrpcRouteMetadataProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )
Attributes
- invert
Specify
True
to match anything except the match criteria.The default value is
False
.
- match
An object that represents the data to match from the request.
GrpcRouteProperty
- class CfnRoute.GrpcRouteProperty(*, action, match, retry_policy=None, timeout=None)
Bases:
object
An object that represents a gRPC route type.
- Parameters
action (
Union
[IResolvable
,GrpcRouteActionProperty
,Dict
[str
,Any
]]) – An object that represents the action to take if a match is determined.match (
Union
[IResolvable
,GrpcRouteMatchProperty
,Dict
[str
,Any
]]) – An object that represents the criteria for determining a request match.retry_policy (
Union
[IResolvable
,GrpcRetryPolicyProperty
,Dict
[str
,Any
],None
]) – An object that represents a retry policy.timeout (
Union
[IResolvable
,GrpcTimeoutProperty
,Dict
[str
,Any
],None
]) – An object that represents types of timeouts.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_route_property = appmesh.CfnRoute.GrpcRouteProperty( action=appmesh.CfnRoute.GrpcRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.GrpcRouteMatchProperty( metadata=[appmesh.CfnRoute.GrpcRouteMetadataProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method_name="methodName", port=123, service_name="serviceName" ), # the properties below are optional retry_policy=appmesh.CfnRoute.GrpcRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional grpc_retry_events=["grpcRetryEvents"], http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.GrpcTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) )
Attributes
- action
An object that represents the action to take if a match is determined.
- match
An object that represents the criteria for determining a request match.
- retry_policy
An object that represents a retry policy.
- timeout
An object that represents types of timeouts.
GrpcTimeoutProperty
- class CfnRoute.GrpcTimeoutProperty(*, idle=None, per_request=None)
Bases:
object
An object that represents types of timeouts.
- Parameters
idle (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
],None
]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.per_request (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
],None
]) – An object that represents a per request timeout. The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh grpc_timeout_property = appmesh.CfnRoute.GrpcTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) )
Attributes
- idle
An object that represents an idle timeout.
An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
- per_request
An object that represents a per request timeout.
The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
HeaderMatchMethodProperty
- class CfnRoute.HeaderMatchMethodProperty(*, exact=None, prefix=None, range=None, regex=None, suffix=None)
Bases:
object
An object that represents the method and value to match with the header value sent in a request.
Specify one match method.
- Parameters
exact (
Optional
[str
]) – The value sent by the client must match the specified value exactly.prefix (
Optional
[str
]) – The value sent by the client must begin with the specified characters.range (
Union
[IResolvable
,MatchRangeProperty
,Dict
[str
,Any
],None
]) – An object that represents the range of values to match on.regex (
Optional
[str
]) – The value sent by the client must include the specified characters.suffix (
Optional
[str
]) – The value sent by the client must end with the specified characters.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh header_match_method_property = appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" )
Attributes
- exact
The value sent by the client must match the specified value exactly.
- prefix
The value sent by the client must begin with the specified characters.
- range
An object that represents the range of values to match on.
- regex
The value sent by the client must include the specified characters.
- suffix
The value sent by the client must end with the specified characters.
HttpPathMatchProperty
- class CfnRoute.HttpPathMatchProperty(*, exact=None, regex=None)
Bases:
object
An object representing the path to match in the request.
- Parameters
exact (
Optional
[str
]) – The exact path to match on.regex (
Optional
[str
]) – The regex used to match the path.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_path_match_property = appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" )
Attributes
- exact
The exact path to match on.
- regex
The regex used to match the path.
HttpQueryParameterMatchProperty
- class CfnRoute.HttpQueryParameterMatchProperty(*, exact=None)
Bases:
object
An object representing the query parameter to match.
- Parameters
exact (
Optional
[str
]) – The exact query parameter to match on.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_query_parameter_match_property = appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" )
Attributes
- exact
The exact query parameter to match on.
HttpRetryPolicyProperty
- class CfnRoute.HttpRetryPolicyProperty(*, max_retries, per_retry_timeout, http_retry_events=None, tcp_retry_events=None)
Bases:
object
An object that represents a retry policy.
Specify at least one value for at least one of the types of
RetryEvents
, a value formaxRetries
, and a value forperRetryTimeout
. Bothserver-error
andgateway-error
underhttpRetryEvents
include the Envoyreset
policy. For more information on thereset
policy, see the Envoy documentation .- Parameters
max_retries (
Union
[int
,float
]) – The maximum number of retry attempts.per_retry_timeout (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
]]) – The timeout for each retry attempt.http_retry_events (
Optional
[Sequence
[str
]]) – Specify at least one of the following values. - server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511 - gateway-error – HTTP status codes 502, 503, and 504 - client-error – HTTP status code 409 - stream-error – Retry on refused streamtcp_retry_events (
Optional
[Sequence
[str
]]) – Specify a valid value. The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_retry_policy_property = appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] )
Attributes
- http_retry_events
Specify at least one of the following values.
server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511
gateway-error – HTTP status codes 502, 503, and 504
client-error – HTTP status code 409
stream-error – Retry on refused stream
- max_retries
The maximum number of retry attempts.
- per_retry_timeout
The timeout for each retry attempt.
- tcp_retry_events
Specify a valid value.
The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable.
HttpRouteActionProperty
- class CfnRoute.HttpRouteActionProperty(*, weighted_targets)
Bases:
object
An object that represents the action to take if a match is determined.
- Parameters
weighted_targets (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,WeightedTargetProperty
,Dict
[str
,Any
]]]]) – An object that represents the targets that traffic is routed to when a request matches the route.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_route_action_property = appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] )
Attributes
- weighted_targets
An object that represents the targets that traffic is routed to when a request matches the route.
HttpRouteHeaderProperty
- class CfnRoute.HttpRouteHeaderProperty(*, name, invert=None, match=None)
Bases:
object
An object that represents the HTTP header in the request.
- Parameters
name (
str
) – A name for the HTTP header in the client request that will be matched on.invert (
Union
[bool
,IResolvable
,None
]) – SpecifyTrue
to match anything except the match criteria. The default value isFalse
.match (
Union
[IResolvable
,HeaderMatchMethodProperty
,Dict
[str
,Any
],None
]) – TheHeaderMatchMethod
object.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_route_header_property = appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )
Attributes
- invert
Specify
True
to match anything except the match criteria.The default value is
False
.
- match
The
HeaderMatchMethod
object.
- name
A name for the HTTP header in the client request that will be matched on.
HttpRouteMatchProperty
- class CfnRoute.HttpRouteMatchProperty(*, headers=None, method=None, path=None, port=None, prefix=None, query_parameters=None, scheme=None)
Bases:
object
An object that represents the requirements for a route to match HTTP requests for a virtual router.
- Parameters
headers (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,HttpRouteHeaderProperty
,Dict
[str
,Any
]]],None
]) – The client request headers to match on.method (
Optional
[str
]) – The client request method to match on. Specify only one.path (
Union
[IResolvable
,HttpPathMatchProperty
,Dict
[str
,Any
],None
]) – The client request path to match on.port (
Union
[int
,float
,None
]) – The port number to match on.prefix (
Optional
[str
]) – Specifies the path to match requests with. This parameter must always start with/
, which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name ismy-service.local
and you want the route to match requests tomy-service.local/metrics
, your prefix should be/metrics
.query_parameters (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,QueryParameterProperty
,Dict
[str
,Any
]]],None
]) – The client request query parameters to match on.scheme (
Optional
[str
]) – The client request scheme to match on. Specify only one. Applicable only for HTTP2 routes.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_route_match_property = appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" )
Attributes
- headers
The client request headers to match on.
- method
The client request method to match on.
Specify only one.
- path
The client request path to match on.
- port
The port number to match on.
- prefix
Specifies the path to match requests with.
This parameter must always start with
/
, which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name ismy-service.local
and you want the route to match requests tomy-service.local/metrics
, your prefix should be/metrics
.
- query_parameters
The client request query parameters to match on.
- scheme
The client request scheme to match on.
Specify only one. Applicable only for HTTP2 routes.
HttpRouteProperty
- class CfnRoute.HttpRouteProperty(*, action, match, retry_policy=None, timeout=None)
Bases:
object
An object that represents an HTTP or HTTP/2 route type.
- Parameters
action (
Union
[IResolvable
,HttpRouteActionProperty
,Dict
[str
,Any
]]) – An object that represents the action to take if a match is determined.match (
Union
[IResolvable
,HttpRouteMatchProperty
,Dict
[str
,Any
]]) – An object that represents the criteria for determining a request match.retry_policy (
Union
[IResolvable
,HttpRetryPolicyProperty
,Dict
[str
,Any
],None
]) – An object that represents a retry policy.timeout (
Union
[IResolvable
,HttpTimeoutProperty
,Dict
[str
,Any
],None
]) – An object that represents types of timeouts.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_route_property = appmesh.CfnRoute.HttpRouteProperty( action=appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" ), # the properties below are optional retry_policy=appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) )
Attributes
- action
An object that represents the action to take if a match is determined.
- match
An object that represents the criteria for determining a request match.
- retry_policy
An object that represents a retry policy.
- timeout
An object that represents types of timeouts.
HttpTimeoutProperty
- class CfnRoute.HttpTimeoutProperty(*, idle=None, per_request=None)
Bases:
object
An object that represents types of timeouts.
- Parameters
idle (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
],None
]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.per_request (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
],None
]) – An object that represents a per request timeout. The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh http_timeout_property = appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) )
Attributes
- idle
An object that represents an idle timeout.
An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
- per_request
An object that represents a per request timeout.
The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
MatchRangeProperty
- class CfnRoute.MatchRangeProperty(*, end, start)
Bases:
object
An object that represents the range of values to match on.
The first character of the range is included in the range, though the last character is not. For example, if the range specified were 1-100, only values 1-99 would be matched.
- Parameters
end (
Union
[int
,float
]) – The end of the range.start (
Union
[int
,float
]) – The start of the range.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh match_range_property = appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 )
Attributes
- end
The end of the range.
QueryParameterProperty
- class CfnRoute.QueryParameterProperty(*, name, match=None)
Bases:
object
An object that represents the query parameter in the request.
- Parameters
name (
str
) – A name for the query parameter that will be matched on.match (
Union
[IResolvable
,HttpQueryParameterMatchProperty
,Dict
[str
,Any
],None
]) – The query parameter to match on.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh query_parameter_property = appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )
Attributes
- match
The query parameter to match on.
- name
A name for the query parameter that will be matched on.
RouteSpecProperty
- class CfnRoute.RouteSpecProperty(*, grpc_route=None, http2_route=None, http_route=None, priority=None, tcp_route=None)
Bases:
object
An object that represents a route specification.
Specify one route type.
- Parameters
grpc_route (
Union
[IResolvable
,GrpcRouteProperty
,Dict
[str
,Any
],None
]) – An object that represents the specification of a gRPC route.http2_route (
Union
[IResolvable
,HttpRouteProperty
,Dict
[str
,Any
],None
]) – An object that represents the specification of an HTTP/2 route.http_route (
Union
[IResolvable
,HttpRouteProperty
,Dict
[str
,Any
],None
]) – An object that represents the specification of an HTTP route.priority (
Union
[int
,float
,None
]) – The priority for the route. Routes are matched based on the specified value, where 0 is the highest priority.tcp_route (
Union
[IResolvable
,TcpRouteProperty
,Dict
[str
,Any
],None
]) – An object that represents the specification of a TCP route.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh route_spec_property = appmesh.CfnRoute.RouteSpecProperty( grpc_route=appmesh.CfnRoute.GrpcRouteProperty( action=appmesh.CfnRoute.GrpcRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.GrpcRouteMatchProperty( metadata=[appmesh.CfnRoute.GrpcRouteMetadataProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.GrpcRouteMetadataMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method_name="methodName", port=123, service_name="serviceName" ), # the properties below are optional retry_policy=appmesh.CfnRoute.GrpcRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional grpc_retry_events=["grpcRetryEvents"], http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.GrpcTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), http2_route=appmesh.CfnRoute.HttpRouteProperty( action=appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" ), # the properties below are optional retry_policy=appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), http_route=appmesh.CfnRoute.HttpRouteProperty( action=appmesh.CfnRoute.HttpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), match=appmesh.CfnRoute.HttpRouteMatchProperty( headers=[appmesh.CfnRoute.HttpRouteHeaderProperty( name="name", # the properties below are optional invert=False, match=appmesh.CfnRoute.HeaderMatchMethodProperty( exact="exact", prefix="prefix", range=appmesh.CfnRoute.MatchRangeProperty( end=123, start=123 ), regex="regex", suffix="suffix" ) )], method="method", path=appmesh.CfnRoute.HttpPathMatchProperty( exact="exact", regex="regex" ), port=123, prefix="prefix", query_parameters=[appmesh.CfnRoute.QueryParameterProperty( name="name", # the properties below are optional match=appmesh.CfnRoute.HttpQueryParameterMatchProperty( exact="exact" ) )], scheme="scheme" ), # the properties below are optional retry_policy=appmesh.CfnRoute.HttpRetryPolicyProperty( max_retries=123, per_retry_timeout=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), # the properties below are optional http_retry_events=["httpRetryEvents"], tcp_retry_events=["tcpRetryEvents"] ), timeout=appmesh.CfnRoute.HttpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ), per_request=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ), priority=123, tcp_route=appmesh.CfnRoute.TcpRouteProperty( action=appmesh.CfnRoute.TcpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), # the properties below are optional match=appmesh.CfnRoute.TcpRouteMatchProperty( port=123 ), timeout=appmesh.CfnRoute.TcpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) ) )
Attributes
- grpc_route
An object that represents the specification of a gRPC route.
- http2_route
An object that represents the specification of an HTTP/2 route.
- http_route
An object that represents the specification of an HTTP route.
- priority
The priority for the route.
Routes are matched based on the specified value, where 0 is the highest priority.
- tcp_route
An object that represents the specification of a TCP route.
TcpRouteActionProperty
- class CfnRoute.TcpRouteActionProperty(*, weighted_targets)
Bases:
object
An object that represents the action to take if a match is determined.
- Parameters
weighted_targets (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,WeightedTargetProperty
,Dict
[str
,Any
]]]]) – An object that represents the targets that traffic is routed to when a request matches the route.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh tcp_route_action_property = appmesh.CfnRoute.TcpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] )
Attributes
- weighted_targets
An object that represents the targets that traffic is routed to when a request matches the route.
TcpRouteMatchProperty
- class CfnRoute.TcpRouteMatchProperty(*, port=None)
Bases:
object
An object representing the TCP route to match.
- Parameters
port (
Union
[int
,float
,None
]) – The port number to match on.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh tcp_route_match_property = appmesh.CfnRoute.TcpRouteMatchProperty( port=123 )
Attributes
- port
The port number to match on.
TcpRouteProperty
- class CfnRoute.TcpRouteProperty(*, action, match=None, timeout=None)
Bases:
object
An object that represents a TCP route type.
- Parameters
action (
Union
[IResolvable
,TcpRouteActionProperty
,Dict
[str
,Any
]]) – The action to take if a match is determined.match (
Union
[IResolvable
,TcpRouteMatchProperty
,Dict
[str
,Any
],None
]) – An object that represents the criteria for determining a request match.timeout (
Union
[IResolvable
,TcpTimeoutProperty
,Dict
[str
,Any
],None
]) – An object that represents types of timeouts.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh tcp_route_property = appmesh.CfnRoute.TcpRouteProperty( action=appmesh.CfnRoute.TcpRouteActionProperty( weighted_targets=[appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )] ), # the properties below are optional match=appmesh.CfnRoute.TcpRouteMatchProperty( port=123 ), timeout=appmesh.CfnRoute.TcpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) ) )
Attributes
- action
The action to take if a match is determined.
- match
An object that represents the criteria for determining a request match.
- timeout
An object that represents types of timeouts.
TcpTimeoutProperty
- class CfnRoute.TcpTimeoutProperty(*, idle=None)
Bases:
object
An object that represents types of timeouts.
- Parameters
idle (
Union
[IResolvable
,DurationProperty
,Dict
[str
,Any
],None
]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh tcp_timeout_property = appmesh.CfnRoute.TcpTimeoutProperty( idle=appmesh.CfnRoute.DurationProperty( unit="unit", value=123 ) )
Attributes
- idle
An object that represents an idle timeout.
An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
WeightedTargetProperty
- class CfnRoute.WeightedTargetProperty(*, virtual_node, weight, port=None)
Bases:
object
An object that represents a target and its relative weight.
Traffic is distributed across targets according to their relative weight. For example, a weighted target with a relative weight of 50 receives five times as much traffic as one with a relative weight of 10. The total weight for all targets combined must be less than or equal to 100.
- Parameters
virtual_node (
str
) – The virtual node to associate with the weighted target.weight (
Union
[int
,float
]) – The relative weight of the weighted target.port (
Union
[int
,float
,None
]) – The targeted port of the weighted object.
- Link
- ExampleMetadata
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_appmesh as appmesh weighted_target_property = appmesh.CfnRoute.WeightedTargetProperty( virtual_node="virtualNode", weight=123, # the properties below are optional port=123 )
Attributes
- port
The targeted port of the weighted object.
- virtual_node
The virtual node to associate with the weighted target.
- weight
The relative weight of the weighted target.