broker_size |
(Required) The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets. |
number |
n/a |
yes |
broker_subnets |
(Required) A list of subnet IDs to place ENIs of the MSK cluster broker nodes within. |
list(string) |
n/a |
yes |
name |
(Required) Name of the MSK cluster. |
string |
n/a |
yes |
auth_sasl_iam_enabled |
(Optional) Enables IAM client authentication. |
bool |
false |
no |
auth_sasl_scram_enabled |
(Optional) Enables SCRAM client authentication via AWS Secrets Manager. |
bool |
false |
no |
auth_sasl_scram_kms_key |
(Optional) The ARN of a KMS key to encrypt AWS SeecretsManager Secret resources for storing SASL/SCRAM authentication data. Only required when the MSK cluster has SASL/SCRAM authentication enabled. The Username/Password Authentication based on SASL/SCRAM needs to create a Secret resource in AWS SecretsManager with a custom AWS KMS Key. A secret created with the default AWS KMS key cannot be used with an Amazon MSK cluster. |
string |
null |
no |
auth_sasl_scram_users |
(Optional) A list of usernames to be allowed for SASL/SCRAM authentication to the MSK cluster. The password for each username is randomly generated and stored in AWS SecretsManager secret. |
set(string) |
[] |
no |
auth_tls_acm_ca_arns |
(Optional) List of ACM Certificate Authority Amazon Resource Names (ARNs). |
list(string) |
[] |
no |
auth_tls_enabled |
(Optional) Enables TLS client authentication. |
bool |
false |
no |
auth_unauthenticated_access_enabled |
(Optional) Enables unauthenticated access. Defaults to true . |
bool |
true |
no |
broker_additional_security_groups |
(Optional) A list of security group IDs to associate with ENIs to control who can communicate with the cluster. |
list(string) |
[] |
no |
broker_allowed_ingress_cidrs |
(Optional) A list of CIDR for MSK ingress access. |
list(string) |
[] |
no |
broker_instance_type |
(Optional) The instance type to use for the kafka brokers. |
string |
"kafka.m5.large" |
no |
broker_public_access_enabled |
(Optional) Whether to allow public access to MSK brokers. |
bool |
false |
no |
broker_volume_provisioned_throughput |
(Optional) Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second. The minimum value is 250 . The maximum value varies between broker type. |
number |
null |
no |
broker_volume_provisioned_throughput_enabled |
(Optional) Whether provisioned throughput is enabled or not. You can specify the provisioned throughput rate in MiB per second for clusters whose brokers are of type kafka.m5.4xlarge or larger and if the storage volume is 10 GiB or greater. Defaults to false . |
bool |
false |
no |
broker_volume_size |
(Optional) The size in GiB of the EBS volume for the data drive on each broker node. Minimum value of 1 and maximum value of 16384 . Defaults to 1000 . |
number |
1000 |
no |
encryption_at_rest_kms_key |
(Optional) Specify a KMS key short ID or ARN (it will always output an ARN) to use for encrypting your data at rest. If no key is specified, an AWS managed KMS ('aws/msk' managed service) key will be used for encrypting the data at rest. |
string |
"" |
no |
encryption_in_transit_client_mode |
(Optional) Encryption setting for data in transit between clients and brokers. TLS , TLS_PLAINTEXT , PLAINTEXT are available. |
string |
"TLS_PLAINTEXT" |
no |
encryption_in_transit_in_cluster_enabled |
(Optional) Whether data communication among broker nodes is encrypted. |
bool |
true |
no |
kafka_server_properties |
(Optional) Contents of the server.properties file for configuration of Kafka. |
map(string) |
{} |
no |
kafka_version |
(Optional) Kafka version to use for the MSK cluster. |
string |
"2.8.0" |
no |
logging_cloudwatch_enabled |
(Optional) Indicates whether you want to enable or disable streaming broker logs to Cloudwatch Logs. |
bool |
false |
no |
logging_cloudwatch_log_group |
(Optional) The name of log group on CloudWatch Logs to deliver logs to. |
string |
"" |
no |
logging_firehose_delivery_stream |
(Optional) Name of the Kinesis Data Firehose delivery stream to deliver logs to. |
string |
"" |
no |
logging_firehose_enabled |
(Optional) Indicates whether you want to enable or disable streaming broker logs to Kinesis Data Firehose. |
bool |
false |
no |
logging_s3_bucket |
(Optional) The name of the S3 bucket to deliver logs to. |
string |
"" |
no |
logging_s3_enabled |
(Optional) Indicates whether you want to enable or disable streaming broker logs to S3. |
bool |
false |
no |
logging_s3_prefix |
(Optional) The prefix to append to the folder name. |
string |
"" |
no |
module_tags_enabled |
(Optional) Whether to create AWS Resource Tags for the module informations. |
bool |
true |
no |
monitoring_cloudwatch_level |
(Optional) The desired enhanced MSK CloudWatch monitoring level. DEFAULT , PER_BROKER , PER_TOPIC_PER_BROKER , PER_TOPIC_PER_PARTITION are available. |
string |
"DEFAULT" |
no |
monitoring_prometheus_jmx_exporter_enabled |
(Optional) Indicates whether you want to enable or disable the JMX Exporter. |
bool |
false |
no |
monitoring_prometheus_node_exporter_enabled |
(Optional) Indicates whether you want to enable or disable the Node Exporter. |
bool |
false |
no |
resource_group_description |
(Optional) The description of Resource Group. |
string |
"Managed by Terraform." |
no |
resource_group_enabled |
(Optional) Whether to create Resource Group to find and group AWS resources which are created by this module. |
bool |
true |
no |
resource_group_name |
(Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws . |
string |
"" |
no |
tags |
(Optional) A map of tags to add to all resources. |
map(string) |
{} |
no |
timeouts |
(Optional) How long to wait for the MSK cluster to be created/updated/deleted. |
map(string) |
{ "create": "120m", "delete": "120m", "update": "120m" } |
no |