Module library

MSK

Terraform module to create AWS MSK (Managed Streaming for Kafka) resources

Version
Submodules
serverless

Inputs

40 / 59
broker_node_az_distributionoptionalstring

The distribution of broker nodes across availability zones ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-model-brokerazdistribution)). Currently the only valid value is `DEFAULT`

Defaultnull
broker_node_client_subnetsoptionallist(string)

A list of subnets to connect to in client VPC ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-prop-brokernodegroupinfo-clientsubnets))

Default[]
broker_node_connectivity_infooptionalobject({ vpc_connectivity = optional(object({ client_authentication = optional(o…

Information about the cluster access configuration

Defaultnull
broker_node_instance_typeoptionalstring

Specify the instance type to use for the kafka brokers. e.g. kafka.m5.large. ([Pricing info](https://aws.amazon.com/msk/pricing/))

Defaultnull
broker_node_security_groupsoptionallist(string)

A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster

Default[]
broker_node_storage_infooptionalobject({ ebs_storage_info = optional(object({ provisioned_throughput = optional(…

A block that contains information about storage volumes attached to MSK broker nodes

Defaultnull
client_authenticationoptionalobject({ sasl = optional(object({ iam = optional(bool) scram = optional(bool) })…

Configuration block for specifying a client authentication

Defaultnull
cloudwatch_log_group_classoptionalstring

Specifies the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.

Defaultnull
cloudwatch_log_group_kms_key_idoptionalstring

The ARN of the KMS Key to use when encrypting log data

Defaultnull
cloudwatch_log_group_nameoptionalstring

Name of the Cloudwatch Log Group to deliver logs to

Defaultnull
cloudwatch_log_group_retention_in_daysoptionalnumber

Specifies the number of days you want to retain log events in the log group

Default0
cloudwatch_logs_enabledoptionalbool

Indicates whether you want to enable or disable streaming broker logs to Cloudwatch Logs

Defaultfalse
cluster_override_policy_documentsoptionallist(string)

Override policy documents for cluster policy

Defaultnull
cluster_policy_statementsoptionalmap(object({ sid = optional(string) actions = optional(list(string)) not_actions…

Map of policy statements for cluster policy

Defaultnull
cluster_source_policy_documentsoptionallist(string)

Source policy documents for cluster policy

Defaultnull
configuration_arnoptionalstring

ARN of an externally created configuration to use

Defaultnull
configuration_descriptionoptionalstring

Description of the configuration

Defaultnull
configuration_nameoptionalstring

Name of the configuration

Defaultnull
configuration_revisionoptionalnumber

Revision of the externally created configuration to use

Defaultnull
configuration_server_propertiesoptionalmap(string)

Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html)

Default{}
connect_custom_pluginsoptionalmap(object({ name = string description = optional(string) content_type = string …

Map of custom plugin configuration details (map of maps)

Default{}
connect_worker_config_descriptionoptionalstring

A summary description of the worker configuration

Defaultnull
connect_worker_config_nameoptionalstring

The name of the worker configuration

Defaultnull
connect_worker_config_properties_file_contentoptionalstring

Contents of connect-distributed.properties file. The value can be either base64 encoded or in raw format

Defaultnull
createoptionalbool

Determines whether cluster resources will be created

Defaulttrue
create_cloudwatch_log_groupoptionalbool

Determines whether to create a CloudWatch log group

Defaulttrue
create_cluster_policyoptionalbool

Determines whether to create an MSK cluster policy

Defaultfalse
create_configurationoptionalbool

Determines whether to create a configuration

Defaulttrue
create_connect_worker_configurationoptionalbool

Determines whether to create connect worker configuration

Defaultfalse
create_schema_registryoptionalbool

Determines whether to create a Glue schema registry for managing Avro schemas for the cluster

Defaulttrue
create_scram_secret_associationoptionalbool

Determines whether to create SASL/SCRAM secret association

Defaultfalse
enable_storage_autoscalingoptionalbool

Determines whether autoscaling is enabled for storage

Defaulttrue
encryption_at_rest_kms_key_arnoptionalstring

You may 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

Defaultnull
encryption_in_transit_client_brokeroptionalstring

Encryption setting for data in transit between clients and brokers. Valid values: `TLS`, `TLS_PLAINTEXT`, and `PLAINTEXT`. Default value is `TLS`

Defaultnull
encryption_in_transit_in_clusteroptionalbool

Whether data communication among broker nodes is encrypted. Default value: `true`

Defaultnull
enhanced_monitoringoptionalstring

Specify the desired enhanced MSK CloudWatch monitoring level. See [Monitoring Amazon MSK with Amazon CloudWatch](https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html)

Defaultnull
firehose_delivery_streamoptionalstring

Name of the Kinesis Data Firehose delivery stream to deliver logs to

Defaultnull
firehose_logs_enabledoptionalbool

Indicates whether you want to enable or disable streaming broker logs to Kinesis Data Firehose

Defaultfalse
jmx_exporter_enabledoptionalbool

Indicates whether you want to enable or disable the JMX Exporter

Defaultfalse
kafka_versionoptionalstring

Specify the desired Kafka software version

Defaultnull

All 59 are optional — the module deploys with none of them set. Showing 40, so the site stays a static download — the remaining 19 are in the source.

Outputs

33
appautoscaling_policy_arn

The ARN assigned by AWS to the scaling policy

appautoscaling_policy_name

The scaling policy's name

appautoscaling_policy_policy_type

The scaling policy's type

arn

Amazon Resource Name (ARN) of the MSK cluster

bootstrap_brokers

Comma separated list of one or more hostname:port pairs of Kafka brokers suitable to bootstrap connectivity to the Kafka cluster

bootstrap_brokers_plaintext

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_in_transit_client_broker` is set to `PLAINTEXT` or `TLS_PLAINTEXT`

bootstrap_brokers_public

Comma separated list of one or more hostname:port pairs of Kafka brokers suitable to bootstrap connectivity to the Kafka cluster

bootstrap_brokers_public_sasl_iam

One or more DNS names (or IP addresses) and SASL IAM port pairs

bootstrap_brokers_public_sasl_scram

One or more DNS names (or IP addresses) and SASL SCRAM port pairs

bootstrap_brokers_public_tls

One or more DNS names (or IP addresses) and TLS port pairs

bootstrap_brokers_sasl_iam

One or more DNS names (or IP addresses) and SASL IAM port pairs. This attribute will have a value if `encryption_in_transit_client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication_sasl_iam` is set to `true`

bootstrap_brokers_sasl_scram

One or more DNS names (or IP addresses) and SASL SCRAM port pairs. This attribute will have a value if `encryption_in_transit_client_broker` is set to `TLS_PLAINTEXT` or `TLS` and `client_authentication_sasl_scram` is set to `true`

bootstrap_brokers_tls

One or more DNS names (or IP addresses) and TLS port pairs. This attribute will have a value if `encryption_in_transit_client_broker` is set to `TLS_PLAINTEXT` or `TLS`

bootstrap_brokers_vpc_connectivity

Comma separated list of one or more hostname:port pairs of Kafka brokers suitable to bootstrap connectivity to the Kafka cluster

bootstrap_brokers_vpc_connectivity_sasl_iam

One or more DNS names (or IP addresses) and SASL IAM port pairs for VPC connectivity

bootstrap_brokers_vpc_connectivity_sasl_scram

One or more DNS names (or IP addresses) and SASL SCRAM port pairs for VPC connectivity

bootstrap_brokers_vpc_connectivity_tls

One or more DNS names (or IP addresses) and TLS port pairs for VPC connectivity

cluster_name

Name of the MSK cluster

cluster_uuid

UUID of the MSK cluster, for use in IAM policies

configuration_arn

Amazon Resource Name (ARN) of the configuration

configuration_latest_revision

Latest revision of the configuration

connect_custom_plugins

A map of output attributes for the connect custom plugins created

connect_worker_configuration_arn

The Amazon Resource Name (ARN) of the worker configuration

connect_worker_configuration_latest_revision

An ID of the latest successfully created revision of the worker configuration

current_version

Current version of the MSK Cluster used for updates, e.g. `K13V1IB3VIYZZH`

log_group_arn

The Amazon Resource Name (ARN) specifying the log group

schema_registries

A map of output attributes for the schema registries created

schemas

A map of output attributes for the schemas created

scram_secret_association_id

Amazon Resource Name (ARN) of the MSK cluster

topics

A map of output attributes for the MSK topics created

vpc_connections

A map of output attributes for the VPC connections created

zookeeper_connect_string

A 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

zookeeper_connect_string_tls

A 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

What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.