Interface CfnVirtualGatewayProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnVirtualGatewayProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:45.918Z") @Stability(Stable) public interface CfnVirtualGatewayProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnVirtualGateway.

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.*;
 CfnVirtualGatewayProps cfnVirtualGatewayProps = CfnVirtualGatewayProps.builder()
         .meshName("meshName")
         .spec(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())
         // the properties below are optional
         .meshOwner("meshOwner")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .virtualGatewayName("virtualGatewayName")
         .build();
 
  • Method Details

    • getMeshName

      @Stability(Stable) @NotNull String getMeshName()
      The name of the service mesh that the virtual gateway resides in.
    • getSpec

      @Stability(Stable) @NotNull Object getSpec()
      The specifications of the virtual gateway.
    • getMeshOwner

      @Stability(Stable) @Nullable default String getMeshOwner()
      The AWS IAM account ID of the service mesh owner.

      If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes .

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      Optional metadata that you can apply to the virtual gateway to assist with categorization and organization.

      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.

    • getVirtualGatewayName

      @Stability(Stable) @Nullable default String getVirtualGatewayName()
      The name of the virtual gateway.
    • builder

      @Stability(Stable) static CfnVirtualGatewayProps.Builder builder()
      Returns:
      a CfnVirtualGatewayProps.Builder of CfnVirtualGatewayProps