class Aws::AppMesh::Types::Listener

An object that represents a listener for a virtual node.

@note When making an API call, you may pass Listener

data as a hash:

    {
      connection_pool: {
        grpc: {
          max_requests: 1, # required
        },
        http: {
          max_connections: 1, # required
          max_pending_requests: 1,
        },
        http2: {
          max_requests: 1, # required
        },
        tcp: {
          max_connections: 1, # required
        },
      },
      health_check: {
        healthy_threshold: 1, # required
        interval_millis: 1, # required
        path: "String",
        port: 1,
        protocol: "http", # required, accepts http, tcp, http2, grpc
        timeout_millis: 1, # required
        unhealthy_threshold: 1, # required
      },
      outlier_detection: {
        base_ejection_duration: { # required
          unit: "s", # accepts s, ms
          value: 1,
        },
        interval: { # required
          unit: "s", # accepts s, ms
          value: 1,
        },
        max_ejection_percent: 1, # required
        max_server_errors: 1, # required
      },
      port_mapping: { # required
        port: 1, # required
        protocol: "http", # required, accepts http, tcp, http2, grpc
      },
      timeout: {
        grpc: {
          idle: {
            unit: "s", # accepts s, ms
            value: 1,
          },
          per_request: {
            unit: "s", # accepts s, ms
            value: 1,
          },
        },
        http: {
          idle: {
            unit: "s", # accepts s, ms
            value: 1,
          },
          per_request: {
            unit: "s", # accepts s, ms
            value: 1,
          },
        },
        http2: {
          idle: {
            unit: "s", # accepts s, ms
            value: 1,
          },
          per_request: {
            unit: "s", # accepts s, ms
            value: 1,
          },
        },
        tcp: {
          idle: {
            unit: "s", # accepts s, ms
            value: 1,
          },
        },
      },
      tls: {
        certificate: { # required
          acm: {
            certificate_arn: "Arn", # required
          },
          file: {
            certificate_chain: "FilePath", # required
            private_key: "FilePath", # required
          },
          sds: {
            secret_name: "SdsSecretName", # 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: "SdsSecretName", # required
            },
          },
        },
      },
    }

@!attribute [rw] connection_pool

The connection pool information for the listener.
@return [Types::VirtualNodeConnectionPool]

@!attribute [rw] health_check

The health check information for the listener.
@return [Types::HealthCheckPolicy]

@!attribute [rw] outlier_detection

The outlier detection information for the listener.
@return [Types::OutlierDetection]

@!attribute [rw] port_mapping

The port mapping information for the listener.
@return [Types::PortMapping]

@!attribute [rw] timeout

An object that represents timeouts for different protocols.
@return [Types::ListenerTimeout]

@!attribute [rw] tls

A reference to an object that represents the Transport Layer
Security (TLS) properties for a listener.
@return [Types::ListenerTls]

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

Constants

SENSITIVE