package awsappmesh // All Properties for GatewayRoute Specs. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // gatewayRouteSpecConfig := &GatewayRouteSpecConfig{ // GrpcSpecConfig: &GrpcGatewayRouteProperty{ // Action: &GrpcGatewayRouteActionProperty{ // Target: &GatewayRouteTargetProperty{ // VirtualService: &GatewayRouteVirtualServiceProperty{ // VirtualServiceName: jsii.String("virtualServiceName"), // }, // // // the properties below are optional // Port: jsii.Number(123), // }, // // // the properties below are optional // Rewrite: &GrpcGatewayRouteRewriteProperty{ // Hostname: &GatewayRouteHostnameRewriteProperty{ // DefaultTargetHostname: jsii.String("defaultTargetHostname"), // }, // }, // }, // Match: &GrpcGatewayRouteMatchProperty{ // Hostname: &GatewayRouteHostnameMatchProperty{ // Exact: jsii.String("exact"), // Suffix: jsii.String("suffix"), // }, // Metadata: []interface{}{ // &GrpcGatewayRouteMetadataProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &GatewayRouteMetadataMatchProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &GatewayRouteRangeMatchProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // Suffix: jsii.String("suffix"), // }, // }, // }, // Port: jsii.Number(123), // ServiceName: jsii.String("serviceName"), // }, // }, // Http2SpecConfig: &HttpGatewayRouteProperty{ // Action: &HttpGatewayRouteActionProperty{ // Target: &GatewayRouteTargetProperty{ // VirtualService: &GatewayRouteVirtualServiceProperty{ // VirtualServiceName: jsii.String("virtualServiceName"), // }, // // // the properties below are optional // Port: jsii.Number(123), // }, // // // the properties below are optional // Rewrite: &HttpGatewayRouteRewriteProperty{ // Hostname: &GatewayRouteHostnameRewriteProperty{ // DefaultTargetHostname: jsii.String("defaultTargetHostname"), // }, // Path: &HttpGatewayRoutePathRewriteProperty{ // Exact: jsii.String("exact"), // }, // Prefix: &HttpGatewayRoutePrefixRewriteProperty{ // DefaultPrefix: jsii.String("defaultPrefix"), // Value: jsii.String("value"), // }, // }, // }, // Match: &HttpGatewayRouteMatchProperty{ // Headers: []interface{}{ // &HttpGatewayRouteHeaderProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &HttpGatewayRouteHeaderMatchProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &GatewayRouteRangeMatchProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // Suffix: jsii.String("suffix"), // }, // }, // }, // Hostname: &GatewayRouteHostnameMatchProperty{ // Exact: jsii.String("exact"), // Suffix: jsii.String("suffix"), // }, // Method: jsii.String("method"), // Path: &HttpPathMatchProperty{ // Exact: jsii.String("exact"), // Regex: jsii.String("regex"), // }, // Port: jsii.Number(123), // Prefix: jsii.String("prefix"), // QueryParameters: []interface{}{ // &QueryParameterProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Match: &HttpQueryParameterMatchProperty{ // Exact: jsii.String("exact"), // }, // }, // }, // }, // }, // HttpSpecConfig: &HttpGatewayRouteProperty{ // Action: &HttpGatewayRouteActionProperty{ // Target: &GatewayRouteTargetProperty{ // VirtualService: &GatewayRouteVirtualServiceProperty{ // VirtualServiceName: jsii.String("virtualServiceName"), // }, // // // the properties below are optional // Port: jsii.Number(123), // }, // // // the properties below are optional // Rewrite: &HttpGatewayRouteRewriteProperty{ // Hostname: &GatewayRouteHostnameRewriteProperty{ // DefaultTargetHostname: jsii.String("defaultTargetHostname"), // }, // Path: &HttpGatewayRoutePathRewriteProperty{ // Exact: jsii.String("exact"), // }, // Prefix: &HttpGatewayRoutePrefixRewriteProperty{ // DefaultPrefix: jsii.String("defaultPrefix"), // Value: jsii.String("value"), // }, // }, // }, // Match: &HttpGatewayRouteMatchProperty{ // Headers: []interface{}{ // &HttpGatewayRouteHeaderProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &HttpGatewayRouteHeaderMatchProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &GatewayRouteRangeMatchProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // Suffix: jsii.String("suffix"), // }, // }, // }, // Hostname: &GatewayRouteHostnameMatchProperty{ // Exact: jsii.String("exact"), // Suffix: jsii.String("suffix"), // }, // Method: jsii.String("method"), // Path: &HttpPathMatchProperty{ // Exact: jsii.String("exact"), // Regex: jsii.String("regex"), // }, // Port: jsii.Number(123), // Prefix: jsii.String("prefix"), // QueryParameters: []interface{}{ // &QueryParameterProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Match: &HttpQueryParameterMatchProperty{ // Exact: jsii.String("exact"), // }, // }, // }, // }, // }, // Priority: jsii.Number(123), // } // type GatewayRouteSpecConfig struct { // The spec for a grpc gateway route. GrpcSpecConfig *CfnGatewayRoute_GrpcGatewayRouteProperty `field:"optional" json:"grpcSpecConfig" yaml:"grpcSpecConfig"` // The spec for an http2 gateway route. Http2SpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `field:"optional" json:"http2SpecConfig" yaml:"http2SpecConfig"` // The spec for an http gateway route. HttpSpecConfig *CfnGatewayRoute_HttpGatewayRouteProperty `field:"optional" json:"httpSpecConfig" yaml:"httpSpecConfig"` // The priority for the gateway route. // // When a Virtual Gateway has multiple gateway routes, gateway route match // is performed in the order of specified value, where 0 is the highest priority, // and first matched gateway route is selected. Priority *float64 `field:"optional" json:"priority" yaml:"priority"` }