Class CfnVirtualNodeProps
Properties for defining a CfnVirtualNode
.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.AppMesh
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnVirtualNodeProps : Object, ICfnVirtualNodeProps
Syntax (vb)
Public Class CfnVirtualNodeProps
Inherits Object
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
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()
public CfnVirtualNodeProps()
Properties
MeshName
The name of the service mesh to create the virtual node in.
public string MeshName { get; set; }
Property Value
System.String
Remarks
MeshOwner
The AWS IAM account ID of the service mesh owner.
public string MeshOwner { get; set; }
Property Value
System.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 .
Spec
The virtual node specification to apply.
public object Spec { get; set; }
Property Value
System.Object
Remarks
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.
VirtualNodeName
The name to use for the virtual node.
public string VirtualNodeName { get; set; }
Property Value
System.String