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: [
    {
      health_check: {
        healthy_threshold: 1, # required
        interval_millis: 1, # required
        path: "String",
        port: 1,
        protocol: "grpc", # required, accepts grpc, http, http2, tcp
        timeout_millis: 1, # required
        unhealthy_threshold: 1, # required
      },
      port_mapping: { # required
        port: 1, # required
        protocol: "grpc", # required, accepts grpc, http, http2, tcp
      },
      timeout: {
        grpc: {
          idle: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
          per_request: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
        },
        http: {
          idle: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
          per_request: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
        },
        http2: {
          idle: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
          per_request: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
        },
        tcp: {
          idle: {
            unit: "ms", # accepts ms, s
            value: 1,
          },
        },
      },
      tls: {
        certificate: { # required
          acm: {
            certificate_arn: "Arn", # required
          },
          file: {
            certificate_chain: "FilePath", # required
            private_key: "FilePath", # required
          },
        },
        mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
      },
    },
  ],
  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

An object that represents the default properties for a backend.

Returns:

#backendsArray<Types::Backend>

Returns:

#listenersArray<Types::Listener>

Returns:

#loggingTypes::Logging

An object that represents the logging information for a virtual node.

Returns:

  • (Types::Logging)

    An object that represents the logging information for a virtual node.

    .

#service_discoveryTypes::ServiceDiscovery

An object that represents the service discovery information for a virtual node.

Returns: