package awsappmesh // An object that represents a route specification. // // Specify one route type. // // 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" // // routeSpecProperty := &RouteSpecProperty{ // GrpcRoute: &GrpcRouteProperty{ // Action: &GrpcRouteActionProperty{ // WeightedTargets: []interface{}{ // &WeightedTargetProperty{ // VirtualNode: jsii.String("virtualNode"), // Weight: jsii.Number(123), // // // the properties below are optional // Port: jsii.Number(123), // }, // }, // }, // Match: &GrpcRouteMatchProperty{ // Metadata: []interface{}{ // &GrpcRouteMetadataProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &GrpcRouteMetadataMatchMethodProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &MatchRangeProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // Suffix: jsii.String("suffix"), // }, // }, // }, // MethodName: jsii.String("methodName"), // Port: jsii.Number(123), // ServiceName: jsii.String("serviceName"), // }, // // // the properties below are optional // RetryPolicy: &GrpcRetryPolicyProperty{ // MaxRetries: jsii.Number(123), // PerRetryTimeout: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // // // the properties below are optional // GrpcRetryEvents: []*string{ // jsii.String("grpcRetryEvents"), // }, // HttpRetryEvents: []*string{ // jsii.String("httpRetryEvents"), // }, // TcpRetryEvents: []*string{ // jsii.String("tcpRetryEvents"), // }, // }, // Timeout: &GrpcTimeoutProperty{ // Idle: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // PerRequest: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // }, // }, // Http2Route: &HttpRouteProperty{ // Action: &HttpRouteActionProperty{ // WeightedTargets: []interface{}{ // &WeightedTargetProperty{ // VirtualNode: jsii.String("virtualNode"), // Weight: jsii.Number(123), // // // the properties below are optional // Port: jsii.Number(123), // }, // }, // }, // Match: &HttpRouteMatchProperty{ // Headers: []interface{}{ // &HttpRouteHeaderProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &HeaderMatchMethodProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &MatchRangeProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // 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"), // }, // }, // }, // Scheme: jsii.String("scheme"), // }, // // // the properties below are optional // RetryPolicy: &HttpRetryPolicyProperty{ // MaxRetries: jsii.Number(123), // PerRetryTimeout: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // // // the properties below are optional // HttpRetryEvents: []*string{ // jsii.String("httpRetryEvents"), // }, // TcpRetryEvents: []*string{ // jsii.String("tcpRetryEvents"), // }, // }, // Timeout: &HttpTimeoutProperty{ // Idle: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // PerRequest: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // }, // }, // HttpRoute: &HttpRouteProperty{ // Action: &HttpRouteActionProperty{ // WeightedTargets: []interface{}{ // &WeightedTargetProperty{ // VirtualNode: jsii.String("virtualNode"), // Weight: jsii.Number(123), // // // the properties below are optional // Port: jsii.Number(123), // }, // }, // }, // Match: &HttpRouteMatchProperty{ // Headers: []interface{}{ // &HttpRouteHeaderProperty{ // Name: jsii.String("name"), // // // the properties below are optional // Invert: jsii.Boolean(false), // Match: &HeaderMatchMethodProperty{ // Exact: jsii.String("exact"), // Prefix: jsii.String("prefix"), // Range: &MatchRangeProperty{ // End: jsii.Number(123), // Start: jsii.Number(123), // }, // Regex: jsii.String("regex"), // 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"), // }, // }, // }, // Scheme: jsii.String("scheme"), // }, // // // the properties below are optional // RetryPolicy: &HttpRetryPolicyProperty{ // MaxRetries: jsii.Number(123), // PerRetryTimeout: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // // // the properties below are optional // HttpRetryEvents: []*string{ // jsii.String("httpRetryEvents"), // }, // TcpRetryEvents: []*string{ // jsii.String("tcpRetryEvents"), // }, // }, // Timeout: &HttpTimeoutProperty{ // Idle: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // PerRequest: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // }, // }, // Priority: jsii.Number(123), // TcpRoute: &TcpRouteProperty{ // Action: &TcpRouteActionProperty{ // WeightedTargets: []interface{}{ // &WeightedTargetProperty{ // VirtualNode: jsii.String("virtualNode"), // Weight: jsii.Number(123), // // // the properties below are optional // Port: jsii.Number(123), // }, // }, // }, // // // the properties below are optional // Match: &TcpRouteMatchProperty{ // Port: jsii.Number(123), // }, // Timeout: &TcpTimeoutProperty{ // Idle: &DurationProperty{ // Unit: jsii.String("unit"), // Value: jsii.Number(123), // }, // }, // }, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html // type CfnRoute_RouteSpecProperty struct { // An object that represents the specification of a gRPC route. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-grpcroute // GrpcRoute interface{} `field:"optional" json:"grpcRoute" yaml:"grpcRoute"` // An object that represents the specification of an HTTP/2 route. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-http2route // Http2Route interface{} `field:"optional" json:"http2Route" yaml:"http2Route"` // An object that represents the specification of an HTTP route. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute // HttpRoute interface{} `field:"optional" json:"httpRoute" yaml:"httpRoute"` // The priority for the route. // // Routes are matched based on the specified value, where 0 is the highest priority. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-priority // Priority *float64 `field:"optional" json:"priority" yaml:"priority"` // An object that represents the specification of a TCP route. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-tcproute // TcpRoute interface{} `field:"optional" json:"tcpRoute" yaml:"tcpRoute"` }