Interface ClusterProps

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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:42.705Z") @Stability(Experimental) public interface ClusterProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for a MSK Cluster.

Example:

 Vpc vpc;
 Cluster cluster = Cluster.Builder.create(this, "cluster")
         .clusterName("myCluster")
         .kafkaVersion(KafkaVersion.V2_8_1)
         .vpc(vpc)
         .encryptionInTransit(EncryptionInTransitConfig.builder()
                 .clientBroker(ClientBrokerEncryption.TLS)
                 .build())
         .clientAuthentication(ClientAuthentication.sasl(SaslAuthProps.builder()
                 .scram(true)
                 .build()))
         .build();
 
  • Method Details

    • getClusterName

      @Stability(Experimental) @NotNull String getClusterName()
      (experimental) The physical name of the cluster.
    • getKafkaVersion

      @Stability(Experimental) @NotNull KafkaVersion getKafkaVersion()
      (experimental) The version of Apache Kafka.
    • getVpc

      @Stability(Experimental) @NotNull IVpc getVpc()
      (experimental) Defines the virtual networking environment for this cluster.

      Must have at least 2 subnets in two different AZs.

    • getClientAuthentication

      @Stability(Experimental) @Nullable default ClientAuthentication getClientAuthentication()
      (experimental) Configuration properties for client authentication.

      MSK supports using private TLS certificates or SASL/SCRAM to authenticate the identity of clients.

      Default: - disabled

    • getConfigurationInfo

      @Stability(Experimental) @Nullable default ClusterConfigurationInfo getConfigurationInfo()
      (experimental) The Amazon MSK configuration to use for the cluster.

      Default: - none

    • getEbsStorageInfo

      @Stability(Experimental) @Nullable default EbsStorageInfo getEbsStorageInfo()
      (experimental) Information about storage volumes attached to MSK broker nodes.

      Default: - 1000 GiB EBS volume

    • getEncryptionInTransit

      @Stability(Experimental) @Nullable default EncryptionInTransitConfig getEncryptionInTransit()
      (experimental) Config details for encryption in transit.

      Default: - enabled

    • getInstanceType

      @Stability(Experimental) @Nullable default InstanceType getInstanceType()
      (experimental) The EC2 instance type that you want Amazon MSK to use when it creates your brokers.

      Default: kafka.m5.large

      See Also:
    • getLogging

      @Stability(Experimental) @Nullable default BrokerLogging getLogging()
      (experimental) Configure your MSK cluster to send broker logs to different destination types.

      Default: - disabled

    • getMonitoring

      @Stability(Experimental) @Nullable default MonitoringConfiguration getMonitoring()
      (experimental) Cluster monitoring configuration.

      Default: - DEFAULT monitoring level

    • getNumberOfBrokerNodes

      @Stability(Experimental) @Nullable default Number getNumberOfBrokerNodes()
      (experimental) Number of Apache Kafka brokers deployed in each Availability Zone.

      Default: 1

    • getRemovalPolicy

      @Stability(Experimental) @Nullable default RemovalPolicy getRemovalPolicy()
      (experimental) What to do when this resource is deleted from a stack.

      Default: RemovalPolicy.RETAIN

    • getSecurityGroups

      @Stability(Experimental) @Nullable default List<ISecurityGroup> getSecurityGroups()
      (experimental) The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.

      Default: - create new security group

    • getVpcSubnets

      @Stability(Experimental) @Nullable default SubnetSelection getVpcSubnets()
      (experimental) Where to place the nodes within the VPC.

      Amazon MSK distributes the broker nodes evenly across the subnets that you specify. The subnets that you specify must be in distinct Availability Zones. Client subnets can't be in Availability Zone us-east-1e.

      Default: - the Vpc default strategy if not specified.

    • builder

      @Stability(Experimental) static ClusterProps.Builder builder()
      Returns:
      a ClusterProps.Builder of ClusterProps