class Aws::AppMesh::Types::UpdateRouteInput

<zonbook />

<xhtml />

@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
    }

@!attribute [rw] client_token

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.
@return [String]

@!attribute [rw] mesh_name

The name of the service mesh that the route resides in.
@return [String]

@!attribute [rw] mesh_owner

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][1].

[1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
@return [String]

@!attribute [rw] route_name

The name of the route to update.
@return [String]

@!attribute [rw] spec

The new route specification to apply. This overwrites the existing
data.
@return [Types::RouteSpec]

@!attribute [rw] virtual_router_name

The name of the virtual router that the route is associated with.
@return [String]

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

Constants

SENSITIVE