

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::MSK::Cluster
<a name="aws-resource-msk-cluster"></a>

Creates a new MSK cluster. 

## Syntax
<a name="aws-resource-msk-cluster-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-msk-cluster-syntax.json"></a>

```
{
  "Type" : "AWS::MSK::Cluster",
  "Properties" : {
      "[BrokerNodeGroupInfo](#cfn-msk-cluster-brokernodegroupinfo)" : BrokerNodeGroupInfo,
      "[ClientAuthentication](#cfn-msk-cluster-clientauthentication)" : ClientAuthentication,
      "[ClusterName](#cfn-msk-cluster-clustername)" : String,
      "[ConfigurationInfo](#cfn-msk-cluster-configurationinfo)" : ConfigurationInfo,
      "[EncryptionInfo](#cfn-msk-cluster-encryptioninfo)" : EncryptionInfo,
      "[EnhancedMonitoring](#cfn-msk-cluster-enhancedmonitoring)" : String,
      "[KafkaVersion](#cfn-msk-cluster-kafkaversion)" : String,
      "[LoggingInfo](#cfn-msk-cluster-logginginfo)" : LoggingInfo,
      "[NumberOfBrokerNodes](#cfn-msk-cluster-numberofbrokernodes)" : Integer,
      "[OpenMonitoring](#cfn-msk-cluster-openmonitoring)" : OpenMonitoring,
      "[Rebalancing](#cfn-msk-cluster-rebalancing)" : Rebalancing,
      "[StorageMode](#cfn-msk-cluster-storagemode)" : String,
      "[Tags](#cfn-msk-cluster-tags)" : {Key: Value, ...}
    }
}
```

### YAML
<a name="aws-resource-msk-cluster-syntax.yaml"></a>

```
Type: AWS::MSK::Cluster
Properties:
  [BrokerNodeGroupInfo](#cfn-msk-cluster-brokernodegroupinfo): 
    BrokerNodeGroupInfo
  [ClientAuthentication](#cfn-msk-cluster-clientauthentication): 
    ClientAuthentication
  [ClusterName](#cfn-msk-cluster-clustername): String
  [ConfigurationInfo](#cfn-msk-cluster-configurationinfo): 
    ConfigurationInfo
  [EncryptionInfo](#cfn-msk-cluster-encryptioninfo): 
    EncryptionInfo
  [EnhancedMonitoring](#cfn-msk-cluster-enhancedmonitoring): String
  [KafkaVersion](#cfn-msk-cluster-kafkaversion): String
  [LoggingInfo](#cfn-msk-cluster-logginginfo): 
    LoggingInfo
  [NumberOfBrokerNodes](#cfn-msk-cluster-numberofbrokernodes): Integer
  [OpenMonitoring](#cfn-msk-cluster-openmonitoring): 
    OpenMonitoring
  [Rebalancing](#cfn-msk-cluster-rebalancing): 
    Rebalancing
  [StorageMode](#cfn-msk-cluster-storagemode): String
  [Tags](#cfn-msk-cluster-tags): 
    Key: Value
```

## Properties
<a name="aws-resource-msk-cluster-properties"></a>

`BrokerNodeGroupInfo`  <a name="cfn-msk-cluster-brokernodegroupinfo"></a>
Information about the broker nodes in the cluster.  
*Required*: Yes  
*Type*: [BrokerNodeGroupInfo](aws-properties-msk-cluster-brokernodegroupinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClientAuthentication`  <a name="cfn-msk-cluster-clientauthentication"></a>
Includes all client authentication related information.  
*Required*: No  
*Type*: [ClientAuthentication](aws-properties-msk-cluster-clientauthentication.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClusterName`  <a name="cfn-msk-cluster-clustername"></a>
The name of the cluster.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConfigurationInfo`  <a name="cfn-msk-cluster-configurationinfo"></a>
Represents the configuration that you want MSK to use for the cluster.  
*Required*: No  
*Type*: [ConfigurationInfo](aws-properties-msk-cluster-configurationinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EncryptionInfo`  <a name="cfn-msk-cluster-encryptioninfo"></a>
Includes all encryption-related information.  
*Required*: No  
*Type*: [EncryptionInfo](aws-properties-msk-cluster-encryptioninfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnhancedMonitoring`  <a name="cfn-msk-cluster-enhancedmonitoring"></a>
Specifies the level of monitoring for the MSK cluster.  
*Required*: No  
*Type*: String  
*Allowed values*: `DEFAULT | PER_BROKER | PER_TOPIC_PER_BROKER | PER_TOPIC_PER_PARTITION`  
*Minimum*: `7`  
*Maximum*: `23`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KafkaVersion`  <a name="cfn-msk-cluster-kafkaversion"></a>
The version of Apache Kafka. You can use Amazon MSK to create clusters that use [supported Apache Kafka versions](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html).  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LoggingInfo`  <a name="cfn-msk-cluster-logginginfo"></a>
Logging info details for the cluster.  
*Required*: No  
*Type*: [LoggingInfo](aws-properties-msk-cluster-logginginfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NumberOfBrokerNodes`  <a name="cfn-msk-cluster-numberofbrokernodes"></a>
The number of broker nodes in the cluster.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OpenMonitoring`  <a name="cfn-msk-cluster-openmonitoring"></a>
The settings for open monitoring.  
*Required*: No  
*Type*: [OpenMonitoring](aws-properties-msk-cluster-openmonitoring.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Rebalancing`  <a name="cfn-msk-cluster-rebalancing"></a>
Property description not available.  
*Required*: No  
*Type*: [Rebalancing](aws-properties-msk-cluster-rebalancing.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StorageMode`  <a name="cfn-msk-cluster-storagemode"></a>
This controls storage mode for supported storage tiers.  
*Required*: No  
*Type*: String  
*Allowed values*: `LOCAL | TIERED`  
*Minimum*: `5`  
*Maximum*: `6`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-msk-cluster-tags"></a>
An arbitrary set of tags (key-value pairs) for the cluster.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-msk-cluster-return-values"></a>

### Ref
<a name="aws-resource-msk-cluster-return-values-ref"></a>

When you provide the logical ID of this resource to the `Ref` intrinsic function, `Ref` returns the ARN of the created MSK cluster. For example, `arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/abcd1234-abcd-dcba-4321-a1b2abcd9f9f-2`.

### Fn::GetAtt
<a name="aws-resource-msk-cluster-return-values-fn--getatt"></a>

`Fn::GetAtt` returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

#### 
<a name="aws-resource-msk-cluster-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the MSK cluster.

`CurrentVersion`  <a name="CurrentVersion-fn::getatt"></a>
Property description not available.

# AWS::MSK::Cluster BrokerLogs
<a name="aws-properties-msk-cluster-brokerlogs"></a>

The broker logs configuration for this MSK cluster.

## Syntax
<a name="aws-properties-msk-cluster-brokerlogs-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-brokerlogs-syntax.json"></a>

```
{
  "[CloudWatchLogs](#cfn-msk-cluster-brokerlogs-cloudwatchlogs)" : CloudWatchLogs,
  "[Firehose](#cfn-msk-cluster-brokerlogs-firehose)" : Firehose,
  "[S3](#cfn-msk-cluster-brokerlogs-s3)" : S3
}
```

### YAML
<a name="aws-properties-msk-cluster-brokerlogs-syntax.yaml"></a>

```
  [CloudWatchLogs](#cfn-msk-cluster-brokerlogs-cloudwatchlogs): 
    CloudWatchLogs
  [Firehose](#cfn-msk-cluster-brokerlogs-firehose): 
    Firehose
  [S3](#cfn-msk-cluster-brokerlogs-s3): 
    S3
```

## Properties
<a name="aws-properties-msk-cluster-brokerlogs-properties"></a>

`CloudWatchLogs`  <a name="cfn-msk-cluster-brokerlogs-cloudwatchlogs"></a>
Property description not available.  
*Required*: No  
*Type*: [CloudWatchLogs](aws-properties-msk-cluster-cloudwatchlogs.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Firehose`  <a name="cfn-msk-cluster-brokerlogs-firehose"></a>
Details of the Kinesis Data Firehose delivery stream that is the destination for broker logs.  
*Required*: No  
*Type*: [Firehose](aws-properties-msk-cluster-firehose.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3`  <a name="cfn-msk-cluster-brokerlogs-s3"></a>
Details of the Amazon S3 destination for broker logs.  
*Required*: No  
*Type*: [S3](aws-properties-msk-cluster-s3.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster BrokerNodeGroupInfo
<a name="aws-properties-msk-cluster-brokernodegroupinfo"></a>

Describes the setup to be used for the broker nodes in the cluster.

## Syntax
<a name="aws-properties-msk-cluster-brokernodegroupinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-brokernodegroupinfo-syntax.json"></a>

```
{
  "[BrokerAZDistribution](#cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution)" : String,
  "[ClientSubnets](#cfn-msk-cluster-brokernodegroupinfo-clientsubnets)" : [ String, ... ],
  "[ConnectivityInfo](#cfn-msk-cluster-brokernodegroupinfo-connectivityinfo)" : ConnectivityInfo,
  "[InstanceType](#cfn-msk-cluster-brokernodegroupinfo-instancetype)" : String,
  "[SecurityGroups](#cfn-msk-cluster-brokernodegroupinfo-securitygroups)" : [ String, ... ],
  "[StorageInfo](#cfn-msk-cluster-brokernodegroupinfo-storageinfo)" : StorageInfo
}
```

### YAML
<a name="aws-properties-msk-cluster-brokernodegroupinfo-syntax.yaml"></a>

```
  [BrokerAZDistribution](#cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution): String
  [ClientSubnets](#cfn-msk-cluster-brokernodegroupinfo-clientsubnets): 
    - String
  [ConnectivityInfo](#cfn-msk-cluster-brokernodegroupinfo-connectivityinfo): 
    ConnectivityInfo
  [InstanceType](#cfn-msk-cluster-brokernodegroupinfo-instancetype): String
  [SecurityGroups](#cfn-msk-cluster-brokernodegroupinfo-securitygroups): 
    - String
  [StorageInfo](#cfn-msk-cluster-brokernodegroupinfo-storageinfo): 
    StorageInfo
```

## Properties
<a name="aws-properties-msk-cluster-brokernodegroupinfo-properties"></a>

`BrokerAZDistribution`  <a name="cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution"></a>
This parameter is currently not in use.  
*Required*: No  
*Type*: String  
*Minimum*: `6`  
*Maximum*: `9`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ClientSubnets`  <a name="cfn-msk-cluster-brokernodegroupinfo-clientsubnets"></a>
The list of subnets to connect to in the client virtual private cloud (VPC). Amazon creates elastic network interfaces (ENIs) inside these subnets. Client applications use ENIs to produce and consume data.  
If you use the US West (N. California) Region, specify exactly two subnets. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify.  
Client subnets can't occupy the Availability Zone with ID `use1-az3`.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ConnectivityInfo`  <a name="cfn-msk-cluster-brokernodegroupinfo-connectivityinfo"></a>
Information about the cluster's connectivity setting.  
*Required*: No  
*Type*: [ConnectivityInfo](aws-properties-msk-cluster-connectivityinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-msk-cluster-brokernodegroupinfo-instancetype"></a>
The type of Amazon EC2 instances to use for brokers. Depending on the [broker type](https://docs.aws.amazon.com/msk/latest/developerguide/broker-instance-types.html), Amazon MSK supports the following broker sizes:  
 **Standard broker sizes**   
+ kafka.t3.small
**Note**  
You can't select the kafka.t3.small instance type when the metadata mode is KRaft.
+ kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge
+ kafka.m7g.large, kafka.m7g.xlarge, kafka.m7g.2xlarge, kafka.m7g.4xlarge, kafka.m7g.8xlarge, kafka.m7g.12xlarge, kafka.m7g.16xlarge
 **Express broker sizes**   
+ express.m7g.large, express.m7g.xlarge, express.m7g.2xlarge, express.m7g.4xlarge, express.m7g.8xlarge, express.m7g.12xlarge, express.m7g.16xlarge
Some broker sizes might not be available in certian AWS Regions. See the updated [Pricing tools](https://aws.amazon.com/msk/pricing/) section on the Amazon MSK pricing page for the latest list of available instances by Region.
*Required*: Yes  
*Type*: String  
*Minimum*: `5`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SecurityGroups`  <a name="cfn-msk-cluster-brokernodegroupinfo-securitygroups"></a>
The security groups to associate with the ENIs in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the `ec2:DescribeSecurityGroups` permission.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`StorageInfo`  <a name="cfn-msk-cluster-brokernodegroupinfo-storageinfo"></a>
Contains information about storage volumes attached to Amazon MSK broker nodes.  
*Required*: No  
*Type*: [StorageInfo](aws-properties-msk-cluster-storageinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster ClientAuthentication
<a name="aws-properties-msk-cluster-clientauthentication"></a>

<a name="aws-properties-msk-cluster-clientauthentication-description"></a>The `ClientAuthentication` property type specifies Property description not available. for an [AWS::MSK::Cluster](aws-resource-msk-cluster.md).

## Syntax
<a name="aws-properties-msk-cluster-clientauthentication-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-clientauthentication-syntax.json"></a>

```
{
  "[Sasl](#cfn-msk-cluster-clientauthentication-sasl)" : Sasl,
  "[Tls](#cfn-msk-cluster-clientauthentication-tls)" : Tls,
  "[Unauthenticated](#cfn-msk-cluster-clientauthentication-unauthenticated)" : Unauthenticated
}
```

### YAML
<a name="aws-properties-msk-cluster-clientauthentication-syntax.yaml"></a>

```
  [Sasl](#cfn-msk-cluster-clientauthentication-sasl): 
    Sasl
  [Tls](#cfn-msk-cluster-clientauthentication-tls): 
    Tls
  [Unauthenticated](#cfn-msk-cluster-clientauthentication-unauthenticated): 
    Unauthenticated
```

## Properties
<a name="aws-properties-msk-cluster-clientauthentication-properties"></a>

`Sasl`  <a name="cfn-msk-cluster-clientauthentication-sasl"></a>
Details for client authentication using SASL. To turn on SASL, you must also turn on `EncryptionInTransit` by setting `inCluster` to true. You must set `clientBroker` to either `TLS` or `TLS_PLAINTEXT`. If you choose `TLS_PLAINTEXT`, then you must also set `unauthenticated` to true.  
*Required*: No  
*Type*: [Sasl](aws-properties-msk-cluster-sasl.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tls`  <a name="cfn-msk-cluster-clientauthentication-tls"></a>
Details for ClientAuthentication using TLS. To turn on TLS access control, you must also turn on `EncryptionInTransit` by setting `inCluster` to true and `clientBroker` to `TLS`.  
*Required*: No  
*Type*: [Tls](aws-properties-msk-cluster-tls.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Unauthenticated`  <a name="cfn-msk-cluster-clientauthentication-unauthenticated"></a>
Details for ClientAuthentication using no authentication.  
*Required*: No  
*Type*: [Unauthenticated](aws-properties-msk-cluster-unauthenticated.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster CloudWatchLogs
<a name="aws-properties-msk-cluster-cloudwatchlogs"></a>

Details of the CloudWatch Logs destination for broker logs.

## Syntax
<a name="aws-properties-msk-cluster-cloudwatchlogs-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-cloudwatchlogs-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-cloudwatchlogs-enabled)" : Boolean,
  "[LogGroup](#cfn-msk-cluster-cloudwatchlogs-loggroup)" : String
}
```

### YAML
<a name="aws-properties-msk-cluster-cloudwatchlogs-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-cloudwatchlogs-enabled): Boolean
  [LogGroup](#cfn-msk-cluster-cloudwatchlogs-loggroup): String
```

## Properties
<a name="aws-properties-msk-cluster-cloudwatchlogs-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-cloudwatchlogs-enabled"></a>
Specifies whether broker logs get sent to the specified CloudWatch Logs destination.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogGroup`  <a name="cfn-msk-cluster-cloudwatchlogs-loggroup"></a>
The CloudWatch log group that is the destination for broker logs.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster ConfigurationInfo
<a name="aws-properties-msk-cluster-configurationinfo"></a>

Specifies the configuration to use for the brokers.

## Syntax
<a name="aws-properties-msk-cluster-configurationinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-configurationinfo-syntax.json"></a>

```
{
  "[Arn](#cfn-msk-cluster-configurationinfo-arn)" : String,
  "[Revision](#cfn-msk-cluster-configurationinfo-revision)" : Integer
}
```

### YAML
<a name="aws-properties-msk-cluster-configurationinfo-syntax.yaml"></a>

```
  [Arn](#cfn-msk-cluster-configurationinfo-arn): String
  [Revision](#cfn-msk-cluster-configurationinfo-revision): Integer
```

## Properties
<a name="aws-properties-msk-cluster-configurationinfo-properties"></a>

`Arn`  <a name="cfn-msk-cluster-configurationinfo-arn"></a>
ARN of the configuration to use.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Revision`  <a name="cfn-msk-cluster-configurationinfo-revision"></a>
The revision of the configuration to use.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster ConnectivityInfo
<a name="aws-properties-msk-cluster-connectivityinfo"></a>

Broker access controls.

## Syntax
<a name="aws-properties-msk-cluster-connectivityinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-connectivityinfo-syntax.json"></a>

```
{
  "[NetworkType](#cfn-msk-cluster-connectivityinfo-networktype)" : String,
  "[PublicAccess](#cfn-msk-cluster-connectivityinfo-publicaccess)" : PublicAccess,
  "[VpcConnectivity](#cfn-msk-cluster-connectivityinfo-vpcconnectivity)" : VpcConnectivity
}
```

### YAML
<a name="aws-properties-msk-cluster-connectivityinfo-syntax.yaml"></a>

```
  [NetworkType](#cfn-msk-cluster-connectivityinfo-networktype): String
  [PublicAccess](#cfn-msk-cluster-connectivityinfo-publicaccess): 
    PublicAccess
  [VpcConnectivity](#cfn-msk-cluster-connectivityinfo-vpcconnectivity): 
    VpcConnectivity
```

## Properties
<a name="aws-properties-msk-cluster-connectivityinfo-properties"></a>

`NetworkType`  <a name="cfn-msk-cluster-connectivityinfo-networktype"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Allowed values*: `IPV4 | DUAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PublicAccess`  <a name="cfn-msk-cluster-connectivityinfo-publicaccess"></a>
Access control settings for the cluster's brokers.  
*Required*: No  
*Type*: [PublicAccess](aws-properties-msk-cluster-publicaccess.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConnectivity`  <a name="cfn-msk-cluster-connectivityinfo-vpcconnectivity"></a>
VPC connection control settings for brokers.  
*Required*: No  
*Type*: [VpcConnectivity](aws-properties-msk-cluster-vpcconnectivity.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster EBSStorageInfo
<a name="aws-properties-msk-cluster-ebsstorageinfo"></a>

Contains information about the EBS storage volumes attached to the broker nodes.

## Syntax
<a name="aws-properties-msk-cluster-ebsstorageinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-ebsstorageinfo-syntax.json"></a>

```
{
  "[ProvisionedThroughput](#cfn-msk-cluster-ebsstorageinfo-provisionedthroughput)" : ProvisionedThroughput,
  "[VolumeSize](#cfn-msk-cluster-ebsstorageinfo-volumesize)" : Integer
}
```

### YAML
<a name="aws-properties-msk-cluster-ebsstorageinfo-syntax.yaml"></a>

```
  [ProvisionedThroughput](#cfn-msk-cluster-ebsstorageinfo-provisionedthroughput): 
    ProvisionedThroughput
  [VolumeSize](#cfn-msk-cluster-ebsstorageinfo-volumesize): Integer
```

## Properties
<a name="aws-properties-msk-cluster-ebsstorageinfo-properties"></a>

`ProvisionedThroughput`  <a name="cfn-msk-cluster-ebsstorageinfo-provisionedthroughput"></a>
EBS volume provisioned throughput information.  
*Required*: No  
*Type*: [ProvisionedThroughput](aws-properties-msk-cluster-provisionedthroughput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeSize`  <a name="cfn-msk-cluster-ebsstorageinfo-volumesize"></a>
The size in GiB of the EBS volume for the data drive on each broker node.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `16384`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster EncryptionAtRest
<a name="aws-properties-msk-cluster-encryptionatrest"></a>

The data-volume encryption details. You can't update encryption at rest settings for existing clusters.

## Syntax
<a name="aws-properties-msk-cluster-encryptionatrest-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-encryptionatrest-syntax.json"></a>

```
{
  "[DataVolumeKMSKeyId](#cfn-msk-cluster-encryptionatrest-datavolumekmskeyid)" : String
}
```

### YAML
<a name="aws-properties-msk-cluster-encryptionatrest-syntax.yaml"></a>

```
  [DataVolumeKMSKeyId](#cfn-msk-cluster-encryptionatrest-datavolumekmskeyid): String
```

## Properties
<a name="aws-properties-msk-cluster-encryptionatrest-properties"></a>

`DataVolumeKMSKeyId`  <a name="cfn-msk-cluster-encryptionatrest-datavolumekmskeyid"></a>
The ARN of the Amazon KMS key for encrypting data at rest. If you don't specify a KMS key, MSK creates one for you and uses it.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::MSK::Cluster EncryptionInfo
<a name="aws-properties-msk-cluster-encryptioninfo"></a>

Includes encryption-related information, such as the Amazon KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.

## Syntax
<a name="aws-properties-msk-cluster-encryptioninfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-encryptioninfo-syntax.json"></a>

```
{
  "[EncryptionAtRest](#cfn-msk-cluster-encryptioninfo-encryptionatrest)" : EncryptionAtRest,
  "[EncryptionInTransit](#cfn-msk-cluster-encryptioninfo-encryptionintransit)" : EncryptionInTransit
}
```

### YAML
<a name="aws-properties-msk-cluster-encryptioninfo-syntax.yaml"></a>

```
  [EncryptionAtRest](#cfn-msk-cluster-encryptioninfo-encryptionatrest): 
    EncryptionAtRest
  [EncryptionInTransit](#cfn-msk-cluster-encryptioninfo-encryptionintransit): 
    EncryptionInTransit
```

## Properties
<a name="aws-properties-msk-cluster-encryptioninfo-properties"></a>

`EncryptionAtRest`  <a name="cfn-msk-cluster-encryptioninfo-encryptionatrest"></a>
The data-volume encryption details.  
*Required*: No  
*Type*: [EncryptionAtRest](aws-properties-msk-cluster-encryptionatrest.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EncryptionInTransit`  <a name="cfn-msk-cluster-encryptioninfo-encryptionintransit"></a>
The details for encryption in transit.  
*Required*: No  
*Type*: [EncryptionInTransit](aws-properties-msk-cluster-encryptionintransit.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster EncryptionInTransit
<a name="aws-properties-msk-cluster-encryptionintransit"></a>

The settings for encrypting data in transit.

## Syntax
<a name="aws-properties-msk-cluster-encryptionintransit-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-encryptionintransit-syntax.json"></a>

```
{
  "[ClientBroker](#cfn-msk-cluster-encryptionintransit-clientbroker)" : String,
  "[InCluster](#cfn-msk-cluster-encryptionintransit-incluster)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-encryptionintransit-syntax.yaml"></a>

```
  [ClientBroker](#cfn-msk-cluster-encryptionintransit-clientbroker): String
  [InCluster](#cfn-msk-cluster-encryptionintransit-incluster): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-encryptionintransit-properties"></a>

`ClientBroker`  <a name="cfn-msk-cluster-encryptionintransit-clientbroker"></a>
Indicates the encryption setting for data in transit between clients and brokers. You must set it to one of the following values.  
+ `TLS`: Indicates that client-broker communication is enabled with TLS only.
+ `TLS_PLAINTEXT`: Indicates that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.
+ `PLAINTEXT`: Indicates that client-broker communication is enabled in plaintext only.
The default value is `TLS`.  
*Required*: No  
*Type*: String  
*Allowed values*: `TLS | TLS_PLAINTEXT | PLAINTEXT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InCluster`  <a name="cfn-msk-cluster-encryptionintransit-incluster"></a>
When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.  
The default value is true.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::MSK::Cluster Firehose
<a name="aws-properties-msk-cluster-firehose"></a>

Firehose details for BrokerLogs.

## Syntax
<a name="aws-properties-msk-cluster-firehose-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-firehose-syntax.json"></a>

```
{
  "[DeliveryStream](#cfn-msk-cluster-firehose-deliverystream)" : String,
  "[Enabled](#cfn-msk-cluster-firehose-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-firehose-syntax.yaml"></a>

```
  [DeliveryStream](#cfn-msk-cluster-firehose-deliverystream): String
  [Enabled](#cfn-msk-cluster-firehose-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-firehose-properties"></a>

`DeliveryStream`  <a name="cfn-msk-cluster-firehose-deliverystream"></a>
The Kinesis Data Firehose delivery stream that is the destination for broker logs.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-msk-cluster-firehose-enabled"></a>
Specifies whether broker logs get send to the specified Kinesis Data Firehose delivery stream.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Iam
<a name="aws-properties-msk-cluster-iam"></a>

Details for SASL/IAM client authentication.

## Syntax
<a name="aws-properties-msk-cluster-iam-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-iam-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-iam-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-iam-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-iam-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-iam-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-iam-enabled"></a>
SASL/IAM authentication is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster JmxExporter
<a name="aws-properties-msk-cluster-jmxexporter"></a>

Indicates whether you want to enable or disable the JMX Exporter.

## Syntax
<a name="aws-properties-msk-cluster-jmxexporter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-jmxexporter-syntax.json"></a>

```
{
  "[EnabledInBroker](#cfn-msk-cluster-jmxexporter-enabledinbroker)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-jmxexporter-syntax.yaml"></a>

```
  [EnabledInBroker](#cfn-msk-cluster-jmxexporter-enabledinbroker): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-jmxexporter-properties"></a>

`EnabledInBroker`  <a name="cfn-msk-cluster-jmxexporter-enabledinbroker"></a>
Indicates whether you want to enable or disable the JMX Exporter.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster LoggingInfo
<a name="aws-properties-msk-cluster-logginginfo"></a>

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

## Syntax
<a name="aws-properties-msk-cluster-logginginfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-logginginfo-syntax.json"></a>

```
{
  "[BrokerLogs](#cfn-msk-cluster-logginginfo-brokerlogs)" : BrokerLogs
}
```

### YAML
<a name="aws-properties-msk-cluster-logginginfo-syntax.yaml"></a>

```
  [BrokerLogs](#cfn-msk-cluster-logginginfo-brokerlogs): 
    BrokerLogs
```

## Properties
<a name="aws-properties-msk-cluster-logginginfo-properties"></a>

`BrokerLogs`  <a name="cfn-msk-cluster-logginginfo-brokerlogs"></a>
You can configure your MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.  
*Required*: Yes  
*Type*: [BrokerLogs](aws-properties-msk-cluster-brokerlogs.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster NodeExporter
<a name="aws-properties-msk-cluster-nodeexporter"></a>

Indicates whether you want to enable or disable the Node Exporter.

## Syntax
<a name="aws-properties-msk-cluster-nodeexporter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-nodeexporter-syntax.json"></a>

```
{
  "[EnabledInBroker](#cfn-msk-cluster-nodeexporter-enabledinbroker)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-nodeexporter-syntax.yaml"></a>

```
  [EnabledInBroker](#cfn-msk-cluster-nodeexporter-enabledinbroker): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-nodeexporter-properties"></a>

`EnabledInBroker`  <a name="cfn-msk-cluster-nodeexporter-enabledinbroker"></a>
Indicates whether you want to enable or disable the Node Exporter.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster OpenMonitoring
<a name="aws-properties-msk-cluster-openmonitoring"></a>

JMX and Node monitoring for the MSK cluster.

## Syntax
<a name="aws-properties-msk-cluster-openmonitoring-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-openmonitoring-syntax.json"></a>

```
{
  "[Prometheus](#cfn-msk-cluster-openmonitoring-prometheus)" : Prometheus
}
```

### YAML
<a name="aws-properties-msk-cluster-openmonitoring-syntax.yaml"></a>

```
  [Prometheus](#cfn-msk-cluster-openmonitoring-prometheus): 
    Prometheus
```

## Properties
<a name="aws-properties-msk-cluster-openmonitoring-properties"></a>

`Prometheus`  <a name="cfn-msk-cluster-openmonitoring-prometheus"></a>
Prometheus exporter settings.  
*Required*: Yes  
*Type*: [Prometheus](aws-properties-msk-cluster-prometheus.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Prometheus
<a name="aws-properties-msk-cluster-prometheus"></a>

Prometheus settings for open monitoring.

## Syntax
<a name="aws-properties-msk-cluster-prometheus-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-prometheus-syntax.json"></a>

```
{
  "[JmxExporter](#cfn-msk-cluster-prometheus-jmxexporter)" : JmxExporter,
  "[NodeExporter](#cfn-msk-cluster-prometheus-nodeexporter)" : NodeExporter
}
```

### YAML
<a name="aws-properties-msk-cluster-prometheus-syntax.yaml"></a>

```
  [JmxExporter](#cfn-msk-cluster-prometheus-jmxexporter): 
    JmxExporter
  [NodeExporter](#cfn-msk-cluster-prometheus-nodeexporter): 
    NodeExporter
```

## Properties
<a name="aws-properties-msk-cluster-prometheus-properties"></a>

`JmxExporter`  <a name="cfn-msk-cluster-prometheus-jmxexporter"></a>
Indicates whether you want to enable or disable the JMX Exporter.  
*Required*: No  
*Type*: [JmxExporter](aws-properties-msk-cluster-jmxexporter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NodeExporter`  <a name="cfn-msk-cluster-prometheus-nodeexporter"></a>
Indicates whether you want to enable or disable the Node Exporter.  
*Required*: No  
*Type*: [NodeExporter](aws-properties-msk-cluster-nodeexporter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster ProvisionedThroughput
<a name="aws-properties-msk-cluster-provisionedthroughput"></a>

Contains information about provisioned throughput for EBS storage volumes attached to kafka broker nodes.

## Syntax
<a name="aws-properties-msk-cluster-provisionedthroughput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-provisionedthroughput-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-provisionedthroughput-enabled)" : Boolean,
  "[VolumeThroughput](#cfn-msk-cluster-provisionedthroughput-volumethroughput)" : Integer
}
```

### YAML
<a name="aws-properties-msk-cluster-provisionedthroughput-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-provisionedthroughput-enabled): Boolean
  [VolumeThroughput](#cfn-msk-cluster-provisionedthroughput-volumethroughput): Integer
```

## Properties
<a name="aws-properties-msk-cluster-provisionedthroughput-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-provisionedthroughput-enabled"></a>
Provisioned throughput is on or off.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VolumeThroughput`  <a name="cfn-msk-cluster-provisionedthroughput-volumethroughput"></a>
Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster PublicAccess
<a name="aws-properties-msk-cluster-publicaccess"></a>

Broker access controls

## Syntax
<a name="aws-properties-msk-cluster-publicaccess-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-publicaccess-syntax.json"></a>

```
{
  "[Type](#cfn-msk-cluster-publicaccess-type)" : String
}
```

### YAML
<a name="aws-properties-msk-cluster-publicaccess-syntax.yaml"></a>

```
  [Type](#cfn-msk-cluster-publicaccess-type): String
```

## Properties
<a name="aws-properties-msk-cluster-publicaccess-properties"></a>

`Type`  <a name="cfn-msk-cluster-publicaccess-type"></a>
DISABLED means that public access is turned off. SERVICE\$1PROVIDED\$1EIPS means that public access is turned on.  
*Required*: No  
*Type*: String  
*Minimum*: `7`  
*Maximum*: `23`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Rebalancing
<a name="aws-properties-msk-cluster-rebalancing"></a>

<a name="aws-properties-msk-cluster-rebalancing-description"></a>The `Rebalancing` property type specifies Property description not available. for an [AWS::MSK::Cluster](aws-resource-msk-cluster.md).

## Syntax
<a name="aws-properties-msk-cluster-rebalancing-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-rebalancing-syntax.json"></a>

```
{
  "[Status](#cfn-msk-cluster-rebalancing-status)" : String
}
```

### YAML
<a name="aws-properties-msk-cluster-rebalancing-syntax.yaml"></a>

```
  [Status](#cfn-msk-cluster-rebalancing-status): String
```

## Properties
<a name="aws-properties-msk-cluster-rebalancing-properties"></a>

`Status`  <a name="cfn-msk-cluster-rebalancing-status"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PAUSED | ACTIVE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster S3
<a name="aws-properties-msk-cluster-s3"></a>

The details of the Amazon S3 destination for broker logs.

## Syntax
<a name="aws-properties-msk-cluster-s3-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-s3-syntax.json"></a>

```
{
  "[Bucket](#cfn-msk-cluster-s3-bucket)" : String,
  "[Enabled](#cfn-msk-cluster-s3-enabled)" : Boolean,
  "[Prefix](#cfn-msk-cluster-s3-prefix)" : String
}
```

### YAML
<a name="aws-properties-msk-cluster-s3-syntax.yaml"></a>

```
  [Bucket](#cfn-msk-cluster-s3-bucket): String
  [Enabled](#cfn-msk-cluster-s3-enabled): Boolean
  [Prefix](#cfn-msk-cluster-s3-prefix): String
```

## Properties
<a name="aws-properties-msk-cluster-s3-properties"></a>

`Bucket`  <a name="cfn-msk-cluster-s3-bucket"></a>
The name of the S3 bucket that is the destination for broker logs.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-msk-cluster-s3-enabled"></a>
Specifies whether broker logs get sent to the specified Amazon S3 destination.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Prefix`  <a name="cfn-msk-cluster-s3-prefix"></a>
The S3 prefix that is the destination for broker logs.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Sasl
<a name="aws-properties-msk-cluster-sasl"></a>

Details for client authentication using SASL. To turn on SASL, you must also turn on `EncryptionInTransit` by setting `inCluster` to true. You must set `clientBroker` to either `TLS` or `TLS_PLAINTEXT`. If you choose `TLS_PLAINTEXT`, then you must also set `unauthenticated` to true.

## Syntax
<a name="aws-properties-msk-cluster-sasl-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-sasl-syntax.json"></a>

```
{
  "[Iam](#cfn-msk-cluster-sasl-iam)" : Iam,
  "[Scram](#cfn-msk-cluster-sasl-scram)" : Scram
}
```

### YAML
<a name="aws-properties-msk-cluster-sasl-syntax.yaml"></a>

```
  [Iam](#cfn-msk-cluster-sasl-iam): 
    Iam
  [Scram](#cfn-msk-cluster-sasl-scram): 
    Scram
```

## Properties
<a name="aws-properties-msk-cluster-sasl-properties"></a>

`Iam`  <a name="cfn-msk-cluster-sasl-iam"></a>
Details for ClientAuthentication using IAM.  
*Required*: No  
*Type*: [Iam](aws-properties-msk-cluster-iam.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Scram`  <a name="cfn-msk-cluster-sasl-scram"></a>
Details for SASL/SCRAM client authentication.  
*Required*: No  
*Type*: [Scram](aws-properties-msk-cluster-scram.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Scram
<a name="aws-properties-msk-cluster-scram"></a>

Details for SASL/SCRAM client authentication.

## Syntax
<a name="aws-properties-msk-cluster-scram-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-scram-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-scram-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-scram-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-scram-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-scram-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-scram-enabled"></a>
SASL/SCRAM authentication is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster StorageInfo
<a name="aws-properties-msk-cluster-storageinfo"></a>

Contains information about storage volumes attached to Amazon MSK broker nodes.

## Syntax
<a name="aws-properties-msk-cluster-storageinfo-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-storageinfo-syntax.json"></a>

```
{
  "[EBSStorageInfo](#cfn-msk-cluster-storageinfo-ebsstorageinfo)" : EBSStorageInfo
}
```

### YAML
<a name="aws-properties-msk-cluster-storageinfo-syntax.yaml"></a>

```
  [EBSStorageInfo](#cfn-msk-cluster-storageinfo-ebsstorageinfo): 
    EBSStorageInfo
```

## Properties
<a name="aws-properties-msk-cluster-storageinfo-properties"></a>

`EBSStorageInfo`  <a name="cfn-msk-cluster-storageinfo-ebsstorageinfo"></a>
EBS volume information.  
*Required*: No  
*Type*: [EBSStorageInfo](aws-properties-msk-cluster-ebsstorageinfo.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Tls
<a name="aws-properties-msk-cluster-tls"></a>

Details for client authentication using TLS.

## Syntax
<a name="aws-properties-msk-cluster-tls-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-tls-syntax.json"></a>

```
{
  "[CertificateAuthorityArnList](#cfn-msk-cluster-tls-certificateauthorityarnlist)" : [ String, ... ],
  "[Enabled](#cfn-msk-cluster-tls-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-tls-syntax.yaml"></a>

```
  [CertificateAuthorityArnList](#cfn-msk-cluster-tls-certificateauthorityarnlist): 
    - String
  [Enabled](#cfn-msk-cluster-tls-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-tls-properties"></a>

`CertificateAuthorityArnList`  <a name="cfn-msk-cluster-tls-certificateauthorityarnlist"></a>
List of AWS Private CA ARNs.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-msk-cluster-tls-enabled"></a>
TLS authentication is enabled or not.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster Unauthenticated
<a name="aws-properties-msk-cluster-unauthenticated"></a>

Details for allowing no client authentication.

## Syntax
<a name="aws-properties-msk-cluster-unauthenticated-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-unauthenticated-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-unauthenticated-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-unauthenticated-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-unauthenticated-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-unauthenticated-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-unauthenticated-enabled"></a>
Unauthenticated is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivity
<a name="aws-properties-msk-cluster-vpcconnectivity"></a>

VPC connection control settings for brokers.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivity-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivity-syntax.json"></a>

```
{
  "[ClientAuthentication](#cfn-msk-cluster-vpcconnectivity-clientauthentication)" : VpcConnectivityClientAuthentication
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivity-syntax.yaml"></a>

```
  [ClientAuthentication](#cfn-msk-cluster-vpcconnectivity-clientauthentication): 
    VpcConnectivityClientAuthentication
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivity-properties"></a>

`ClientAuthentication`  <a name="cfn-msk-cluster-vpcconnectivity-clientauthentication"></a>
VPC connection control settings for brokers.  
*Required*: No  
*Type*: [VpcConnectivityClientAuthentication](aws-properties-msk-cluster-vpcconnectivityclientauthentication.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivityClientAuthentication
<a name="aws-properties-msk-cluster-vpcconnectivityclientauthentication"></a>

Includes all client authentication information for VpcConnectivity.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivityclientauthentication-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivityclientauthentication-syntax.json"></a>

```
{
  "[Sasl](#cfn-msk-cluster-vpcconnectivityclientauthentication-sasl)" : VpcConnectivitySasl,
  "[Tls](#cfn-msk-cluster-vpcconnectivityclientauthentication-tls)" : VpcConnectivityTls
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivityclientauthentication-syntax.yaml"></a>

```
  [Sasl](#cfn-msk-cluster-vpcconnectivityclientauthentication-sasl): 
    VpcConnectivitySasl
  [Tls](#cfn-msk-cluster-vpcconnectivityclientauthentication-tls): 
    VpcConnectivityTls
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivityclientauthentication-properties"></a>

`Sasl`  <a name="cfn-msk-cluster-vpcconnectivityclientauthentication-sasl"></a>
Details for VpcConnectivity ClientAuthentication using SASL.  
*Required*: No  
*Type*: [VpcConnectivitySasl](aws-properties-msk-cluster-vpcconnectivitysasl.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tls`  <a name="cfn-msk-cluster-vpcconnectivityclientauthentication-tls"></a>
Details for VpcConnectivity ClientAuthentication using TLS.  
*Required*: No  
*Type*: [VpcConnectivityTls](aws-properties-msk-cluster-vpcconnectivitytls.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivityIam
<a name="aws-properties-msk-cluster-vpcconnectivityiam"></a>

Details for SASL/IAM client authentication for VpcConnectivity.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivityiam-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivityiam-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-vpcconnectivityiam-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivityiam-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-vpcconnectivityiam-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivityiam-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-vpcconnectivityiam-enabled"></a>
SASL/IAM authentication is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivitySasl
<a name="aws-properties-msk-cluster-vpcconnectivitysasl"></a>

Details for client authentication using SASL for VpcConnectivity.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivitysasl-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivitysasl-syntax.json"></a>

```
{
  "[Iam](#cfn-msk-cluster-vpcconnectivitysasl-iam)" : VpcConnectivityIam,
  "[Scram](#cfn-msk-cluster-vpcconnectivitysasl-scram)" : VpcConnectivityScram
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivitysasl-syntax.yaml"></a>

```
  [Iam](#cfn-msk-cluster-vpcconnectivitysasl-iam): 
    VpcConnectivityIam
  [Scram](#cfn-msk-cluster-vpcconnectivitysasl-scram): 
    VpcConnectivityScram
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivitysasl-properties"></a>

`Iam`  <a name="cfn-msk-cluster-vpcconnectivitysasl-iam"></a>
Details for ClientAuthentication using IAM for VpcConnectivity.  
*Required*: No  
*Type*: [VpcConnectivityIam](aws-properties-msk-cluster-vpcconnectivityiam.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Scram`  <a name="cfn-msk-cluster-vpcconnectivitysasl-scram"></a>
Details for SASL/SCRAM client authentication for VpcConnectivity.  
*Required*: No  
*Type*: [VpcConnectivityScram](aws-properties-msk-cluster-vpcconnectivityscram.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivityScram
<a name="aws-properties-msk-cluster-vpcconnectivityscram"></a>

Details for SASL/SCRAM client authentication for VpcConnectivity.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivityscram-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivityscram-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-vpcconnectivityscram-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivityscram-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-vpcconnectivityscram-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivityscram-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-vpcconnectivityscram-enabled"></a>
SASL/SCRAM authentication is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::MSK::Cluster VpcConnectivityTls
<a name="aws-properties-msk-cluster-vpcconnectivitytls"></a>

Details for client authentication using TLS for VpcConnectivity.

## Syntax
<a name="aws-properties-msk-cluster-vpcconnectivitytls-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-msk-cluster-vpcconnectivitytls-syntax.json"></a>

```
{
  "[Enabled](#cfn-msk-cluster-vpcconnectivitytls-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-msk-cluster-vpcconnectivitytls-syntax.yaml"></a>

```
  [Enabled](#cfn-msk-cluster-vpcconnectivitytls-enabled): Boolean
```

## Properties
<a name="aws-properties-msk-cluster-vpcconnectivitytls-properties"></a>

`Enabled`  <a name="cfn-msk-cluster-vpcconnectivitytls-enabled"></a>
TLS authentication is enabled or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)