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
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 .
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html
- CloudformationResource:
AWS::AppMesh::Route
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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" )] )
- Parameters:
scope (
Construct
) – Scope in which this resource is defined.id (
str
) – Construct identifier for this resource (unique in its scope).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_dependency(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_depends_on(target)
(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
- Parameters:
target (
CfnResource
) –- Deprecated:
use addDependency
- Stability:
deprecated
- Return type:
None
- add_metadata(key, value)
Add a value to the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –value (
Any
) –
- See:
- Return type:
None
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 intermediate 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
). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT
). A list of resources that support this policy can be found in the following link:- 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 resource, please consult that specific resource’s documentation.
- See:
- Return type:
None
- get_att(attribute_name, type_hint=None)
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.type_hint (
Optional
[ResolutionTypeHint
]) –
- Return type:
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –- See:
- Return type:
Any
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
- obtain_dependencies()
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
- Return type:
List
[Union
[Stack
,CfnResource
]]
- obtain_resource_dependencies()
Get a shallow copy of dependencies between this resource and other resources in the same stack.
- Return type:
List
[CfnResource
]
- 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
- remove_dependency(target)
Indicates that this resource no longer depends on another resource.
This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.
- Parameters:
target (
CfnResource
) –- Return type:
None
- replace_dependency(target, new_target)
Replaces one dependency with another.
- Parameters:
target (
CfnResource
) – The dependency to replace.new_target (
CfnResource
) – The new dependency to add.
- 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_id
Id
- Type:
cloudformationAttribute
- 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.
- node
The tree node.
- 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
Tag Manager which manages the tags for this resource.
- tags_raw
Optional metadata that you can apply to the route to assist with categorization and organization.
- virtual_router_name
The name of the virtual router in which to create the route.
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(x)
Check whether the given object is a CfnResource.
- Parameters:
x (
Any
) –- Return type:
bool
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters:
x (
Any
) – Any object.- Return type:
bool
- Returns:
true if
x
is an object created from a class which extendsConstruct
.
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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import 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.