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)


7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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)


7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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

#mesh_ownerString

The AWS 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)


7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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)


7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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:



7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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)


7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7388

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