Interface CfnVirtualNode.VirtualNodeSpecProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnVirtualNode.VirtualNodeSpecProperty.Jsii$Proxy
Enclosing class:
CfnVirtualNode

@Stability(Stable) public static interface CfnVirtualNode.VirtualNodeSpecProperty extends software.amazon.jsii.JsiiSerializable
An object that represents the specification of a virtual node.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.appmesh.*;
 VirtualNodeSpecProperty virtualNodeSpecProperty = VirtualNodeSpecProperty.builder()
         .backendDefaults(BackendDefaultsProperty.builder()
                 .clientPolicy(ClientPolicyProperty.builder()
                         .tls(ClientPolicyTlsProperty.builder()
                                 .validation(TlsValidationContextProperty.builder()
                                         .trust(TlsValidationContextTrustProperty.builder()
                                                 .acm(TlsValidationContextAcmTrustProperty.builder()
                                                         .certificateAuthorityArns(List.of("certificateAuthorityArns"))
                                                         .build())
                                                 .file(TlsValidationContextFileTrustProperty.builder()
                                                         .certificateChain("certificateChain")
                                                         .build())
                                                 .sds(TlsValidationContextSdsTrustProperty.builder()
                                                         .secretName("secretName")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .subjectAlternativeNames(SubjectAlternativeNamesProperty.builder()
                                                 .match(SubjectAlternativeNameMatchersProperty.builder()
                                                         .exact(List.of("exact"))
                                                         .build())
                                                 .build())
                                         .build())
                                 // the properties below are optional
                                 .certificate(ClientTlsCertificateProperty.builder()
                                         .file(ListenerTlsFileCertificateProperty.builder()
                                                 .certificateChain("certificateChain")
                                                 .privateKey("privateKey")
                                                 .build())
                                         .sds(ListenerTlsSdsCertificateProperty.builder()
                                                 .secretName("secretName")
                                                 .build())
                                         .build())
                                 .enforce(false)
                                 .ports(List.of(123))
                                 .build())
                         .build())
                 .build())
         .backends(List.of(BackendProperty.builder()
                 .virtualService(VirtualServiceBackendProperty.builder()
                         .virtualServiceName("virtualServiceName")
                         // the properties below are optional
                         .clientPolicy(ClientPolicyProperty.builder()
                                 .tls(ClientPolicyTlsProperty.builder()
                                         .validation(TlsValidationContextProperty.builder()
                                                 .trust(TlsValidationContextTrustProperty.builder()
                                                         .acm(TlsValidationContextAcmTrustProperty.builder()
                                                                 .certificateAuthorityArns(List.of("certificateAuthorityArns"))
                                                                 .build())
                                                         .file(TlsValidationContextFileTrustProperty.builder()
                                                                 .certificateChain("certificateChain")
                                                                 .build())
                                                         .sds(TlsValidationContextSdsTrustProperty.builder()
                                                                 .secretName("secretName")
                                                                 .build())
                                                         .build())
                                                 // the properties below are optional
                                                 .subjectAlternativeNames(SubjectAlternativeNamesProperty.builder()
                                                         .match(SubjectAlternativeNameMatchersProperty.builder()
                                                                 .exact(List.of("exact"))
                                                                 .build())
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .certificate(ClientTlsCertificateProperty.builder()
                                                 .file(ListenerTlsFileCertificateProperty.builder()
                                                         .certificateChain("certificateChain")
                                                         .privateKey("privateKey")
                                                         .build())
                                                 .sds(ListenerTlsSdsCertificateProperty.builder()
                                                         .secretName("secretName")
                                                         .build())
                                                 .build())
                                         .enforce(false)
                                         .ports(List.of(123))
                                         .build())
                                 .build())
                         .build())
                 .build()))
         .listeners(List.of(ListenerProperty.builder()
                 .portMapping(PortMappingProperty.builder()
                         .port(123)
                         .protocol("protocol")
                         .build())
                 // the properties below are optional
                 .connectionPool(VirtualNodeConnectionPoolProperty.builder()
                         .grpc(VirtualNodeGrpcConnectionPoolProperty.builder()
                                 .maxRequests(123)
                                 .build())
                         .http(VirtualNodeHttpConnectionPoolProperty.builder()
                                 .maxConnections(123)
                                 // the properties below are optional
                                 .maxPendingRequests(123)
                                 .build())
                         .http2(VirtualNodeHttp2ConnectionPoolProperty.builder()
                                 .maxRequests(123)
                                 .build())
                         .tcp(VirtualNodeTcpConnectionPoolProperty.builder()
                                 .maxConnections(123)
                                 .build())
                         .build())
                 .healthCheck(HealthCheckProperty.builder()
                         .healthyThreshold(123)
                         .intervalMillis(123)
                         .protocol("protocol")
                         .timeoutMillis(123)
                         .unhealthyThreshold(123)
                         // the properties below are optional
                         .path("path")
                         .port(123)
                         .build())
                 .outlierDetection(OutlierDetectionProperty.builder()
                         .baseEjectionDuration(DurationProperty.builder()
                                 .unit("unit")
                                 .value(123)
                                 .build())
                         .interval(DurationProperty.builder()
                                 .unit("unit")
                                 .value(123)
                                 .build())
                         .maxEjectionPercent(123)
                         .maxServerErrors(123)
                         .build())
                 .timeout(ListenerTimeoutProperty.builder()
                         .grpc(GrpcTimeoutProperty.builder()
                                 .idle(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .perRequest(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .build())
                         .http(HttpTimeoutProperty.builder()
                                 .idle(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .perRequest(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .build())
                         .http2(HttpTimeoutProperty.builder()
                                 .idle(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .perRequest(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .build())
                         .tcp(TcpTimeoutProperty.builder()
                                 .idle(DurationProperty.builder()
                                         .unit("unit")
                                         .value(123)
                                         .build())
                                 .build())
                         .build())
                 .tls(ListenerTlsProperty.builder()
                         .certificate(ListenerTlsCertificateProperty.builder()
                                 .acm(ListenerTlsAcmCertificateProperty.builder()
                                         .certificateArn("certificateArn")
                                         .build())
                                 .file(ListenerTlsFileCertificateProperty.builder()
                                         .certificateChain("certificateChain")
                                         .privateKey("privateKey")
                                         .build())
                                 .sds(ListenerTlsSdsCertificateProperty.builder()
                                         .secretName("secretName")
                                         .build())
                                 .build())
                         .mode("mode")
                         // the properties below are optional
                         .validation(ListenerTlsValidationContextProperty.builder()
                                 .trust(ListenerTlsValidationContextTrustProperty.builder()
                                         .file(TlsValidationContextFileTrustProperty.builder()
                                                 .certificateChain("certificateChain")
                                                 .build())
                                         .sds(TlsValidationContextSdsTrustProperty.builder()
                                                 .secretName("secretName")
                                                 .build())
                                         .build())
                                 // the properties below are optional
                                 .subjectAlternativeNames(SubjectAlternativeNamesProperty.builder()
                                         .match(SubjectAlternativeNameMatchersProperty.builder()
                                                 .exact(List.of("exact"))
                                                 .build())
                                         .build())
                                 .build())
                         .build())
                 .build()))
         .logging(LoggingProperty.builder()
                 .accessLog(AccessLogProperty.builder()
                         .file(FileAccessLogProperty.builder()
                                 .path("path")
                                 // the properties below are optional
                                 .format(LoggingFormatProperty.builder()
                                         .json(List.of(JsonFormatRefProperty.builder()
                                                 .key("key")
                                                 .value("value")
                                                 .build()))
                                         .text("text")
                                         .build())
                                 .build())
                         .build())
                 .build())
         .serviceDiscovery(ServiceDiscoveryProperty.builder()
                 .awsCloudMap(AwsCloudMapServiceDiscoveryProperty.builder()
                         .namespaceName("namespaceName")
                         .serviceName("serviceName")
                         // the properties below are optional
                         .attributes(List.of(AwsCloudMapInstanceAttributeProperty.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .ipPreference("ipPreference")
                         .build())
                 .dns(DnsServiceDiscoveryProperty.builder()
                         .hostname("hostname")
                         // the properties below are optional
                         .ipPreference("ipPreference")
                         .responseType("responseType")
                         .build())
                 .build())
         .build();
 

See Also: