Class CfnRoute
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
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 .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.appmesh.*;
CfnRoute cfnRoute = CfnRoute.Builder.create(this, "MyCfnRoute")
.meshName("meshName")
.spec(RouteSpecProperty.builder()
.grpcRoute(GrpcRouteProperty.builder()
.action(GrpcRouteActionProperty.builder()
.weightedTargets(List.of(WeightedTargetProperty.builder()
.virtualNode("virtualNode")
.weight(123)
// the properties below are optional
.port(123)
.build()))
.build())
.match(GrpcRouteMatchProperty.builder()
.metadata(List.of(GrpcRouteMetadataProperty.builder()
.name("name")
// the properties below are optional
.invert(false)
.match(GrpcRouteMetadataMatchMethodProperty.builder()
.exact("exact")
.prefix("prefix")
.range(MatchRangeProperty.builder()
.end(123)
.start(123)
.build())
.regex("regex")
.suffix("suffix")
.build())
.build()))
.methodName("methodName")
.port(123)
.serviceName("serviceName")
.build())
// the properties below are optional
.retryPolicy(GrpcRetryPolicyProperty.builder()
.maxRetries(123)
.perRetryTimeout(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
// the properties below are optional
.grpcRetryEvents(List.of("grpcRetryEvents"))
.httpRetryEvents(List.of("httpRetryEvents"))
.tcpRetryEvents(List.of("tcpRetryEvents"))
.build())
.timeout(GrpcTimeoutProperty.builder()
.idle(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.perRequest(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.build())
.build())
.http2Route(HttpRouteProperty.builder()
.action(HttpRouteActionProperty.builder()
.weightedTargets(List.of(WeightedTargetProperty.builder()
.virtualNode("virtualNode")
.weight(123)
// the properties below are optional
.port(123)
.build()))
.build())
.match(HttpRouteMatchProperty.builder()
.headers(List.of(HttpRouteHeaderProperty.builder()
.name("name")
// the properties below are optional
.invert(false)
.match(HeaderMatchMethodProperty.builder()
.exact("exact")
.prefix("prefix")
.range(MatchRangeProperty.builder()
.end(123)
.start(123)
.build())
.regex("regex")
.suffix("suffix")
.build())
.build()))
.method("method")
.path(HttpPathMatchProperty.builder()
.exact("exact")
.regex("regex")
.build())
.port(123)
.prefix("prefix")
.queryParameters(List.of(QueryParameterProperty.builder()
.name("name")
// the properties below are optional
.match(HttpQueryParameterMatchProperty.builder()
.exact("exact")
.build())
.build()))
.scheme("scheme")
.build())
// the properties below are optional
.retryPolicy(HttpRetryPolicyProperty.builder()
.maxRetries(123)
.perRetryTimeout(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
// the properties below are optional
.httpRetryEvents(List.of("httpRetryEvents"))
.tcpRetryEvents(List.of("tcpRetryEvents"))
.build())
.timeout(HttpTimeoutProperty.builder()
.idle(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.perRequest(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.build())
.build())
.httpRoute(HttpRouteProperty.builder()
.action(HttpRouteActionProperty.builder()
.weightedTargets(List.of(WeightedTargetProperty.builder()
.virtualNode("virtualNode")
.weight(123)
// the properties below are optional
.port(123)
.build()))
.build())
.match(HttpRouteMatchProperty.builder()
.headers(List.of(HttpRouteHeaderProperty.builder()
.name("name")
// the properties below are optional
.invert(false)
.match(HeaderMatchMethodProperty.builder()
.exact("exact")
.prefix("prefix")
.range(MatchRangeProperty.builder()
.end(123)
.start(123)
.build())
.regex("regex")
.suffix("suffix")
.build())
.build()))
.method("method")
.path(HttpPathMatchProperty.builder()
.exact("exact")
.regex("regex")
.build())
.port(123)
.prefix("prefix")
.queryParameters(List.of(QueryParameterProperty.builder()
.name("name")
// the properties below are optional
.match(HttpQueryParameterMatchProperty.builder()
.exact("exact")
.build())
.build()))
.scheme("scheme")
.build())
// the properties below are optional
.retryPolicy(HttpRetryPolicyProperty.builder()
.maxRetries(123)
.perRetryTimeout(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
// the properties below are optional
.httpRetryEvents(List.of("httpRetryEvents"))
.tcpRetryEvents(List.of("tcpRetryEvents"))
.build())
.timeout(HttpTimeoutProperty.builder()
.idle(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.perRequest(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.build())
.build())
.priority(123)
.tcpRoute(TcpRouteProperty.builder()
.action(TcpRouteActionProperty.builder()
.weightedTargets(List.of(WeightedTargetProperty.builder()
.virtualNode("virtualNode")
.weight(123)
// the properties below are optional
.port(123)
.build()))
.build())
// the properties below are optional
.match(TcpRouteMatchProperty.builder()
.port(123)
.build())
.timeout(TcpTimeoutProperty.builder()
.idle(DurationProperty.builder()
.unit("unit")
.value(123)
.build())
.build())
.build())
.build())
.virtualRouterName("virtualRouterName")
// the properties below are optional
.meshOwner("meshOwner")
.routeName("routeName")
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnRoute.static interfaceAn object that represents a duration of time.static interfaceAn object that represents a retry policy.static interfaceAn object that represents the action to take if a match is determined.static interfaceAn object that represents the criteria for determining a request match.static interfaceAn object that represents the match method.static interfaceAn object that represents the match metadata for the route.static interfaceAn object that represents a gRPC route type.static interfaceAn object that represents types of timeouts.static interfaceAn object that represents the method and value to match with the header value sent in a request.static interfaceAn object representing the path to match in the request.static interfaceAn object representing the query parameter to match.static interfaceAn object that represents a retry policy.static interfaceAn object that represents the action to take if a match is determined.static interfaceAn object that represents the HTTP header in the request.static interfaceAn object that represents the requirements for a route to match HTTP requests for a virtual router.static interfaceAn object that represents an HTTP or HTTP/2 route type.static interfaceAn object that represents types of timeouts.static interfaceAn object that represents the range of values to match on.static interfaceAn object that represents the query parameter in the request.static interfaceAn object that represents a route specification.static interfaceAn object that represents the action to take if a match is determined.static interfaceAn object representing the TCP route to match.static interfaceAn object that represents a TCP route type.static interfaceAn object that represents types of timeouts.static interfaceAn object that represents a target and its relative weight.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe full Amazon Resource Name (ARN) for the route.The name of the service mesh that the route resides in.The AWS IAM account ID of the service mesh owner.The AWS IAM account ID of the resource owner.The name of the route.The unique identifier for the route.The name of the virtual router that the route is associated with.The name of the service mesh to create the route in.The AWS IAM account ID of the service mesh owner.The name to use for the route.getSpec()The route specification to apply.getTags()Optional metadata that you can apply to the route to assist with categorization and organization.The name of the virtual router in which to create the route.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetMeshName(String value) The name of the service mesh to create the route in.voidsetMeshOwner(String value) The AWS IAM account ID of the service mesh owner.voidsetRouteName(String value) The name to use for the route.voidsetSpec(IResolvable value) The route specification to apply.voidThe route specification to apply.voidsetVirtualRouterName(String value) The name of the virtual router in which to create the route.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnRoute
protected CfnRoute(software.amazon.jsii.JsiiObjectRef objRef) -
CfnRoute
protected CfnRoute(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnRoute
@Stability(Stable) public CfnRoute(@NotNull Construct scope, @NotNull String id, @NotNull CfnRouteProps props) Create a newAWS::AppMesh::Route.- Parameters:
scope-- scope in which this resource is defined.
id-- scoped id of the resource.
props-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrArn
The full Amazon Resource Name (ARN) for the route. -
getAttrMeshName
The name of the service mesh that the route resides in. -
getAttrMeshOwner
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 .
-
getAttrResourceOwner
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 .
-
getAttrRouteName
The name of the route. -
getAttrUid
The unique identifier for the route. -
getAttrVirtualRouterName
The name of the virtual router that the route is associated with. -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
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.
-
getMeshName
The name of the service mesh to create the route in. -
setMeshName
The name of the service mesh to create the route in. -
getSpec
The route specification to apply. -
setSpec
The route specification to apply. -
setSpec
The route specification to apply. -
getVirtualRouterName
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.
-
setVirtualRouterName
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.
-
getMeshOwner
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 .
-
setMeshOwner
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 .
-
getRouteName
The name to use for the route. -
setRouteName
The name to use for the route.
-