Show / Hide Table of Contents

Class CfnVirtualNodeProps

Properties for defining a CfnVirtualNode.

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.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.AWS.AppMesh;

             var cfnVirtualNodeProps = new CfnVirtualNodeProps {
                 MeshName = "meshName",
                 Spec = new VirtualNodeSpecProperty {
                     BackendDefaults = new BackendDefaultsProperty {
                         ClientPolicy = new ClientPolicyProperty {
                             Tls = new ClientPolicyTlsProperty {
                                 Validation = new TlsValidationContextProperty {
                                     Trust = new TlsValidationContextTrustProperty {
                                         Acm = new TlsValidationContextAcmTrustProperty {
                                             CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                         },
                                         File = new TlsValidationContextFileTrustProperty {
                                             CertificateChain = "certificateChain"
                                         },
                                         Sds = new TlsValidationContextSdsTrustProperty {
                                             SecretName = "secretName"
                                         }
                                     },

                                     // the properties below are optional
                                     SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                         Match = new SubjectAlternativeNameMatchersProperty {
                                             Exact = new [] { "exact" }
                                         }
                                     }
                                 },

                                 // the properties below are optional
                                 Certificate = new ClientTlsCertificateProperty {
                                     File = new ListenerTlsFileCertificateProperty {
                                         CertificateChain = "certificateChain",
                                         PrivateKey = "privateKey"
                                     },
                                     Sds = new ListenerTlsSdsCertificateProperty {
                                         SecretName = "secretName"
                                     }
                                 },
                                 Enforce = false,
                                 Ports = new [] { 123 }
                             }
                         }
                     },
                     Backends = new [] { new BackendProperty {
                         VirtualService = new VirtualServiceBackendProperty {
                             VirtualServiceName = "virtualServiceName",

                             // the properties below are optional
                             ClientPolicy = new ClientPolicyProperty {
                                 Tls = new ClientPolicyTlsProperty {
                                     Validation = new TlsValidationContextProperty {
                                         Trust = new TlsValidationContextTrustProperty {
                                             Acm = new TlsValidationContextAcmTrustProperty {
                                                 CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                             },
                                             File = new TlsValidationContextFileTrustProperty {
                                                 CertificateChain = "certificateChain"
                                             },
                                             Sds = new TlsValidationContextSdsTrustProperty {
                                                 SecretName = "secretName"
                                             }
                                         },

                                         // the properties below are optional
                                         SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                             Match = new SubjectAlternativeNameMatchersProperty {
                                                 Exact = new [] { "exact" }
                                             }
                                         }
                                     },

                                     // the properties below are optional
                                     Certificate = new ClientTlsCertificateProperty {
                                         File = new ListenerTlsFileCertificateProperty {
                                             CertificateChain = "certificateChain",
                                             PrivateKey = "privateKey"
                                         },
                                         Sds = new ListenerTlsSdsCertificateProperty {
                                             SecretName = "secretName"
                                         }
                                     },
                                     Enforce = false,
                                     Ports = new [] { 123 }
                                 }
                             }
                         }
                     } },
                     Listeners = new [] { new ListenerProperty {
                         PortMapping = new PortMappingProperty {
                             Port = 123,
                             Protocol = "protocol"
                         },

                         // the properties below are optional
                         ConnectionPool = new VirtualNodeConnectionPoolProperty {
                             Grpc = new VirtualNodeGrpcConnectionPoolProperty {
                                 MaxRequests = 123
                             },
                             Http = new VirtualNodeHttpConnectionPoolProperty {
                                 MaxConnections = 123,

                                 // the properties below are optional
                                 MaxPendingRequests = 123
                             },
                             Http2 = new VirtualNodeHttp2ConnectionPoolProperty {
                                 MaxRequests = 123
                             },
                             Tcp = new VirtualNodeTcpConnectionPoolProperty {
                                 MaxConnections = 123
                             }
                         },
                         HealthCheck = new HealthCheckProperty {
                             HealthyThreshold = 123,
                             IntervalMillis = 123,
                             Protocol = "protocol",
                             TimeoutMillis = 123,
                             UnhealthyThreshold = 123,

                             // the properties below are optional
                             Path = "path",
                             Port = 123
                         },
                         OutlierDetection = new OutlierDetectionProperty {
                             BaseEjectionDuration = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             Interval = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             MaxEjectionPercent = 123,
                             MaxServerErrors = 123
                         },
                         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",

                             // the properties below are optional
                             Validation = new ListenerTlsValidationContextProperty {
                                 Trust = new ListenerTlsValidationContextTrustProperty {
                                     File = new TlsValidationContextFileTrustProperty {
                                         CertificateChain = "certificateChain"
                                     },
                                     Sds = new TlsValidationContextSdsTrustProperty {
                                         SecretName = "secretName"
                                     }
                                 },

                                 // the properties below are optional
                                 SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                     Match = new SubjectAlternativeNameMatchersProperty {
                                         Exact = new [] { "exact" }
                                     }
                                 }
                             }
                         }
                     } },
                     Logging = new LoggingProperty {
                         AccessLog = new AccessLogProperty {
                             File = new FileAccessLogProperty {
                                 Path = "path",

                                 // the properties below are optional
                                 Format = new LoggingFormatProperty {
                                     Json = new [] { new JsonFormatRefProperty {
                                         Key = "key",
                                         Value = "value"
                                     } },
                                     Text = "text"
                                 }
                             }
                         }
                     },
                     ServiceDiscovery = new ServiceDiscoveryProperty {
                         AwsCloudMap = new AwsCloudMapServiceDiscoveryProperty {
                             NamespaceName = "namespaceName",
                             ServiceName = "serviceName",

                             // the properties below are optional
                             Attributes = new [] { new AwsCloudMapInstanceAttributeProperty {
                                 Key = "key",
                                 Value = "value"
                             } },
                             IpPreference = "ipPreference"
                         },
                         Dns = new DnsServiceDiscoveryProperty {
                             Hostname = "hostname",

                             // the properties below are optional
                             IpPreference = "ipPreference",
                             ResponseType = "responseType"
                         }
                     }
                 },

                 // the properties below are optional
                 MeshOwner = "meshOwner",
                 Tags = new [] { new CfnTag {
                     Key = "key",
                     Value = "value"
                 } },
                 VirtualNodeName = "virtualNodeName"
             };

Synopsis

Constructors

CfnVirtualNodeProps()

Properties for defining a CfnVirtualNode.

Properties

MeshName

The name of the service mesh to create the virtual node in.

MeshOwner

The AWS IAM account ID of the service mesh owner.

Spec

The virtual node specification to apply.

Tags

Optional metadata that you can apply to the virtual node to assist with categorization and organization.

VirtualNodeName

The name to use for the virtual node.

Constructors

CfnVirtualNodeProps()

Properties for defining a CfnVirtualNode.

public CfnVirtualNodeProps()
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.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.AWS.AppMesh;

             var cfnVirtualNodeProps = new CfnVirtualNodeProps {
                 MeshName = "meshName",
                 Spec = new VirtualNodeSpecProperty {
                     BackendDefaults = new BackendDefaultsProperty {
                         ClientPolicy = new ClientPolicyProperty {
                             Tls = new ClientPolicyTlsProperty {
                                 Validation = new TlsValidationContextProperty {
                                     Trust = new TlsValidationContextTrustProperty {
                                         Acm = new TlsValidationContextAcmTrustProperty {
                                             CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                         },
                                         File = new TlsValidationContextFileTrustProperty {
                                             CertificateChain = "certificateChain"
                                         },
                                         Sds = new TlsValidationContextSdsTrustProperty {
                                             SecretName = "secretName"
                                         }
                                     },

                                     // the properties below are optional
                                     SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                         Match = new SubjectAlternativeNameMatchersProperty {
                                             Exact = new [] { "exact" }
                                         }
                                     }
                                 },

                                 // the properties below are optional
                                 Certificate = new ClientTlsCertificateProperty {
                                     File = new ListenerTlsFileCertificateProperty {
                                         CertificateChain = "certificateChain",
                                         PrivateKey = "privateKey"
                                     },
                                     Sds = new ListenerTlsSdsCertificateProperty {
                                         SecretName = "secretName"
                                     }
                                 },
                                 Enforce = false,
                                 Ports = new [] { 123 }
                             }
                         }
                     },
                     Backends = new [] { new BackendProperty {
                         VirtualService = new VirtualServiceBackendProperty {
                             VirtualServiceName = "virtualServiceName",

                             // the properties below are optional
                             ClientPolicy = new ClientPolicyProperty {
                                 Tls = new ClientPolicyTlsProperty {
                                     Validation = new TlsValidationContextProperty {
                                         Trust = new TlsValidationContextTrustProperty {
                                             Acm = new TlsValidationContextAcmTrustProperty {
                                                 CertificateAuthorityArns = new [] { "certificateAuthorityArns" }
                                             },
                                             File = new TlsValidationContextFileTrustProperty {
                                                 CertificateChain = "certificateChain"
                                             },
                                             Sds = new TlsValidationContextSdsTrustProperty {
                                                 SecretName = "secretName"
                                             }
                                         },

                                         // the properties below are optional
                                         SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                             Match = new SubjectAlternativeNameMatchersProperty {
                                                 Exact = new [] { "exact" }
                                             }
                                         }
                                     },

                                     // the properties below are optional
                                     Certificate = new ClientTlsCertificateProperty {
                                         File = new ListenerTlsFileCertificateProperty {
                                             CertificateChain = "certificateChain",
                                             PrivateKey = "privateKey"
                                         },
                                         Sds = new ListenerTlsSdsCertificateProperty {
                                             SecretName = "secretName"
                                         }
                                     },
                                     Enforce = false,
                                     Ports = new [] { 123 }
                                 }
                             }
                         }
                     } },
                     Listeners = new [] { new ListenerProperty {
                         PortMapping = new PortMappingProperty {
                             Port = 123,
                             Protocol = "protocol"
                         },

                         // the properties below are optional
                         ConnectionPool = new VirtualNodeConnectionPoolProperty {
                             Grpc = new VirtualNodeGrpcConnectionPoolProperty {
                                 MaxRequests = 123
                             },
                             Http = new VirtualNodeHttpConnectionPoolProperty {
                                 MaxConnections = 123,

                                 // the properties below are optional
                                 MaxPendingRequests = 123
                             },
                             Http2 = new VirtualNodeHttp2ConnectionPoolProperty {
                                 MaxRequests = 123
                             },
                             Tcp = new VirtualNodeTcpConnectionPoolProperty {
                                 MaxConnections = 123
                             }
                         },
                         HealthCheck = new HealthCheckProperty {
                             HealthyThreshold = 123,
                             IntervalMillis = 123,
                             Protocol = "protocol",
                             TimeoutMillis = 123,
                             UnhealthyThreshold = 123,

                             // the properties below are optional
                             Path = "path",
                             Port = 123
                         },
                         OutlierDetection = new OutlierDetectionProperty {
                             BaseEjectionDuration = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             Interval = new DurationProperty {
                                 Unit = "unit",
                                 Value = 123
                             },
                             MaxEjectionPercent = 123,
                             MaxServerErrors = 123
                         },
                         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",

                             // the properties below are optional
                             Validation = new ListenerTlsValidationContextProperty {
                                 Trust = new ListenerTlsValidationContextTrustProperty {
                                     File = new TlsValidationContextFileTrustProperty {
                                         CertificateChain = "certificateChain"
                                     },
                                     Sds = new TlsValidationContextSdsTrustProperty {
                                         SecretName = "secretName"
                                     }
                                 },

                                 // the properties below are optional
                                 SubjectAlternativeNames = new SubjectAlternativeNamesProperty {
                                     Match = new SubjectAlternativeNameMatchersProperty {
                                         Exact = new [] { "exact" }
                                     }
                                 }
                             }
                         }
                     } },
                     Logging = new LoggingProperty {
                         AccessLog = new AccessLogProperty {
                             File = new FileAccessLogProperty {
                                 Path = "path",

                                 // the properties below are optional
                                 Format = new LoggingFormatProperty {
                                     Json = new [] { new JsonFormatRefProperty {
                                         Key = "key",
                                         Value = "value"
                                     } },
                                     Text = "text"
                                 }
                             }
                         }
                     },
                     ServiceDiscovery = new ServiceDiscoveryProperty {
                         AwsCloudMap = new AwsCloudMapServiceDiscoveryProperty {
                             NamespaceName = "namespaceName",
                             ServiceName = "serviceName",

                             // the properties below are optional
                             Attributes = new [] { new AwsCloudMapInstanceAttributeProperty {
                                 Key = "key",
                                 Value = "value"
                             } },
                             IpPreference = "ipPreference"
                         },
                         Dns = new DnsServiceDiscoveryProperty {
                             Hostname = "hostname",

                             // the properties below are optional
                             IpPreference = "ipPreference",
                             ResponseType = "responseType"
                         }
                     }
                 },

                 // the properties below are optional
                 MeshOwner = "meshOwner",
                 Tags = new [] { new CfnTag {
                     Key = "key",
                     Value = "value"
                 } },
                 VirtualNodeName = "virtualNodeName"
             };

Properties

MeshName

The name of the service mesh to create the virtual node in.

public string MeshName { get; set; }
Property Value

string

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname

MeshOwner

The AWS IAM account ID of the service mesh owner.

public string? MeshOwner { get; set; }
Property Value

string

Remarks

If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshowner

Spec

The virtual node specification to apply.

public object Spec { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-spec

Tags

Optional metadata that you can apply to the virtual node to assist with categorization and organization.

public ICfnTag[]? Tags { get; set; }
Property Value

ICfnTag[]

Remarks

Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-tags

VirtualNodeName

The name to use for the virtual node.

public string? VirtualNodeName { get; set; }
Property Value

string

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-virtualnodename

Implements

ICfnVirtualNodeProps
Back to top Generated by DocFX