You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::AppMesh::Types::RouteSpec

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing RouteSpec as input to an Aws::Client method, you can use a vanilla Hash:

{
  grpc_route: {
    action: { # required
      weighted_targets: [ # required
        {
          virtual_node: "ResourceName", # required
          weight: 1, # required
        },
      ],
    },
    match: { # required
      metadata: [
        {
          invert: false,
          match: {
            exact: "HeaderMatch",
            prefix: "HeaderMatch",
            range: {
              end: 1, # required
              start: 1, # required
            },
            regex: "HeaderMatch",
            suffix: "HeaderMatch",
          },
          name: "HeaderName", # required
        },
      ],
      method_name: "MethodName",
      service_name: "ServiceName",
    },
    retry_policy: {
      grpc_retry_events: ["cancelled"], # accepts cancelled, deadline-exceeded, internal, resource-exhausted, unavailable
      http_retry_events: ["HttpRetryPolicyEvent"],
      max_retries: 1, # required
      per_retry_timeout: { # required
        unit: "s", # accepts s, ms
        value: 1,
      },
      tcp_retry_events: ["connection-error"], # accepts connection-error
    },
    timeout: {
      idle: {
        unit: "s", # accepts s, ms
        value: 1,
      },
      per_request: {
        unit: "s", # accepts s, ms
        value: 1,
      },
    },
  },
  http2_route: {
    action: { # required
      weighted_targets: [ # required
        {
          virtual_node: "ResourceName", # required
          weight: 1, # 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
        },
      ],
      method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
      prefix: "String", # required
      scheme: "http", # accepts http, https
    },
    retry_policy: {
      http_retry_events: ["HttpRetryPolicyEvent"],
      max_retries: 1, # required
      per_retry_timeout: { # required
        unit: "s", # accepts s, ms
        value: 1,
      },
      tcp_retry_events: ["connection-error"], # accepts connection-error
    },
    timeout: {
      idle: {
        unit: "s", # accepts s, ms
        value: 1,
      },
      per_request: {
        unit: "s", # accepts s, ms
        value: 1,
      },
    },
  },
  http_route: {
    action: { # required
      weighted_targets: [ # required
        {
          virtual_node: "ResourceName", # required
          weight: 1, # 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
        },
      ],
      method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
      prefix: "String", # required
      scheme: "http", # accepts http, https
    },
    retry_policy: {
      http_retry_events: ["HttpRetryPolicyEvent"],
      max_retries: 1, # required
      per_retry_timeout: { # required
        unit: "s", # accepts s, ms
        value: 1,
      },
      tcp_retry_events: ["connection-error"], # accepts connection-error
    },
    timeout: {
      idle: {
        unit: "s", # accepts s, ms
        value: 1,
      },
      per_request: {
        unit: "s", # accepts s, ms
        value: 1,
      },
    },
  },
  priority: 1,
  tcp_route: {
    action: { # required
      weighted_targets: [ # required
        {
          virtual_node: "ResourceName", # required
          weight: 1, # required
        },
      ],
    },
    timeout: {
      idle: {
        unit: "s", # accepts s, ms
        value: 1,
      },
    },
  },
}

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

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#grpc_routeTypes::GrpcRoute

An object that represents the specification of a gRPC route.

Returns:

  • (Types::GrpcRoute)

    An object that represents the specification of a gRPC route.

#http2_routeTypes::HttpRoute

An object that represents the specification of an HTTP/2 route.

Returns:

  • (Types::HttpRoute)

    An object that represents the specification of an HTTP/2 route.

#http_routeTypes::HttpRoute

An object that represents the specification of an HTTP route.

Returns:

  • (Types::HttpRoute)

    An object that represents the specification of an HTTP route.

#priorityInteger

The priority for the route. Routes are matched based on the specified value, where 0 is the highest priority.

Returns:

  • (Integer)

    The priority for the route.

#tcp_routeTypes::TcpRoute

An object that represents the specification of a TCP route.

Returns:

  • (Types::TcpRoute)

    An object that represents the specification of a TCP route.