import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class HttpQueryParameterMatch { Exact ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRoutePrefixRewrite { Value ? : Value < string > ; DefaultPrefix ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRouteHeaderMatch { Suffix ? : Value < string > ; Regex ? : Value < string > ; Exact ? : Value < string > ; Prefix ? : Value < string > ; Range ? : GatewayRouteRangeMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteSpec { HttpRoute ? : HttpGatewayRoute ; Http2Route ? : HttpGatewayRoute ; GrpcRoute ? : GrpcGatewayRoute ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRouteHeader { Invert ? : Value < boolean > ; Name ! : Value < string > ; Match ? : HttpGatewayRouteHeaderMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteHostnameRewrite { DefaultTargetHostname ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class QueryParameter { Name ! : Value < string > ; Match ? : HttpQueryParameterMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteMetadataMatch { Suffix ? : Value < string > ; Regex ? : Value < string > ; Exact ? : Value < string > ; Prefix ? : Value < string > ; Range ? : GatewayRouteRangeMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcGatewayRouteAction { Target ! : GatewayRouteTarget ; Rewrite ? : GrpcGatewayRouteRewrite ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcGatewayRouteRewrite { Hostname ? : GatewayRouteHostnameRewrite ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteTarget { VirtualService ! : GatewayRouteVirtualService ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcGatewayRouteMatch { ServiceName ? : Value < string > ; Hostname ? : GatewayRouteHostnameMatch ; Metadata ? : List < GrpcGatewayRouteMetadata > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRoutePathRewrite { Exact ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcGatewayRoute { Action ! : GrpcGatewayRouteAction ; Match ! : GrpcGatewayRouteMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteRangeMatch { Start ! : Value < number > ; End ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRouteRewrite { Path ? : HttpGatewayRoutePathRewrite ; Hostname ? : GatewayRouteHostnameRewrite ; Prefix ? : HttpGatewayRoutePrefixRewrite ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GrpcGatewayRouteMetadata { Invert ? : Value < boolean > ; Name ! : Value < string > ; Match ? : GatewayRouteMetadataMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRouteAction { Target ! : GatewayRouteTarget ; Rewrite ? : HttpGatewayRouteRewrite ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteHostnameMatch { Suffix ? : Value < string > ; Exact ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GatewayRouteVirtualService { VirtualServiceName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRouteMatch { Path ? : HttpPathMatch ; Headers ? : List < HttpGatewayRouteHeader > ; Hostname ? : GatewayRouteHostnameMatch ; Prefix ? : Value < string > ; Method ? : Value < string > ; QueryParameters ? : List < QueryParameter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpPathMatch { Regex ? : Value < string > ; Exact ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpGatewayRoute { Action ! : HttpGatewayRouteAction ; Match ! : HttpGatewayRouteMatch ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface GatewayRouteProperties { MeshName : Value < string > ; VirtualGatewayName : Value < string > ; MeshOwner ? : Value < string > ; GatewayRouteName ? : Value < string > ; Spec : GatewayRouteSpec ; Tags ? : List < ResourceTag > ; } export default class GatewayRoute extends ResourceBase < GatewayRouteProperties > { static HttpQueryParameterMatch = HttpQueryParameterMatch ; static HttpGatewayRoutePrefixRewrite = HttpGatewayRoutePrefixRewrite ; static HttpGatewayRouteHeaderMatch = HttpGatewayRouteHeaderMatch ; static GatewayRouteSpec = GatewayRouteSpec ; static HttpGatewayRouteHeader = HttpGatewayRouteHeader ; static GatewayRouteHostnameRewrite = GatewayRouteHostnameRewrite ; static QueryParameter = QueryParameter ; static GatewayRouteMetadataMatch = GatewayRouteMetadataMatch ; static GrpcGatewayRouteAction = GrpcGatewayRouteAction ; static GrpcGatewayRouteRewrite = GrpcGatewayRouteRewrite ; static GatewayRouteTarget = GatewayRouteTarget ; static GrpcGatewayRouteMatch = GrpcGatewayRouteMatch ; static HttpGatewayRoutePathRewrite = HttpGatewayRoutePathRewrite ; static GrpcGatewayRoute = GrpcGatewayRoute ; static GatewayRouteRangeMatch = GatewayRouteRangeMatch ; static HttpGatewayRouteRewrite = HttpGatewayRouteRewrite ; static GrpcGatewayRouteMetadata = GrpcGatewayRouteMetadata ; static HttpGatewayRouteAction = HttpGatewayRouteAction ; static GatewayRouteHostnameMatch = GatewayRouteHostnameMatch ; static GatewayRouteVirtualService = GatewayRouteVirtualService ; static HttpGatewayRouteMatch = HttpGatewayRouteMatch ; static HttpPathMatch = HttpPathMatch ; static HttpGatewayRoute = HttpGatewayRoute ; constructor ( properties ) { super ( 'AWS::AppMesh::GatewayRoute' , properties ) ; } }