class Aws::AppMesh::Types::VirtualNodeSpec
An object that represents the specification of a virtual node.
@note When making an API call, you may pass VirtualNodeSpec
data as a hash: { backend_defaults: { client_policy: { tls: { certificate: { file: { certificate_chain: "FilePath", # required private_key: "FilePath", # required }, sds: { secret_name: "SdsSecretName", # 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: "SdsSecretName", # required }, }, }, }, }, }, backends: [ { virtual_service: { client_policy: { tls: { certificate: { file: { certificate_chain: "FilePath", # required private_key: "FilePath", # required }, sds: { secret_name: "SdsSecretName", # 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: "SdsSecretName", # 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 }, 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 }, }, }, }, }, ], 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 response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS }, }, }
@!attribute [rw] backend_defaults
A reference to an object that represents the defaults for backends. @return [Types::BackendDefaults]
@!attribute [rw] backends
The backends that the virtual node is expected to send outbound traffic to. @return [Array<Types::Backend>]
@!attribute [rw] listeners
The listener that the virtual node is expected to receive inbound traffic from. You can specify one listener. @return [Array<Types::Listener>]
@!attribute [rw] logging
The inbound and outbound access logging information for the virtual node. @return [Types::Logging]
@!attribute [rw] service_discovery
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. @return [Types::ServiceDiscovery]
@see docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualNodeSpec AWS API Documentation
Constants
- SENSITIVE