Class: Aws::AppMesh::Types::UpdateRouteInput

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

Overview

Note:

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

{
  client_token: "String",
  mesh_name: "ResourceName", # required
  mesh_owner: "AccountId",
  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: "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
        path: {
          exact: "HttpPathExact",
          regex: "HttpPathRegex",
        },
        prefix: "String",
        query_parameters: [
          {
            match: {
              exact: "String",
            },
            name: "QueryParameterName", # 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
        path: {
          exact: "HttpPathExact",
          regex: "HttpPathRegex",
        },
        prefix: "String",
        query_parameters: [
          {
            match: {
              exact: "String",
            },
            name: "QueryParameterName", # 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,
        },
      },
    },
  },
  virtual_router_name: "ResourceName", # required
}

Constant Summary collapse

SENSITIVE =
[]

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)


7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end

#mesh_nameString

The name of the service mesh that the route resides in.

Returns:

  • (String)


7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end

#mesh_ownerString

The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.

Returns:

  • (String)


7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end

#route_nameString

The name of the route to update.

Returns:

  • (String)


7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end

#specTypes::RouteSpec

The new route specification to apply. This overwrites the existing data.

Returns:



7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end

#virtual_router_nameString

The name of the virtual router that the route is associated with.

Returns:

  • (String)


7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7436

class UpdateRouteInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :route_name,
  :spec,
  :virtual_router_name)
  SENSITIVE = []
  include Aws::Structure
end