Class Cluster.Builder

java.lang.Object
software.amazon.awscdk.services.msk.alpha.Cluster.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<Cluster>
Enclosing class:
Cluster

@Stability(Experimental) public static final class Cluster.Builder extends Object implements software.amazon.jsii.Builder<Cluster>
(experimental) A fluent builder for Cluster.
  • Method Details

    • create

      @Stability(Experimental) public static Cluster.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of Cluster.Builder.
    • clusterName

      @Stability(Experimental) public Cluster.Builder clusterName(String clusterName)
      (experimental) The physical name of the cluster.

      Parameters:
      clusterName - The physical name of the cluster. This parameter is required.
      Returns:
      this
    • kafkaVersion

      @Stability(Experimental) public Cluster.Builder kafkaVersion(KafkaVersion kafkaVersion)
      (experimental) The version of Apache Kafka.

      Parameters:
      kafkaVersion - The version of Apache Kafka. This parameter is required.
      Returns:
      this
    • vpc

      @Stability(Experimental) public Cluster.Builder vpc(IVpc vpc)
      (experimental) Defines the virtual networking environment for this cluster.

      Must have at least 2 subnets in two different AZs.

      Parameters:
      vpc - Defines the virtual networking environment for this cluster. This parameter is required.
      Returns:
      this
    • clientAuthentication

      @Stability(Experimental) public Cluster.Builder clientAuthentication(ClientAuthentication clientAuthentication)
      (experimental) Configuration properties for client authentication.

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

      Default: - disabled

      Parameters:
      clientAuthentication - Configuration properties for client authentication. This parameter is required.
      Returns:
      this
    • configurationInfo

      @Stability(Experimental) public Cluster.Builder configurationInfo(ClusterConfigurationInfo configurationInfo)
      (experimental) The Amazon MSK configuration to use for the cluster.

      Default: - none

      Parameters:
      configurationInfo - The Amazon MSK configuration to use for the cluster. This parameter is required.
      Returns:
      this
    • ebsStorageInfo

      @Stability(Experimental) public Cluster.Builder ebsStorageInfo(EbsStorageInfo ebsStorageInfo)
      (experimental) Information about storage volumes attached to MSK broker nodes.

      Default: - 1000 GiB EBS volume

      Parameters:
      ebsStorageInfo - Information about storage volumes attached to MSK broker nodes. This parameter is required.
      Returns:
      this
    • encryptionInTransit

      @Stability(Experimental) public Cluster.Builder encryptionInTransit(EncryptionInTransitConfig encryptionInTransit)
      (experimental) Config details for encryption in transit.

      Default: - enabled

      Parameters:
      encryptionInTransit - Config details for encryption in transit. This parameter is required.
      Returns:
      this
    • instanceType

      @Stability(Experimental) public Cluster.Builder instanceType(InstanceType instanceType)
      (experimental) The EC2 instance type that you want Amazon MSK to use when it creates your brokers.

      Default: kafka.m5.large

      Parameters:
      instanceType - The EC2 instance type that you want Amazon MSK to use when it creates your brokers. This parameter is required.
      Returns:
      this
      See Also:
    • logging

      @Stability(Experimental) public Cluster.Builder logging(BrokerLogging logging)
      (experimental) Configure your MSK cluster to send broker logs to different destination types.

      Default: - disabled

      Parameters:
      logging - Configure your MSK cluster to send broker logs to different destination types. This parameter is required.
      Returns:
      this
    • monitoring

      @Stability(Experimental) public Cluster.Builder monitoring(MonitoringConfiguration monitoring)
      (experimental) Cluster monitoring configuration.

      Default: - DEFAULT monitoring level

      Parameters:
      monitoring - Cluster monitoring configuration. This parameter is required.
      Returns:
      this
    • numberOfBrokerNodes

      @Stability(Experimental) public Cluster.Builder numberOfBrokerNodes(Number numberOfBrokerNodes)
      (experimental) Number of Apache Kafka brokers deployed in each Availability Zone.

      Default: 1

      Parameters:
      numberOfBrokerNodes - Number of Apache Kafka brokers deployed in each Availability Zone. This parameter is required.
      Returns:
      this
    • removalPolicy

      @Stability(Experimental) public Cluster.Builder removalPolicy(RemovalPolicy removalPolicy)
      (experimental) What to do when this resource is deleted from a stack.

      Default: RemovalPolicy.RETAIN

      Parameters:
      removalPolicy - What to do when this resource is deleted from a stack. This parameter is required.
      Returns:
      this
    • securityGroups

      @Stability(Experimental) public Cluster.Builder securityGroups(List<? extends ISecurityGroup> securityGroups)
      (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

      Parameters:
      securityGroups - 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. This parameter is required.
      Returns:
      this
    • storageMode

      @Stability(Experimental) public Cluster.Builder storageMode(StorageMode storageMode)
      (experimental) This controls storage mode for supported storage tiers.

      Default: - StorageMode.LOCAL

      Parameters:
      storageMode - This controls storage mode for supported storage tiers. This parameter is required.
      Returns:
      this
      See Also:
    • vpcSubnets

      @Stability(Experimental) public Cluster.Builder vpcSubnets(SubnetSelection vpcSubnets)
      (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.

      Parameters:
      vpcSubnets - Where to place the nodes within the VPC. This parameter is required.
      Returns:
      this
    • build

      @Stability(Experimental) public Cluster build()
      Specified by:
      build in interface software.amazon.jsii.Builder<Cluster>
      Returns:
      a newly built instance of Cluster.