Interface CfnVirtualGateway.VirtualGatewaySpecProperty

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

@Stability(Stable) public static interface CfnVirtualGateway.VirtualGatewaySpecProperty extends software.amazon.jsii.JsiiSerializable
An object that represents the specification of a service mesh resource.

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.*;
 VirtualGatewaySpecProperty virtualGatewaySpecProperty = VirtualGatewaySpecProperty.builder()
         .listeners(List.of(VirtualGatewayListenerProperty.builder()
                 .portMapping(VirtualGatewayPortMappingProperty.builder()
                         .port(123)
                         .protocol("protocol")
                         .build())
                 // the properties below are optional
                 .connectionPool(VirtualGatewayConnectionPoolProperty.builder()
                         .grpc(VirtualGatewayGrpcConnectionPoolProperty.builder()
                                 .maxRequests(123)
                                 .build())
                         .http(VirtualGatewayHttpConnectionPoolProperty.builder()
                                 .maxConnections(123)
                                 // the properties below are optional
                                 .maxPendingRequests(123)
                                 .build())
                         .http2(VirtualGatewayHttp2ConnectionPoolProperty.builder()
                                 .maxRequests(123)
                                 .build())
                         .build())
                 .healthCheck(VirtualGatewayHealthCheckPolicyProperty.builder()
                         .healthyThreshold(123)
                         .intervalMillis(123)
                         .protocol("protocol")
                         .timeoutMillis(123)
                         .unhealthyThreshold(123)
                         // the properties below are optional
                         .path("path")
                         .port(123)
                         .build())
                 .tls(VirtualGatewayListenerTlsProperty.builder()
                         .certificate(VirtualGatewayListenerTlsCertificateProperty.builder()
                                 .acm(VirtualGatewayListenerTlsAcmCertificateProperty.builder()
                                         .certificateArn("certificateArn")
                                         .build())
                                 .file(VirtualGatewayListenerTlsFileCertificateProperty.builder()
                                         .certificateChain("certificateChain")
                                         .privateKey("privateKey")
                                         .build())
                                 .sds(VirtualGatewayListenerTlsSdsCertificateProperty.builder()
                                         .secretName("secretName")
                                         .build())
                                 .build())
                         .mode("mode")
                         // the properties below are optional
                         .validation(VirtualGatewayListenerTlsValidationContextProperty.builder()
                                 .trust(VirtualGatewayListenerTlsValidationContextTrustProperty.builder()
                                         .file(VirtualGatewayTlsValidationContextFileTrustProperty.builder()
                                                 .certificateChain("certificateChain")
                                                 .build())
                                         .sds(VirtualGatewayTlsValidationContextSdsTrustProperty.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()))
         // the properties below are optional
         .backendDefaults(VirtualGatewayBackendDefaultsProperty.builder()
                 .clientPolicy(VirtualGatewayClientPolicyProperty.builder()
                         .tls(VirtualGatewayClientPolicyTlsProperty.builder()
                                 .validation(VirtualGatewayTlsValidationContextProperty.builder()
                                         .trust(VirtualGatewayTlsValidationContextTrustProperty.builder()
                                                 .acm(VirtualGatewayTlsValidationContextAcmTrustProperty.builder()
                                                         .certificateAuthorityArns(List.of("certificateAuthorityArns"))
                                                         .build())
                                                 .file(VirtualGatewayTlsValidationContextFileTrustProperty.builder()
                                                         .certificateChain("certificateChain")
                                                         .build())
                                                 .sds(VirtualGatewayTlsValidationContextSdsTrustProperty.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(VirtualGatewayClientTlsCertificateProperty.builder()
                                         .file(VirtualGatewayListenerTlsFileCertificateProperty.builder()
                                                 .certificateChain("certificateChain")
                                                 .privateKey("privateKey")
                                                 .build())
                                         .sds(VirtualGatewayListenerTlsSdsCertificateProperty.builder()
                                                 .secretName("secretName")
                                                 .build())
                                         .build())
                                 .enforce(false)
                                 .ports(List.of(123))
                                 .build())
                         .build())
                 .build())
         .logging(VirtualGatewayLoggingProperty.builder()
                 .accessLog(VirtualGatewayAccessLogProperty.builder()
                         .file(VirtualGatewayFileAccessLogProperty.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())
         .build();