Class: Aws::AppMesh::Types::CreateRouteInput

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-appmesh/types.rb

Overview

Note:

When making an API call, you may pass CreateRouteInput data as a hash:

{
  client_token: "String",
  mesh_name: "ResourceName", # required
  route_name: "ResourceName", # required
  spec: { # required
    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: "ms", # accepts ms, s
          value: 1,
        },
        tcp_retry_events: ["connection-error"], # accepts connection-error
      },
    },
    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: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
        prefix: "String", # required
        scheme: "http", # accepts http, https
      },
      retry_policy: {
        http_retry_events: ["HttpRetryPolicyEvent"],
        max_retries: 1, # required
        per_retry_timeout: { # required
          unit: "ms", # accepts ms, s
          value: 1,
        },
        tcp_retry_events: ["connection-error"], # accepts connection-error
      },
    },
    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: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
        prefix: "String", # required
        scheme: "http", # accepts http, https
      },
      retry_policy: {
        http_retry_events: ["HttpRetryPolicyEvent"],
        max_retries: 1, # required
        per_retry_timeout: { # required
          unit: "ms", # accepts ms, s
          value: 1,
        },
        tcp_retry_events: ["connection-error"], # accepts connection-error
      },
    },
    priority: 1,
    tcp_route: {
      action: { # required
        weighted_targets: [ # required
          {
            virtual_node: "ResourceName", # required
            weight: 1, # required
          },
        ],
      },
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
  virtual_router_name: "ResourceName", # required
}

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.

**A suitable default value is auto-generated.** You should normally not need to pass this option.

Returns:

  • (String)


2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end

#mesh_nameString

The name of the service mesh to create the route in.

Returns:

  • (String)


2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end

#route_nameString

The name to use for the route.

Returns:

  • (String)


2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end

#specTypes::RouteSpec

The route specification to apply.

Returns:



2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end

#tagsArray<Types::TagRef>

Optional metadata that you can apply to the route to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Returns:



2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end

#virtual_router_nameString

The name of the virtual router in which to create the route.

Returns:

  • (String)


2972
2973
2974
2975
2976
2977
2978
2979
2980
# File 'lib/aws-sdk-appmesh/types.rb', line 2972

class CreateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :route_name,
  :spec,
  :tags,
  :virtual_router_name)
  include Aws::Structure
end