Skip to content
v2.276.0

RouteSpec Class ​

Used to generate specs with different protocols for a RouteSpec.

Example ​

ts
declare const router: appmesh.VirtualRouter;
declare const node: appmesh.VirtualNode;

router.addRoute('route-http2-retry', {
  routeSpec: appmesh.RouteSpec.http2({
    weightedTargets: [{ virtualNode: node }],
    retryPolicy: {
      // Retry if the connection failed
      tcpRetryEvents: [appmesh.TcpRetryEvent.CONNECTION_ERROR],
      // Retry if HTTP responds with a gateway error (502, 503, 504)
      httpRetryEvents: [appmesh.HttpRetryEvent.GATEWAY_ERROR],
      // Retry five times
      retryAttempts: 5,
      // Use a 1 second timeout per retry
      retryTimeout: Duration.seconds(1),
    },
  }),
});

Initializer ​

ts
new RouteSpec()
python
RouteSpec()
java
new RouteSpec()
csharp
new RouteSpec()
go
NewRouteSpec()

Methods ​

bind(scope: Construct): RouteSpecConfigdef bind(self, scope: Construct) -> RouteSpecConfigpublic RouteSpecConfig bind(Construct scope)public RouteSpecConfig Bind(Construct scope)func Bind(Scope Construct) RouteSpecConfig#
Called when the RouteSpec type is initialized.

Can be used to enforce mutual exclusivity with future properties

grpc(options: GrpcRouteSpecOptions): RouteSpec // chainable@staticmethod def grpc(options: GrpcRouteSpecOptions) -> RouteSpecpublic static RouteSpec grpc(GrpcRouteSpecOptions options)public static RouteSpec Grpc(GrpcRouteSpecOptions options)func Grpc(Options GrpcRouteSpecOptions) RouteSpecstatic#
Creates a GRPC Based RouteSpec.
http(options: HttpRouteSpecOptions): RouteSpec // chainable@staticmethod def http(options: HttpRouteSpecOptions) -> RouteSpecpublic static RouteSpec http(HttpRouteSpecOptions options)public static RouteSpec Http(HttpRouteSpecOptions options)func Http(Options HttpRouteSpecOptions) RouteSpecstatic#
Creates an HTTP Based RouteSpec.
http2(options: HttpRouteSpecOptions): RouteSpec // chainable@staticmethod def http2(options: HttpRouteSpecOptions) -> RouteSpecpublic static RouteSpec http2(HttpRouteSpecOptions options)public static RouteSpec Http2(HttpRouteSpecOptions options)func Http2(Options HttpRouteSpecOptions) RouteSpecstatic#
Creates an HTTP2 Based RouteSpec.
tcp(options: TcpRouteSpecOptions): RouteSpec // chainable@staticmethod def tcp(options: TcpRouteSpecOptions) -> RouteSpecpublic static RouteSpec tcp(TcpRouteSpecOptions options)public static RouteSpec Tcp(TcpRouteSpecOptions options)func Tcp(Options TcpRouteSpecOptions) RouteSpecstatic#
Creates a TCP Based RouteSpec.