Class CfnCluster

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, IEnvironmentAware, IClusterRef, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.130.0 (build 048a5ee)", date="2026-05-21T17:27:40.539Z") @Stability(Stable) public class CfnCluster extends CfnResource implements IInspectable, IClusterRef, ITaggable
Creates a new MSK cluster.

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.msk.*;
 CfnCluster cfnCluster = CfnCluster.Builder.create(this, "MyCfnCluster")
         .brokerNodeGroupInfo(BrokerNodeGroupInfoProperty.builder()
                 .clientSubnets(List.of("clientSubnets"))
                 .instanceType("instanceType")
                 // the properties below are optional
                 .brokerAzDistribution("brokerAzDistribution")
                 .connectivityInfo(ConnectivityInfoProperty.builder()
                         .networkType("networkType")
                         .publicAccess(PublicAccessProperty.builder()
                                 .type("type")
                                 .build())
                         .vpcConnectivity(VpcConnectivityProperty.builder()
                                 .clientAuthentication(VpcConnectivityClientAuthenticationProperty.builder()
                                         .sasl(VpcConnectivitySaslProperty.builder()
                                                 .iam(VpcConnectivityIamProperty.builder()
                                                         .enabled(false)
                                                         .build())
                                                 .scram(VpcConnectivityScramProperty.builder()
                                                         .enabled(false)
                                                         .build())
                                                 .build())
                                         .tls(VpcConnectivityTlsProperty.builder()
                                                 .enabled(false)
                                                 .build())
                                         .build())
                                 .build())
                         .build())
                 .securityGroups(List.of("securityGroups"))
                 .storageInfo(StorageInfoProperty.builder()
                         .ebsStorageInfo(EBSStorageInfoProperty.builder()
                                 .provisionedThroughput(ProvisionedThroughputProperty.builder()
                                         .enabled(false)
                                         .volumeThroughput(123)
                                         .build())
                                 .volumeSize(123)
                                 .build())
                         .build())
                 .build())
         .clusterName("clusterName")
         .kafkaVersion("kafkaVersion")
         .numberOfBrokerNodes(123)
         // the properties below are optional
         .clientAuthentication(ClientAuthenticationProperty.builder()
                 .sasl(SaslProperty.builder()
                         .iam(IamProperty.builder()
                                 .enabled(false)
                                 .build())
                         .scram(ScramProperty.builder()
                                 .enabled(false)
                                 .build())
                         .build())
                 .tls(TlsProperty.builder()
                         .certificateAuthorityArnList(List.of("certificateAuthorityArnList"))
                         .enabled(false)
                         .build())
                 .unauthenticated(UnauthenticatedProperty.builder()
                         .enabled(false)
                         .build())
                 .build())
         .configurationInfo(ConfigurationInfoProperty.builder()
                 .arn("arn")
                 .revision(123)
                 .build())
         .currentVersion("currentVersion")
         .encryptionInfo(EncryptionInfoProperty.builder()
                 .encryptionAtRest(EncryptionAtRestProperty.builder()
                         .dataVolumeKmsKeyId("dataVolumeKmsKeyId")
                         .build())
                 .encryptionInTransit(EncryptionInTransitProperty.builder()
                         .clientBroker("clientBroker")
                         .inCluster(false)
                         .build())
                 .build())
         .enhancedMonitoring("enhancedMonitoring")
         .loggingInfo(LoggingInfoProperty.builder()
                 .brokerLogs(BrokerLogsProperty.builder()
                         .cloudWatchLogs(CloudWatchLogsProperty.builder()
                                 .enabled(false)
                                 // the properties below are optional
                                 .logGroup("logGroup")
                                 .build())
                         .firehose(FirehoseProperty.builder()
                                 .enabled(false)
                                 // the properties below are optional
                                 .deliveryStream("deliveryStream")
                                 .build())
                         .s3(S3Property.builder()
                                 .enabled(false)
                                 // the properties below are optional
                                 .bucket("bucket")
                                 .prefix("prefix")
                                 .build())
                         .build())
                 .build())
         .openMonitoring(OpenMonitoringProperty.builder()
                 .prometheus(PrometheusProperty.builder()
                         .jmxExporter(JmxExporterProperty.builder()
                                 .enabledInBroker(false)
                                 .build())
                         .nodeExporter(NodeExporterProperty.builder()
                                 .enabledInBroker(false)
                                 .build())
                         .build())
                 .build())
         .rebalancing(RebalancingProperty.builder()
                 .status("status")
                 .build())
         .storageMode("storageMode")
         .tags(Map.of(
                 "tagsKey", "tags"))
         .zookeeperAccess(ZookeeperAccessProperty.builder()
                 .enabled(false)
                 .build())
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnCluster

      protected CfnCluster(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnCluster

      protected CfnCluster(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnCluster

      @Stability(Stable) public CfnCluster(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnClusterProps props)
      Create a new AWS::MSK::Cluster.

      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • arnForCluster

      @Stability(Stable) @NotNull public static String arnForCluster(@NotNull IClusterRef resource)
      Parameters:
      resource - This parameter is required.
    • isCfnCluster

      @Stability(Stable) @NotNull public static Boolean isCfnCluster(@NotNull Object x)
      Checks whether the given object is a CfnCluster.

      Parameters:
      x - This parameter is required.
    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the MSK cluster.
    • getAttrCurrentVersion

      @Stability(Stable) @NotNull public String getAttrCurrentVersion()
      The current version of the MSK cluster.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getCfnPropertyNames

      @Stability(Stable) @NotNull protected Map<String,String> getCfnPropertyNames()
      Overrides:
      getCfnPropertyNames in class CfnResource
    • getClusterRef

      @Stability(Stable) @NotNull public ClusterReference getClusterRef()
      A reference to a Cluster resource.
      Specified by:
      getClusterRef in interface IClusterRef
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getBrokerNodeGroupInfo

      @Stability(Stable) @NotNull public Object getBrokerNodeGroupInfo()
      Information about the broker nodes in the cluster.

      Returns union: either IResolvable or CfnCluster.BrokerNodeGroupInfoProperty

    • setBrokerNodeGroupInfo

      @Stability(Stable) public void setBrokerNodeGroupInfo(@NotNull IResolvable value)
      Information about the broker nodes in the cluster.
    • setBrokerNodeGroupInfo

      @Stability(Stable) public void setBrokerNodeGroupInfo(@NotNull CfnCluster.BrokerNodeGroupInfoProperty value)
      Information about the broker nodes in the cluster.
    • getClusterName

      @Stability(Stable) @NotNull public String getClusterName()
      The name of the cluster.
    • setClusterName

      @Stability(Stable) public void setClusterName(@NotNull String value)
      The name of the cluster.
    • getKafkaVersion

      @Stability(Stable) @NotNull public String getKafkaVersion()
      The version of Apache Kafka.
    • setKafkaVersion

      @Stability(Stable) public void setKafkaVersion(@NotNull String value)
      The version of Apache Kafka.
    • getNumberOfBrokerNodes

      @Stability(Stable) @NotNull public Number getNumberOfBrokerNodes()
      The number of broker nodes in the cluster.
    • setNumberOfBrokerNodes

      @Stability(Stable) public void setNumberOfBrokerNodes(@NotNull Number value)
      The number of broker nodes in the cluster.
    • getClientAuthentication

      @Stability(Stable) @Nullable public Object getClientAuthentication()
      Includes all client authentication related information.

      Returns union: either IResolvable or CfnCluster.ClientAuthenticationProperty

    • setClientAuthentication

      @Stability(Stable) public void setClientAuthentication(@Nullable IResolvable value)
      Includes all client authentication related information.
    • setClientAuthentication

      @Stability(Stable) public void setClientAuthentication(@Nullable CfnCluster.ClientAuthenticationProperty value)
      Includes all client authentication related information.
    • getConfigurationInfo

      @Stability(Stable) @Nullable public Object getConfigurationInfo()
      Represents the configuration that you want MSK to use for the cluster.

      Returns union: either IResolvable or CfnCluster.ConfigurationInfoProperty

    • setConfigurationInfo

      @Stability(Stable) public void setConfigurationInfo(@Nullable IResolvable value)
      Represents the configuration that you want MSK to use for the cluster.
    • setConfigurationInfo

      @Stability(Stable) public void setConfigurationInfo(@Nullable CfnCluster.ConfigurationInfoProperty value)
      Represents the configuration that you want MSK to use for the cluster.
    • getCurrentVersion

      @Stability(Stable) @Nullable public String getCurrentVersion()
    • setCurrentVersion

      @Stability(Stable) public void setCurrentVersion(@Nullable String value)
    • getEncryptionInfo

      @Stability(Stable) @Nullable public Object getEncryptionInfo()
      Includes all encryption-related information.

      Returns union: either IResolvable or CfnCluster.EncryptionInfoProperty

    • setEncryptionInfo

      @Stability(Stable) public void setEncryptionInfo(@Nullable IResolvable value)
      Includes all encryption-related information.
    • setEncryptionInfo

      @Stability(Stable) public void setEncryptionInfo(@Nullable CfnCluster.EncryptionInfoProperty value)
      Includes all encryption-related information.
    • getEnhancedMonitoring

      @Stability(Stable) @Nullable public String getEnhancedMonitoring()
      Specifies the level of monitoring for the MSK cluster.
    • setEnhancedMonitoring

      @Stability(Stable) public void setEnhancedMonitoring(@Nullable String value)
      Specifies the level of monitoring for the MSK cluster.
    • getLoggingInfo

      @Stability(Stable) @Nullable public Object getLoggingInfo()
      Logging info details for the cluster.

      Returns union: either IResolvable or CfnCluster.LoggingInfoProperty

    • setLoggingInfo

      @Stability(Stable) public void setLoggingInfo(@Nullable IResolvable value)
      Logging info details for the cluster.
    • setLoggingInfo

      @Stability(Stable) public void setLoggingInfo(@Nullable CfnCluster.LoggingInfoProperty value)
      Logging info details for the cluster.
    • getOpenMonitoring

      @Stability(Stable) @Nullable public Object getOpenMonitoring()
      The settings for open monitoring.

      Returns union: either IResolvable or CfnCluster.OpenMonitoringProperty

    • setOpenMonitoring

      @Stability(Stable) public void setOpenMonitoring(@Nullable IResolvable value)
      The settings for open monitoring.
    • setOpenMonitoring

      @Stability(Stable) public void setOpenMonitoring(@Nullable CfnCluster.OpenMonitoringProperty value)
      The settings for open monitoring.
    • getRebalancing

      @Stability(Stable) @Nullable public Object getRebalancing()
    • setRebalancing

      @Stability(Stable) public void setRebalancing(@Nullable IResolvable value)
    • setRebalancing

      @Stability(Stable) public void setRebalancing(@Nullable CfnCluster.RebalancingProperty value)
    • getStorageMode

      @Stability(Stable) @Nullable public String getStorageMode()
      This controls storage mode for supported storage tiers.
    • setStorageMode

      @Stability(Stable) public void setStorageMode(@Nullable String value)
      This controls storage mode for supported storage tiers.
    • getTagsRaw

      @Stability(Stable) @Nullable public Map<String,String> getTagsRaw()
      An arbitrary set of tags (key-value pairs) for the cluster.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable Map<String,String> value)
      An arbitrary set of tags (key-value pairs) for the cluster.
    • getZookeeperAccess

      @Stability(Stable) @Nullable public Object getZookeeperAccess()
    • setZookeeperAccess

      @Stability(Stable) public void setZookeeperAccess(@Nullable IResolvable value)
    • setZookeeperAccess

      @Stability(Stable) public void setZookeeperAccess(@Nullable CfnCluster.ZookeeperAccessProperty value)