Class: Aws::AppMesh::Types::VirtualNodeSpec
- Inherits:
-
Struct
- Object
- Struct
- Aws::AppMesh::Types::VirtualNodeSpec
- Defined in:
- gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb
Overview
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
},
],
ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
namespace_name: "AwsCloudMapName", # required
service_name: "AwsCloudMapName", # required
},
dns: {
hostname: "Hostname", # required
ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
},
},
}
An object that represents the specification of a virtual node.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#backend_defaults ⇒ Types::BackendDefaults
A reference to an object that represents the defaults for backends.
-
#backends ⇒ Array<Types::Backend>
The backends that the virtual node is expected to send outbound traffic to.
-
#listeners ⇒ Array<Types::Listener>
The listener that the virtual node is expected to receive inbound traffic from.
-
#logging ⇒ Types::Logging
The inbound and outbound access logging information for the virtual node.
-
#service_discovery ⇒ Types::ServiceDiscovery
The service discovery information for the virtual node.
Instance Attribute Details
#backend_defaults ⇒ Types::BackendDefaults
A reference to an object that represents the defaults for backends.
9854 9855 9856 9857 9858 9859 9860 9861 9862 |
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 9854 class VirtualNodeSpec < Struct.new( :backend_defaults, :backends, :listeners, :logging, :service_discovery) SENSITIVE = [] include Aws::Structure end |
#backends ⇒ Array<Types::Backend>
The backends that the virtual node is expected to send outbound traffic to.
9854 9855 9856 9857 9858 9859 9860 9861 9862 |
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 9854 class VirtualNodeSpec < Struct.new( :backend_defaults, :backends, :listeners, :logging, :service_discovery) SENSITIVE = [] include Aws::Structure end |
#listeners ⇒ Array<Types::Listener>
The listener that the virtual node is expected to receive inbound traffic from. You can specify one listener.
9854 9855 9856 9857 9858 9859 9860 9861 9862 |
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 9854 class VirtualNodeSpec < Struct.new( :backend_defaults, :backends, :listeners, :logging, :service_discovery) SENSITIVE = [] include Aws::Structure end |
#logging ⇒ Types::Logging
The inbound and outbound access logging information for the virtual node.
9854 9855 9856 9857 9858 9859 9860 9861 9862 |
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 9854 class VirtualNodeSpec < Struct.new( :backend_defaults, :backends, :listeners, :logging, :service_discovery) SENSITIVE = [] include Aws::Structure end |
#service_discovery ⇒ Types::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.
9854 9855 9856 9857 9858 9859 9860 9861 9862 |
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 9854 class VirtualNodeSpec < Struct.new( :backend_defaults, :backends, :listeners, :logging, :service_discovery) SENSITIVE = [] include Aws::Structure end |