class Aws::AppMesh::Types::VirtualGatewaySpec

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

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

@!attribute [rw] backend_defaults

A reference to an object that represents the defaults for backends.
@return [Types::VirtualGatewayBackendDefaults]

@!attribute [rw] listeners

The listeners that the mesh endpoint is expected to receive inbound
traffic from. You can specify one listener.
@return [Array<Types::VirtualGatewayListener>]

@!attribute [rw] logging

An object that represents logging information.
@return [Types::VirtualGatewayLogging]

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

Constants

SENSITIVE