You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::AppMesh::Types::VirtualNodeSpec

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing VirtualNodeSpec as input to an Aws::Client method, you can use a vanilla Hash:

{
  backend_defaults: {
    client_policy: {
      tls: {
        enforce: false,
        ports: [1],
        validation: { # required
          trust: { # required
            acm: {
              certificate_authority_arns: ["Arn"], # required
            },
            file: {
              certificate_chain: "FilePath", # required
            },
          },
        },
      },
    },
  },
  backends: [
    {
      virtual_service: {
        client_policy: {
          tls: {
            enforce: false,
            ports: [1],
            validation: { # required
              trust: { # required
                acm: {
                  certificate_authority_arns: ["Arn"], # required
                },
                file: {
                  certificate_chain: "FilePath", # required
                },
              },
            },
          },
        },
        virtual_service_name: "ServiceName", # required
      },
    },
  ],
  listeners: [
    {
      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
          },
        },
        mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
      },
    },
  ],
  logging: {
    access_log: {
      file: {
        path: "FilePath", # required
      },
    },
  },
  service_discovery: {
    aws_cloud_map: {
      attributes: [
        {
          key: "AwsCloudMapInstanceAttributeKey", # required
          value: "AwsCloudMapInstanceAttributeValue", # required
        },
      ],
      namespace_name: "AwsCloudMapName", # required
      service_name: "AwsCloudMapName", # required
    },
    dns: {
      hostname: "Hostname", # required
    },
  },
}

An object that represents the specification of a virtual node.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#backend_defaultsTypes::BackendDefaults

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

Returns:

#backendsArray<Types::Backend>

The backends that the virtual node is expected to send outbound traffic to.

Returns:

  • (Array<Types::Backend>)

    The backends that the virtual node is expected to send outbound traffic to.

#listenersArray<Types::Listener>

The listener that the virtual node is expected to receive inbound traffic from. You can specify one listener.

Returns:

  • (Array<Types::Listener>)

    The listener that the virtual node is expected to receive inbound traffic from.

#loggingTypes::Logging

The inbound and outbound access logging information for the virtual node.

Returns:

  • (Types::Logging)

    The inbound and outbound access logging information for the virtual node.

#service_discoveryTypes::ServiceDiscovery

The service discovery information for the virtual node. If your virtual node does not expect ingress traffic, you can omit this parameter. If you specify a listener, then you must specify service discovery information.

Returns: