Terraform module for provisioning an Amazon MQ broker
module "mq" {
source = "dare-global/mq/aws"
version = "1.X.X"
broker_name = "mq-broker"
subnet_ids = ["subnet-id-12345"]
}
Name | Version |
---|---|
terraform | >= 1.3.0 |
aws | >= 5.0.0 |
Name | Version |
---|---|
aws | >= 5.0.0 |
No modules.
Name | Description | Type | Default | Required |
---|---|---|---|---|
apply_immediately | Specifies whether any cluster modifications are applied immediately, or during the next maintenance window | bool |
false |
no |
audit_log_enabled | Enables audit logging. User management action made using JMX or the ActiveMQ Web Console is logged | bool |
true |
no |
authentication_strategy | Authentication strategy used to secure the broker. Valid values are simple and ldap. ldap is not supported for engine_type RabbitMQ. | string |
null |
no |
auto_minor_version_upgrade | Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions | bool |
false |
no |
broker_name | Name of the broker | string |
n/a | yes |
cidr_blocks_15671 | Cidr blocks for the Amazon MQ for RabbitMQ Console security group ingress rule | list(string) |
[] |
no |
cidr_blocks_443 | Cidr blocks for the Amazon MQ for RabbitMQ Console security group ingress rule | list(string) |
[] |
no |
cidr_blocks_5671 | Cidr block for connections made via SSL AMQP security group ingress rule | list(string) |
[] |
no |
cidr_blocks_61614 | Cidr blocks for the Amazon MQ Stomp SSL security group ingress rule | list(string) |
[] |
no |
cidr_blocks_61617 | Cidr blocks for the Amazon MQ SSL security group ingress rule | list(string) |
[] |
no |
cidr_blocks_61619 | Cidr block for the websocket security group ingress rule | list(string) |
[] |
no |
cidr_blocks_8162 | Cidr blocks for the ActiveMQ Console security group ingress rule | list(string) |
[] |
no |
cidr_blocks_8883 | Cidr block for the MQTT security group ingress rule | list(string) |
[] |
no |
configuration_data | Broker configuration in XML format | string |
null |
no |
configuration_enabled | Enable configuration block for broker configuration. Applies to engine_type of ActiveMQ only | bool |
true |
no |
create_security_group | Flag to create Security Group for the broker | bool |
false |
no |
deployment_mode | The deployment mode of the broker. Supported: SINGLE_INSTANCE and ACTIVE_STANDBY_MULTI_AZ | string |
"ACTIVE_STANDBY_MULTI_AZ" |
no |
enable_cross_zone_load_balancing | Flag to enable/disable cross zone load balancing of the NLB | bool |
true |
no |
enable_deletion_protection | Flag to enable/disable deletion of NLB via AWS API and Terraform | bool |
true |
no |
encryption_enabled | Flag to enable/disable Amazon MQ encryption at rest | bool |
true |
no |
engine_type | Type of broker engine, ActiveMQ or RabbitMQ |
string |
"ActiveMQ" |
no |
engine_version | The version of the broker engine. See https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html for more details | string |
"5.17.1" |
no |
general_log_enabled | Enables general logging via CloudWatch | bool |
true |
no |
host_instance_type | The broker's instance type. e.g. mq.t2.micro or mq.m4.large | string |
"mq.t3.micro" |
no |
kms_mq_key_arn | ARN of the AWS KMS key used for Amazon MQ encryption | string |
null |
no |
maintenance_day_of_week | The maintenance day of the week. e.g. MONDAY, TUESDAY, or WEDNESDAY | string |
"SUNDAY" |
no |
maintenance_time_of_day | The maintenance time, in 24-hour format. e.g. 02:00 | string |
"03:00" |
no |
maintenance_time_zone | The maintenance time zone, in either the Country/City format, or the UTC offset format. e.g. CET | string |
"UTC" |
no |
mq_additional_users | Additional MQ users | list(object({ |
[] |
no |
nlb_certificate_arn | Ceritificate ARN of NLB | string |
null |
no |
nlb_enabled | Flag to attach Network Load Balancer to Active MQ | bool |
false |
no |
nlb_internal | Scheme type of the NLB, valid value is true or false where true is for internal and false for internet facing | bool |
true |
no |
nlb_name | Name of the NLB | string |
null |
no |
nlb_tags | A mapping of additional tags to be attached to the NLB | map(string) |
{} |
no |
nlb_tg_port | Target Group Port for NLB | number |
8883 |
no |
nlb_tg_protocol | Target Group Protocol for NLB | string |
"TCP" |
no |
password | Username for the admin user | string |
"adminpass123" |
no |
prefix_lists_15671 | Prefix list ids for the Amazon MQ for RabbitMQ Console security group ingress rule | list(string) |
[] |
no |
prefix_lists_443 | Prefix list ids for the Amazon MQ for RabbitMQ Console security group ingress rule | list(string) |
[] |
no |
prefix_lists_5671 | Prefix list ids for connections made via SSL AMQP URL security group ingress rule | list(string) |
[] |
no |
prefix_lists_61614 | Prefix list ids for the Amazon MQ Stomp SSL security group ingress rule | list(string) |
[] |
no |
prefix_lists_61617 | Prefix list ids for the Amazon MQ SSL security group ingress rule | list(string) |
[] |
no |
prefix_lists_61619 | Prefix list ids for the websocket security group ingress rule | list(string) |
[] |
no |
prefix_lists_8162 | Prefix list ids for the ActiveMQ Console security group ingress rule | list(string) |
[] |
no |
prefix_lists_8883 | Prefix list ids for the MQTT security group ingress rule | list(string) |
[] |
no |
publicly_accessible | Whether to enable connections from applications outside of the VPC that hosts the broker's subnets | bool |
false |
no |
revoke_rules_on_delete | Instruct Terraform to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself. | string |
true |
no |
security_group_description | Description of the Security Group | string |
"Security Group for the AWS MQ" |
no |
security_group_name | Name of the Security Group | string |
"" |
no |
security_group_tags | A mapping of additional tags to be attached to the Security Group | map(string) |
{} |
no |
security_groups | List of security group IDs assigned to the broker | list(string) |
[] |
no |
storage_type | Storage type of the broker. For engine_type ActiveMQ, the valid values are efs and ebs, and the AWS-default is efs. For engine_type RabbitMQ, only ebs is supported. When using ebs, only the mq.m5 broker instance type family is supported. | string |
null |
no |
subnet_ids | List of VPC subnet IDs | list(string) |
[] |
no |
tags | A mapping of tags to assign to all resources | map(string) |
{} |
no |
use_aws_owned_key | Boolean to enable an AWS owned Key Management Service (KMS) Customer Master Key (CMK) for Amazon MQ encryption that is not in your account | bool |
null |
no |
username | Username for the admin user | string |
"admin" |
no |
Name | Description |
---|---|
broker_arn | AmazonMQ broker ARN. |
broker_id | AmazonMQ broker ID. |
broker_instances | AmazonMQ broker instances details. |
nlb_dns_name | NLB DNS Name. |
nlb_zone_id | NLB Zone Id. |
See LICENSE file for full details.
pre-commit
terraform-docs
required forterraform_docs
hooks.TFLint
required forterraform_tflint
hook.
brew install pre-commit terraform-docs tflint
brew tap git-chglog/git-chglog
brew install git-chglog