class Aws::AppMesh::Types::GatewayRouteSpec

An object that represents a gateway route specification. Specify one gateway route type.

@note When making an API call, you may pass GatewayRouteSpec

data as a hash:

    {
      grpc_route: {
        action: { # required
          rewrite: {
            hostname: {
              default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
            },
          },
          target: { # required
            virtual_service: { # required
              virtual_service_name: "ResourceName", # required
            },
          },
        },
        match: { # required
          hostname: {
            exact: "ExactHostName",
            suffix: "SuffixHostname",
          },
          metadata: [
            {
              invert: false,
              match: {
                exact: "HeaderMatch",
                prefix: "HeaderMatch",
                range: {
                  end: 1, # required
                  start: 1, # required
                },
                regex: "HeaderMatch",
                suffix: "HeaderMatch",
              },
              name: "HeaderName", # required
            },
          ],
          service_name: "ServiceName",
        },
      },
      http2_route: {
        action: { # required
          rewrite: {
            hostname: {
              default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
            },
            path: {
              exact: "HttpPathExact",
            },
            prefix: {
              default_prefix: "ENABLED", # accepts ENABLED, DISABLED
              value: "HttpGatewayRoutePrefix",
            },
          },
          target: { # required
            virtual_service: { # required
              virtual_service_name: "ResourceName", # required
            },
          },
        },
        match: { # required
          headers: [
            {
              invert: false,
              match: {
                exact: "HeaderMatch",
                prefix: "HeaderMatch",
                range: {
                  end: 1, # required
                  start: 1, # required
                },
                regex: "HeaderMatch",
                suffix: "HeaderMatch",
              },
              name: "HeaderName", # required
            },
          ],
          hostname: {
            exact: "ExactHostName",
            suffix: "SuffixHostname",
          },
          method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
          path: {
            exact: "HttpPathExact",
            regex: "HttpPathRegex",
          },
          prefix: "String",
          query_parameters: [
            {
              match: {
                exact: "String",
              },
              name: "QueryParameterName", # required
            },
          ],
        },
      },
      http_route: {
        action: { # required
          rewrite: {
            hostname: {
              default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
            },
            path: {
              exact: "HttpPathExact",
            },
            prefix: {
              default_prefix: "ENABLED", # accepts ENABLED, DISABLED
              value: "HttpGatewayRoutePrefix",
            },
          },
          target: { # required
            virtual_service: { # required
              virtual_service_name: "ResourceName", # required
            },
          },
        },
        match: { # required
          headers: [
            {
              invert: false,
              match: {
                exact: "HeaderMatch",
                prefix: "HeaderMatch",
                range: {
                  end: 1, # required
                  start: 1, # required
                },
                regex: "HeaderMatch",
                suffix: "HeaderMatch",
              },
              name: "HeaderName", # required
            },
          ],
          hostname: {
            exact: "ExactHostName",
            suffix: "SuffixHostname",
          },
          method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
          path: {
            exact: "HttpPathExact",
            regex: "HttpPathRegex",
          },
          prefix: "String",
          query_parameters: [
            {
              match: {
                exact: "String",
              },
              name: "QueryParameterName", # required
            },
          ],
        },
      },
      priority: 1,
    }

@!attribute [rw] grpc_route

An object that represents the specification of a gRPC gateway route.
@return [Types::GrpcGatewayRoute]

@!attribute [rw] http2_route

An object that represents the specification of an HTTP/2 gateway
route.
@return [Types::HttpGatewayRoute]

@!attribute [rw] http_route

An object that represents the specification of an HTTP gateway
route.
@return [Types::HttpGatewayRoute]

@!attribute [rw] priority

The ordering of the gateway routes spec.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteSpec AWS API Documentation

Constants

SENSITIVE