Show / Hide Table of Contents

Class CfnVirtualNodePropsMixin.VirtualNodeSpecProperty

An object that represents the specification of a virtual node.

Inheritance
object
CfnVirtualNodePropsMixin.VirtualNodeSpecProperty
Implements
CfnVirtualNodePropsMixin.IVirtualNodeSpecProperty
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.CfnPropertyMixins.AWS.AppMesh
Assembly: Amazon.CDK.CfnPropertyMixins.dll
Syntax (csharp)
public class CfnVirtualNodePropsMixin.VirtualNodeSpecProperty : CfnVirtualNodePropsMixin.IVirtualNodeSpecProperty
Syntax (vb)
Public Class CfnVirtualNodePropsMixin.VirtualNodeSpecProperty Implements CfnVirtualNodePropsMixin.IVirtualNodeSpecProperty
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.CfnPropertyMixins.AWS.AppMesh;

             var virtualNodeSpecProperty = new VirtualNodeSpecProperty {
                 BackendDefaults = new BackendDefaultsProperty {
                     ClientPolicy = new ClientPolicyProperty {
                         Tls = new ClientPolicyTlsProperty {
                             Certificate = new ClientTlsCertificateProperty {
                                 File = new ListenerTlsFileCertificateProperty {
                                     CertificateChain = "certificateChain",
                                     PrivateKey = "privateKey"
                                 },
                                 Sds = new ListenerTlsSdsCertificateProperty {
                                     SecretName = "secretName"
                                 }
                             },
                             Enforce = false,
                             Ports = new [] { 123 },
                             Validation = new TlsValidationContextProperty {
                                 SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                     Match = new SubjectAlternativeNameMatchersProperty {
                                         Exact = new [] { "exact" }
                                     }
                                 },
                                 Trust = new TlsValidationContextTrustProperty {
                                     Acm = new TlsValidationContextAcmTrustProperty {
                                         CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                     },
                                     File = new TlsValidationContextFileTrustProperty {
                                         CertificateChain = "certificateChain"
                                     },
                                     Sds = new TlsValidationContextSdsTrustProperty {
                                         SecretName = "secretName"
                                     }
                                 }
                             }
                         }
                     }
                 },
                 Backends = new [] { new BackendProperty {
                     VirtualService = new VirtualServiceBackendProperty {
                         ClientPolicy = new ClientPolicyProperty {
                             Tls = new ClientPolicyTlsProperty {
                                 Certificate = new ClientTlsCertificateProperty {
                                     File = new ListenerTlsFileCertificateProperty {
                                         CertificateChain = "certificateChain",
                                         PrivateKey = "privateKey"
                                     },
                                     Sds = new ListenerTlsSdsCertificateProperty {
                                         SecretName = "secretName"
                                     }
                                 },
                                 Enforce = false,
                                 Ports = new [] { 123 },
                                 Validation = new TlsValidationContextProperty {
                                     SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                         Match = new SubjectAlternativeNameMatchersProperty {
                                             Exact = new [] { "exact" }
                                         }
                                     },
                                     Trust = new TlsValidationContextTrustProperty {
                                         Acm = new TlsValidationContextAcmTrustProperty {
                                             CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                         },
                                         File = new TlsValidationContextFileTrustProperty {
                                             CertificateChain = "certificateChain"
                                         },
                                         Sds = new TlsValidationContextSdsTrustProperty {
                                             SecretName = "secretName"
                                         }
                                     }
                                 }
                             }
                         },
                         VirtualServiceName = "virtualServiceName"
                     }
                 } },
                 Listeners = new [] { new ListenerProperty {
                     ConnectionPool = new VirtualNodeConnectionPoolProperty {
                         Grpc = new VirtualNodeGrpcConnectionPoolProperty {
                             MaxRequests = 123
                         },
                         Http = new VirtualNodeHttpConnectionPoolProperty {
                             MaxConnections = 123,
                             MaxPendingRequests = 123
                         },
                         Http2 = new VirtualNodeHttp2ConnectionPoolProperty {
                             MaxRequests = 123
                         },
                         Tcp = new VirtualNodeTcpConnectionPoolProperty {
                             MaxConnections = 123
                         }
                     },
                     HealthCheck = new HealthCheckProperty {
                         HealthyThreshold = 123,
                         IntervalMillis = 123,
                         Path = "path",
                         Port = 123,
                         Protocol = "protocol",
                         TimeoutMillis = 123,
                         UnhealthyThreshold = 123
                     },
                     OutlierDetection = new OutlierDetectionProperty {
                         BaseEjectionDuration = new DurationProperty {
                             Unit = "unit",
                             Value = 123
                         },
                         Interval = new DurationProperty {
                             Unit = "unit",
                             Value = 123
                         },
                         MaxEjectionPercent = 123,
                         MaxServerErrors = 123
                     },
                     PortMapping = new PortMappingProperty {
                         Port = 123,
                         Protocol = "protocol"
                     },
                     Timeout = new ListenerTimeoutProperty {
                         Grpc = new GrpcTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Http = new HttpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Http2 = new HttpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Tcp = new TcpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         }
                     },
                     Tls = new ListenerTlsProperty {
                         Certificate = new ListenerTlsCertificateProperty {
                             Acm = new ListenerTlsAcmCertificateProperty {
                                 CertificateArn = "certificateArn"
                             },
                             File = new ListenerTlsFileCertificateProperty {
                                 CertificateChain = "certificateChain",
                                 PrivateKey = "privateKey"
                             },
                             Sds = new ListenerTlsSdsCertificateProperty {
                                 SecretName = "secretName"
                             }
                         },
                         Mode = "mode",
                         Validation = new ListenerTlsValidationContextProperty {
                             SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                 Match = new SubjectAlternativeNameMatchersProperty {
                                     Exact = new [] { "exact" }
                                 }
                             },
                             Trust = new ListenerTlsValidationContextTrustProperty {
                                 File = new TlsValidationContextFileTrustProperty {
                                     CertificateChain = "certificateChain"
                                 },
                                 Sds = new TlsValidationContextSdsTrustProperty {
                                     SecretName = "secretName"
                                 }
                             }
                         }
                     }
                 } },
                 Logging = new LoggingProperty {
                     AccessLog = new AccessLogProperty {
                         File = new FileAccessLogProperty {
                             Format = new LoggingFormatProperty {
                                 Json = new [] { new JsonFormatRefProperty {
                                     Key = "key",
                                     Value = "value"
                                 } },
                                 Text = "text"
                             },
                             Path = "path"
                         }
                     }
                 },
                 ServiceDiscovery = new ServiceDiscoveryProperty {
                     AwsCloudMap = new AwsCloudMapServiceDiscoveryProperty {
                         Attributes = new [] { new AwsCloudMapInstanceAttributeProperty {
                             Key = "key",
                             Value = "value"
                         } },
                         IpPreference = "ipPreference",
                         NamespaceName = "namespaceName",
                         ServiceName = "serviceName"
                     },
                     Dns = new DnsServiceDiscoveryProperty {
                         Hostname = "hostname",
                         IpPreference = "ipPreference",
                         ResponseType = "responseType"
                     }
                 }
             };

Synopsis

Constructors

VirtualNodeSpecProperty()

An object that represents the specification of a virtual node.

Properties

BackendDefaults

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

Backends

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

Listeners

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

Logging

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

ServiceDiscovery

The service discovery information for the virtual node.

Constructors

VirtualNodeSpecProperty()

An object that represents the specification of a virtual node.

public VirtualNodeSpecProperty()
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.CfnPropertyMixins.AWS.AppMesh;

             var virtualNodeSpecProperty = new VirtualNodeSpecProperty {
                 BackendDefaults = new BackendDefaultsProperty {
                     ClientPolicy = new ClientPolicyProperty {
                         Tls = new ClientPolicyTlsProperty {
                             Certificate = new ClientTlsCertificateProperty {
                                 File = new ListenerTlsFileCertificateProperty {
                                     CertificateChain = "certificateChain",
                                     PrivateKey = "privateKey"
                                 },
                                 Sds = new ListenerTlsSdsCertificateProperty {
                                     SecretName = "secretName"
                                 }
                             },
                             Enforce = false,
                             Ports = new [] { 123 },
                             Validation = new TlsValidationContextProperty {
                                 SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                     Match = new SubjectAlternativeNameMatchersProperty {
                                         Exact = new [] { "exact" }
                                     }
                                 },
                                 Trust = new TlsValidationContextTrustProperty {
                                     Acm = new TlsValidationContextAcmTrustProperty {
                                         CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                     },
                                     File = new TlsValidationContextFileTrustProperty {
                                         CertificateChain = "certificateChain"
                                     },
                                     Sds = new TlsValidationContextSdsTrustProperty {
                                         SecretName = "secretName"
                                     }
                                 }
                             }
                         }
                     }
                 },
                 Backends = new [] { new BackendProperty {
                     VirtualService = new VirtualServiceBackendProperty {
                         ClientPolicy = new ClientPolicyProperty {
                             Tls = new ClientPolicyTlsProperty {
                                 Certificate = new ClientTlsCertificateProperty {
                                     File = new ListenerTlsFileCertificateProperty {
                                         CertificateChain = "certificateChain",
                                         PrivateKey = "privateKey"
                                     },
                                     Sds = new ListenerTlsSdsCertificateProperty {
                                         SecretName = "secretName"
                                     }
                                 },
                                 Enforce = false,
                                 Ports = new [] { 123 },
                                 Validation = new TlsValidationContextProperty {
                                     SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                         Match = new SubjectAlternativeNameMatchersProperty {
                                             Exact = new [] { "exact" }
                                         }
                                     },
                                     Trust = new TlsValidationContextTrustProperty {
                                         Acm = new TlsValidationContextAcmTrustProperty {
                                             CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                         },
                                         File = new TlsValidationContextFileTrustProperty {
                                             CertificateChain = "certificateChain"
                                         },
                                         Sds = new TlsValidationContextSdsTrustProperty {
                                             SecretName = "secretName"
                                         }
                                     }
                                 }
                             }
                         },
                         VirtualServiceName = "virtualServiceName"
                     }
                 } },
                 Listeners = new [] { new ListenerProperty {
                     ConnectionPool = new VirtualNodeConnectionPoolProperty {
                         Grpc = new VirtualNodeGrpcConnectionPoolProperty {
                             MaxRequests = 123
                         },
                         Http = new VirtualNodeHttpConnectionPoolProperty {
                             MaxConnections = 123,
                             MaxPendingRequests = 123
                         },
                         Http2 = new VirtualNodeHttp2ConnectionPoolProperty {
                             MaxRequests = 123
                         },
                         Tcp = new VirtualNodeTcpConnectionPoolProperty {
                             MaxConnections = 123
                         }
                     },
                     HealthCheck = new HealthCheckProperty {
                         HealthyThreshold = 123,
                         IntervalMillis = 123,
                         Path = "path",
                         Port = 123,
                         Protocol = "protocol",
                         TimeoutMillis = 123,
                         UnhealthyThreshold = 123
                     },
                     OutlierDetection = new OutlierDetectionProperty {
                         BaseEjectionDuration = new DurationProperty {
                             Unit = "unit",
                             Value = 123
                         },
                         Interval = new DurationProperty {
                             Unit = "unit",
                             Value = 123
                         },
                         MaxEjectionPercent = 123,
                         MaxServerErrors = 123
                     },
                     PortMapping = new PortMappingProperty {
                         Port = 123,
                         Protocol = "protocol"
                     },
                     Timeout = new ListenerTimeoutProperty {
                         Grpc = new GrpcTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Http = new HttpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Http2 = new HttpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             PerRequest = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         },
                         Tcp = new TcpTimeoutProperty {
                             Idle = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             }
                         }
                     },
                     Tls = new ListenerTlsProperty {
                         Certificate = new ListenerTlsCertificateProperty {
                             Acm = new ListenerTlsAcmCertificateProperty {
                                 CertificateArn = "certificateArn"
                             },
                             File = new ListenerTlsFileCertificateProperty {
                                 CertificateChain = "certificateChain",
                                 PrivateKey = "privateKey"
                             },
                             Sds = new ListenerTlsSdsCertificateProperty {
                                 SecretName = "secretName"
                             }
                         },
                         Mode = "mode",
                         Validation = new ListenerTlsValidationContextProperty {
                             SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                 Match = new SubjectAlternativeNameMatchersProperty {
                                     Exact = new [] { "exact" }
                                 }
                             },
                             Trust = new ListenerTlsValidationContextTrustProperty {
                                 File = new TlsValidationContextFileTrustProperty {
                                     CertificateChain = "certificateChain"
                                 },
                                 Sds = new TlsValidationContextSdsTrustProperty {
                                     SecretName = "secretName"
                                 }
                             }
                         }
                     }
                 } },
                 Logging = new LoggingProperty {
                     AccessLog = new AccessLogProperty {
                         File = new FileAccessLogProperty {
                             Format = new LoggingFormatProperty {
                                 Json = new [] { new JsonFormatRefProperty {
                                     Key = "key",
                                     Value = "value"
                                 } },
                                 Text = "text"
                             },
                             Path = "path"
                         }
                     }
                 },
                 ServiceDiscovery = new ServiceDiscoveryProperty {
                     AwsCloudMap = new AwsCloudMapServiceDiscoveryProperty {
                         Attributes = new [] { new AwsCloudMapInstanceAttributeProperty {
                             Key = "key",
                             Value = "value"
                         } },
                         IpPreference = "ipPreference",
                         NamespaceName = "namespaceName",
                         ServiceName = "serviceName"
                     },
                     Dns = new DnsServiceDiscoveryProperty {
                         Hostname = "hostname",
                         IpPreference = "ipPreference",
                         ResponseType = "responseType"
                     }
                 }
             };

Properties

BackendDefaults

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

public object? BackendDefaults { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backenddefaults

Type union: either IResolvable or CfnVirtualNodePropsMixin.IBackendDefaultsProperty

Backends

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

public object? Backends { get; set; }
Property Value

object

Remarks
App Mesh doesn't validate the existence of those virtual services specified in backends. This is to prevent a cyclic dependency between virtual nodes and virtual services creation. Make sure the virtual service name is correct. The virtual service can be created afterwards if it doesn't already exist.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends

Type union: either IResolvable or (either IResolvable or CfnVirtualNodePropsMixin.IBackendProperty)[]

Listeners

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

public object? Listeners { get; set; }
Property Value

object

Remarks

You can specify one listener.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners

Type union: either IResolvable or (either IResolvable or CfnVirtualNodePropsMixin.IListenerProperty)[]

Logging

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

public object? Logging { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-logging

Type union: either IResolvable or CfnVirtualNodePropsMixin.ILoggingProperty

ServiceDiscovery

The service discovery information for the virtual node.

public object? ServiceDiscovery { get; set; }
Property Value

object

Remarks

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-servicediscovery

Type union: either IResolvable or CfnVirtualNodePropsMixin.IServiceDiscoveryProperty

Implements

CfnVirtualNodePropsMixin.IVirtualNodeSpecProperty
Back to top Generated by DocFX