Class Cluster


  • public class Cluster
    extends com.pulumi.resources.CustomResource
    Manages an Amazon MSK cluster. > **Note:** This resource manages _provisioned_ clusters. To manage a _serverless_ Amazon MSK cluster, use the `aws.msk.ServerlessCluster` resource. ## Example Usage ### Basic
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.ec2.Vpc;
     import com.pulumi.aws.ec2.VpcArgs;
     import com.pulumi.aws.AwsFunctions;
     import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
     import com.pulumi.aws.ec2.Subnet;
     import com.pulumi.aws.ec2.SubnetArgs;
     import com.pulumi.aws.ec2.SecurityGroup;
     import com.pulumi.aws.ec2.SecurityGroupArgs;
     import com.pulumi.aws.kms.Key;
     import com.pulumi.aws.kms.KeyArgs;
     import com.pulumi.aws.cloudwatch.LogGroup;
     import com.pulumi.aws.cloudwatch.LogGroupArgs;
     import com.pulumi.aws.s3.Bucket;
     import com.pulumi.aws.s3.BucketArgs;
     import com.pulumi.aws.s3.BucketAcl;
     import com.pulumi.aws.s3.BucketAclArgs;
     import com.pulumi.aws.iam.IamFunctions;
     import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
     import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs;
     import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs;
     import com.pulumi.aws.iam.Role;
     import com.pulumi.aws.iam.RoleArgs;
     import com.pulumi.aws.kinesis.FirehoseDeliveryStream;
     import com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;
     import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;
     import com.pulumi.aws.msk.Cluster;
     import com.pulumi.aws.msk.ClusterArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterEncryptionInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterOpenMonitoringArgs;
     import com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusArgs;
     import com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusJmxExporterArgs;
     import com.pulumi.aws.msk.inputs.ClusterOpenMonitoringPrometheusNodeExporterArgs;
     import com.pulumi.aws.msk.inputs.ClusterLoggingInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsArgs;
     import com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs;
     import com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsFirehoseArgs;
     import com.pulumi.aws.msk.inputs.ClusterLoggingInfoBrokerLogsS3Args;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var vpc = new Vpc("vpc", VpcArgs.builder()
                 .cidrBlock("192.168.0.0/22")
                 .build());
     
             final var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
                 .state("available")
                 .build());
     
             var subnetAz1 = new Subnet("subnetAz1", SubnetArgs.builder()
                 .availabilityZone(azs.names()[0])
                 .cidrBlock("192.168.0.0/24")
                 .vpcId(vpc.id())
                 .build());
     
             var subnetAz2 = new Subnet("subnetAz2", SubnetArgs.builder()
                 .availabilityZone(azs.names()[1])
                 .cidrBlock("192.168.1.0/24")
                 .vpcId(vpc.id())
                 .build());
     
             var subnetAz3 = new Subnet("subnetAz3", SubnetArgs.builder()
                 .availabilityZone(azs.names()[2])
                 .cidrBlock("192.168.2.0/24")
                 .vpcId(vpc.id())
                 .build());
     
             var sg = new SecurityGroup("sg", SecurityGroupArgs.builder()
                 .vpcId(vpc.id())
                 .build());
     
             var kms = new Key("kms", KeyArgs.builder()
                 .description("example")
                 .build());
     
             var test = new LogGroup("test", LogGroupArgs.builder()
                 .name("msk_broker_logs")
                 .build());
     
             var bucket = new Bucket("bucket", BucketArgs.builder()
                 .bucket("msk-broker-logs-bucket")
                 .build());
     
             var bucketAcl = new BucketAcl("bucketAcl", BucketAclArgs.builder()
                 .bucket(bucket.id())
                 .acl("private")
                 .build());
     
             final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
                 .statements(GetPolicyDocumentStatementArgs.builder()
                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                         .type("Service")
                         .identifiers("firehose.amazonaws.com")
                         .build())
                     .effect("Allow")
                     .actions("sts:AssumeRole")
                     .build())
                 .build());
     
             var firehoseRole = new Role("firehoseRole", RoleArgs.builder()
                 .name("firehose_test_role")
                 .assumeRolePolicy(assumeRole.json())
                 .build());
     
             var testStream = new FirehoseDeliveryStream("testStream", FirehoseDeliveryStreamArgs.builder()
                 .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()
                     .roleArn(firehoseRole.arn())
                     .bucketArn(bucket.arn())
                     .build())
                 .name("kinesis-firehose-msk-broker-logs-stream")
                 .destination("extended_s3")
                 .tags(Map.of("LogDeliveryEnabled", "placeholder"))
                 .build(), CustomResourceOptions.builder()
                     .ignoreChanges("tags[\"LogDeliveryEnabled\"]")
                     .build());
     
             var example = new Cluster("example", ClusterArgs.builder()
                 .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()
                     .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()
                         .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()
                             .volumeSize(1000)
                             .build())
                         .build())
                     .instanceType("kafka.m5.large")
                     .clientSubnets(                
                         subnetAz1.id(),
                         subnetAz2.id(),
                         subnetAz3.id())
                     .securityGroups(sg.id())
                     .build())
                 .encryptionInfo(ClusterEncryptionInfoArgs.builder()
                     .encryptionAtRestKmsKeyArn(kms.arn())
                     .build())
                 .openMonitoring(ClusterOpenMonitoringArgs.builder()
                     .prometheus(ClusterOpenMonitoringPrometheusArgs.builder()
                         .jmxExporter(ClusterOpenMonitoringPrometheusJmxExporterArgs.builder()
                             .enabledInBroker(true)
                             .build())
                         .nodeExporter(ClusterOpenMonitoringPrometheusNodeExporterArgs.builder()
                             .enabledInBroker(true)
                             .build())
                         .build())
                     .build())
                 .loggingInfo(ClusterLoggingInfoArgs.builder()
                     .brokerLogs(ClusterLoggingInfoBrokerLogsArgs.builder()
                         .cloudwatchLogs(ClusterLoggingInfoBrokerLogsCloudwatchLogsArgs.builder()
                             .enabled(true)
                             .logGroup(test.name())
                             .build())
                         .firehose(ClusterLoggingInfoBrokerLogsFirehoseArgs.builder()
                             .enabled(true)
                             .deliveryStream(testStream.name())
                             .build())
                         .s3(ClusterLoggingInfoBrokerLogsS3Args.builder()
                             .enabled(true)
                             .bucket(bucket.id())
                             .prefix("logs/msk-")
                             .build())
                         .build())
                     .build())
                 .clusterName("example")
                 .kafkaVersion("3.8.x")
                 .numberOfBrokerNodes(3)
                 .tags(Map.of("foo", "bar"))
                 .build());
     
             ctx.export("zookeeperConnectString", example.zookeeperConnectString());
             ctx.export("bootstrapBrokersTls", example.bootstrapBrokersTls());
         }
     }
     
     
    ### With volumeThroughput argument
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.msk.Cluster;
     import com.pulumi.aws.msk.ClusterArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs;
     import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new Cluster("example", ClusterArgs.builder()
                 .brokerNodeGroupInfo(ClusterBrokerNodeGroupInfoArgs.builder()
                     .storageInfo(ClusterBrokerNodeGroupInfoStorageInfoArgs.builder()
                         .ebsStorageInfo(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoArgs.builder()
                             .provisionedThroughput(ClusterBrokerNodeGroupInfoStorageInfoEbsStorageInfoProvisionedThroughputArgs.builder()
                                 .enabled(true)
                                 .volumeThroughput(250)
                                 .build())
                             .volumeSize(1000)
                             .build())
                         .build())
                     .instanceType("kafka.m5.4xlarge")
                     .clientSubnets(                
                         subnetAz1.id(),
                         subnetAz2.id(),
                         subnetAz3.id())
                     .securityGroups(sg.id())
                     .build())
                 .clusterName("example")
                 .kafkaVersion("3.8.x")
                 .numberOfBrokerNodes(3)
                 .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required - `arn` (String) ARN of the MSK cluster. Using `pulumi import`, import MSK cluster using the cluster ARN. For example: ```sh $ pulumi import aws:msk/cluster:Cluster example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 ```
    • Constructor Detail

      • Cluster

        public Cluster​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • Cluster

        public Cluster​(java.lang.String name,
                       ClusterArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • Cluster

        public Cluster​(java.lang.String name,
                       ClusterArgs args,
                       @Nullable
                       com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the MSK cluster.
      • bootstrapBrokers

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokers()
        Returns:
        Comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Contains a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `PLAINTEXT` or `TLS_PLAINTEXT`. The resource sorts values alphabetically. AWS may not always return all endpoints so this value is not guaranteed to be stable across applies.
      • bootstrapBrokersIpv6

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersIpv6()
        Returns:
        One or more IPv6 DNS names (or IP addresses) and plaintext port pairs. For example, `2001:db8:1234:1a00:*:80,2001:db8:1234:1a02:*:80,2001:db8:1234:1a04:*:80`. This attribute will have a value if the cluster is configured with `broker_node_group_info.0.connectivity_info.0.network_type` set to `DUAL` and `encryption_info.0.encryption_in_transit.0.client_broker` is set to `PLAINTEXT` or `TLS_PLAINTEXT`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersPublicSaslIam

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersPublicSaslIam()
        Returns:
        One or more DNS names (or IP addresses) and SASL IAM port pairs. For example, `b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.iam` is set to `true` and `broker_node_group_info.0.connectivity_info.0.public_access.0.type` is set to `SERVICE_PROVIDED_EIPS` and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersPublicSaslScram

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersPublicSaslScram()
        Returns:
        One or more DNS names (or IP addresses) and SASL SCRAM port pairs. For example, `b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.scram` is set to `true` and `broker_node_group_info.0.connectivity_info.0.public_access.0.type` is set to `SERVICE_PROVIDED_EIPS` and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersPublicTls

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersPublicTls()
        Returns:
        One or more DNS names (or IP addresses) and TLS port pairs. For example, `b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `broker_node_group_info.0.connectivity_info.0.public_access.0.type` is set to `SERVICE_PROVIDED_EIPS` and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersSaslIam

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersSaslIam()
        Returns:
        One or more DNS names (or IP addresses) and SASL IAM port pairs. For example, `b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.iam` is set to `true`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersSaslIamIpv6

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersSaslIamIpv6()
        Returns:
        One or more IPv6 DNS names (or IP addresses) and SASL IAM port pairs. This attribute will have a value if the cluster is configured with `broker_node_group_info.0.connectivity_info.0.network_type` set to `DUAL` and `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.iam` is set to `true`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersSaslScram

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersSaslScram()
        Returns:
        One or more DNS names (or IP addresses) and SASL SCRAM port pairs. For example, `b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.scram` is set to `true`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersSaslScramIpv6

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersSaslScramIpv6()
        Returns:
        One or more IPv6 DNS names (or IP addresses) and SASL SCRAM port pairs. This attribute will have a value if the cluster is configured with `broker_node_group_info.0.connectivity_info.0.network_type` set to `DUAL` and `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication.0.sasl.0.scram` is set to `true`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersTls

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersTls()
        Returns:
        One or more DNS names (or IP addresses) and TLS port pairs. For example, `b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094`. This attribute will have a value if `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersTlsIpv6

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersTlsIpv6()
        Returns:
        One or more IPv6 DNS names (or IP addresses) and TLS port pairs. This attribute will have a value if the cluster is configured with `broker_node_group_info.0.connectivity_info.0.network_type` set to `DUAL` and `encryption_info.0.encryption_in_transit.0.client_broker` is set to `TLS_PLAINTEXT` or `TLS`. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersVpcConnectivitySaslIam

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersVpcConnectivitySaslIam()
        Returns:
        One or more DNS names (or IP addresses) and SASL IAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersVpcConnectivitySaslScram

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersVpcConnectivitySaslScram()
        Returns:
        One or more DNS names (or IP addresses) and SASL SCRAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies.
      • bootstrapBrokersVpcConnectivityTls

        public com.pulumi.core.Output<java.lang.String> bootstrapBrokersVpcConnectivityTls()
        Returns:
        One or more DNS names (or IP addresses) and TLS port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies.
      • brokerNodeGroupInfo

        public com.pulumi.core.Output<ClusterBrokerNodeGroupInfo> brokerNodeGroupInfo()
        Returns:
        Configuration block for the broker nodes of the Kafka cluster. See `brokerNodeGroupInfo` Block below.
      • clientAuthentication

        public com.pulumi.core.Output<java.util.Optional<ClusterClientAuthentication>> clientAuthentication()
        Returns:
        Configuration block for specifying a client authentication. See `clientAuthentication` Block below.
      • clusterName

        public com.pulumi.core.Output<java.lang.String> clusterName()
        Returns:
        Name of the MSK cluster.
      • clusterUuid

        public com.pulumi.core.Output<java.lang.String> clusterUuid()
        Returns:
        UUID of the MSK cluster, for use in IAM policies.
      • configurationInfo

        public com.pulumi.core.Output<java.util.Optional<ClusterConfigurationInfo>> configurationInfo()
        Returns:
        Configuration block for specifying an MSK Configuration to attach to Kafka brokers. See `configurationInfo` Block below.
      • currentVersion

        public com.pulumi.core.Output<java.lang.String> currentVersion()
        Returns:
        Current version of the MSK Cluster used for updates, e.g., `K13V1IB3VIYZZH`
      • customerActionStatus

        public com.pulumi.core.Output<java.lang.String> customerActionStatus()
        Returns:
        Status indicating whether Amazon MSK requires customer action for the cluster. Valid values are `NONE`, `ACTION_RECOMMENDED`, and `CRITICAL_ACTION_REQUIRED`.
      • encryptionInfo

        public com.pulumi.core.Output<java.util.Optional<ClusterEncryptionInfo>> encryptionInfo()
        Returns:
        Configuration block for specifying encryption. See `encryptionInfo` Block below.
      • enhancedMonitoring

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> enhancedMonitoring()
        Returns:
        Desired enhanced MSK CloudWatch monitoring level. See [Monitoring Amazon MSK with Amazon CloudWatch](https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html).
      • kafkaVersion

        public com.pulumi.core.Output<java.lang.String> kafkaVersion()
        Returns:
        Desired Kafka software version.
      • loggingInfo

        public com.pulumi.core.Output<java.util.Optional<ClusterLoggingInfo>> loggingInfo()
        Returns:
        Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See `loggingInfo` Block below.
      • numberOfBrokerNodes

        public com.pulumi.core.Output<java.lang.Integer> numberOfBrokerNodes()
        Returns:
        Desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets.
      • openMonitoring

        public com.pulumi.core.Output<java.util.Optional<ClusterOpenMonitoring>> openMonitoring()
        Returns:
        Configuration block for JMX and Node monitoring for the MSK cluster. See `openMonitoring` Block below.
      • rebalancing

        public com.pulumi.core.Output<ClusterRebalancing> rebalancing()
        Returns:
        Configuration block for intelligent rebalancing. See `rebalancing` Block below. Only applicable to MSK Provisioned clusters with Express brokers.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • storageMode

        public com.pulumi.core.Output<java.lang.String> storageMode()
        Returns:
        Controls storage mode for supported storage tiers. Valid values are: `LOCAL` or `TIERED`.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • zookeeperConnectString

        public com.pulumi.core.Output<java.lang.String> zookeeperConnectString()
        Returns:
        Comma separated list of one or more hostname:port pairs to use to connect to the Apache Zookeeper cluster. The returned values are sorted alphabetically. The AWS API may not return all endpoints, so this value is not guaranteed to be stable across applies.
      • zookeeperConnectStringTls

        public com.pulumi.core.Output<java.lang.String> zookeeperConnectStringTls()
        Returns:
        Comma separated list of one or more hostname:port pairs to use to connect to the Apache Zookeeper cluster via TLS. The returned values are sorted alphabetically. The AWS API may not return all endpoints, so this value is not guaranteed to be stable across applies.
      • get

        public static Cluster get​(java.lang.String name,
                                  com.pulumi.core.Output<java.lang.String> id,
                                  @Nullable
                                  ClusterState state,
                                  @Nullable
                                  com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.