/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::AppMesh::Route */ export interface AwsAppmeshRoute { Uid?: string; MeshName: string; VirtualRouterName: string; MeshOwner?: string; ResourceOwner?: string; RouteName?: string; Id?: string; Arn?: string; Spec: RouteSpec; Tags?: Tag[]; } export interface RouteSpec { HttpRoute?: HttpRoute; Http2Route?: HttpRoute; GrpcRoute?: GrpcRoute; TcpRoute?: TcpRoute; Priority?: number; } export interface HttpRoute { Action: HttpRouteAction; RetryPolicy?: HttpRetryPolicy; Timeout?: HttpTimeout; Match: HttpRouteMatch; } export interface HttpRouteAction { WeightedTargets: WeightedTarget[]; } export interface WeightedTarget { VirtualNode: string; Weight: number; Port?: number; } export interface HttpRetryPolicy { MaxRetries: number; TcpRetryEvents?: string[]; PerRetryTimeout: Duration; HttpRetryEvents?: string[]; } export interface Duration { Value: number; Unit: string; } export interface HttpTimeout { PerRequest?: Duration; Idle?: Duration; } export interface HttpRouteMatch { Path?: HttpPathMatch; Scheme?: string; Headers?: HttpRouteHeader[]; Port?: number; Prefix?: string; Method?: string; QueryParameters?: QueryParameter[]; } export interface HttpPathMatch { Regex?: string; Exact?: string; } export interface HttpRouteHeader { Invert?: boolean; Name: string; Match?: HeaderMatchMethod; } export interface HeaderMatchMethod { Suffix?: string; Exact?: string; Prefix?: string; Regex?: string; Range?: MatchRange; } export interface MatchRange { Start: number; End: number; } export interface QueryParameter { Name: string; Match?: HttpQueryParameterMatch; } export interface HttpQueryParameterMatch { Exact?: string; } export interface GrpcRoute { Action: GrpcRouteAction; RetryPolicy?: GrpcRetryPolicy; Timeout?: GrpcTimeout; Match: GrpcRouteMatch; } export interface GrpcRouteAction { WeightedTargets: WeightedTarget[]; } export interface GrpcRetryPolicy { MaxRetries: number; TcpRetryEvents?: string[]; PerRetryTimeout: Duration; GrpcRetryEvents?: string[]; HttpRetryEvents?: string[]; } export interface GrpcTimeout { PerRequest?: Duration; Idle?: Duration; } export interface GrpcRouteMatch { Metadata?: GrpcRouteMetadata[]; MethodName?: string; ServiceName?: string; Port?: number; } export interface GrpcRouteMetadata { Invert?: boolean; Name: string; Match?: GrpcRouteMetadataMatchMethod; } export interface GrpcRouteMetadataMatchMethod { Suffix?: string; Exact?: string; Prefix?: string; Regex?: string; Range?: MatchRange; } export interface TcpRoute { Action: TcpRouteAction; Timeout?: TcpTimeout; Match?: TcpRouteMatch; } export interface TcpRouteAction { WeightedTargets: WeightedTarget[]; } export interface TcpTimeout { Idle?: Duration; } export interface TcpRouteMatch { Port?: number; } export interface Tag { Value: string; Key: string; }