Class: Aws::AppMesh::Types::VirtualGatewaySpec

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 VirtualGatewaySpec data as a hash:

{
  backend_defaults: {
    client_policy: {
      tls: {
        certificate: {
          file: {
            certificate_chain: "FilePath", # required
            private_key: "FilePath", # required
          },
          sds: {
            secret_name: "VirtualGatewaySdsSecretName", # required
          },
        },
        enforce: false,
        ports: [1],
        validation: { # required
          subject_alternative_names: {
            match: { # required
              exact: ["SubjectAlternativeName"], # required
            },
          },
          trust: { # required
            acm: {
              certificate_authority_arns: ["Arn"], # required
            },
            file: {
              certificate_chain: "FilePath", # required
            },
            sds: {
              secret_name: "VirtualGatewaySdsSecretName", # required
            },
          },
        },
      },
    },
  },
  listeners: [ # required
    {
      connection_pool: {
        grpc: {
          max_requests: 1, # required
        },
        http: {
          max_connections: 1, # required
          max_pending_requests: 1,
        },
        http2: {
          max_requests: 1, # required
        },
      },
      health_check: {
        healthy_threshold: 1, # required
        interval_millis: 1, # required
        path: "String",
        port: 1,
        protocol: "http", # required, accepts http, http2, grpc
        timeout_millis: 1, # required
        unhealthy_threshold: 1, # required
      },
      port_mapping: { # required
        port: 1, # required
        protocol: "http", # required, accepts http, http2, grpc
      },
      tls: {
        certificate: { # required
          acm: {
            certificate_arn: "Arn", # required
          },
          file: {
            certificate_chain: "FilePath", # required
            private_key: "FilePath", # required
          },
          sds: {
            secret_name: "VirtualGatewaySdsSecretName", # required
          },
        },
        mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
        validation: {
          subject_alternative_names: {
            match: { # required
              exact: ["SubjectAlternativeName"], # required
            },
          },
          trust: { # required
            file: {
              certificate_chain: "FilePath", # required
            },
            sds: {
              secret_name: "VirtualGatewaySdsSecretName", # required
            },
          },
        },
      },
    },
  ],
  logging: {
    access_log: {
      file: {
        path: "FilePath", # required
      },
    },
  },
}

An object that represents the specification of a service mesh resource.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#backend_defaultsTypes::VirtualGatewayBackendDefaults

A reference to an object that represents the defaults for backends.



8191
8192
8193
8194
8195
8196
8197
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 8191

class VirtualGatewaySpec < Struct.new(
  :backend_defaults,
  :listeners,
  :logging)
  SENSITIVE = []
  include Aws::Structure
end

#listenersArray<Types::VirtualGatewayListener>

The listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener.

Returns:



8191
8192
8193
8194
8195
8196
8197
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 8191

class VirtualGatewaySpec < Struct.new(
  :backend_defaults,
  :listeners,
  :logging)
  SENSITIVE = []
  include Aws::Structure
end

#loggingTypes::VirtualGatewayLogging

An object that represents logging information.



8191
8192
8193
8194
8195
8196
8197
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 8191

class VirtualGatewaySpec < Struct.new(
  :backend_defaults,
  :listeners,
  :logging)
  SENSITIVE = []
  include Aws::Structure
end