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

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 VirtualNodeSpec data as a 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.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#backend_defaultsTypes::BackendDefaults

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



2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 2007

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

#backendsArray<Types::Backend>

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

Returns:



2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 2007

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

#listenersArray<Types::Listener>

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

Returns:



2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 2007

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

#loggingTypes::Logging

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

Returns:



2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 2007

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

#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.



2007
2008
2009
2010
2011
2012
2013
2014
2015
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 2007

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