Terraform Module for creating an SQS queue and an accompanying dead letter queue.
This module automatically adds:
.fifo
if a fifo queue is selected- CloudWatch alarm for items on the dead letter queue
- CloudWatch alarm for large numbers of items on a queue
- A default policy to the queue
- Allows for easy adding of additional accounts to read/write to the queue
- By default enables encrypted queues using the default account key (overridable)
Name | Version |
---|---|
aws | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
name |
This is the human-readable name of the queue. If omitted, Terraform will assign a random name. | string |
n/a | yes |
visibility_timeout_seconds |
The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | number |
n/a | yes |
alarm_sns_topic_arn |
ARN of the SNS topic for alarm notifactions | any |
n/a | yes |
allowed_arns |
A list of AWS account IDs allowed to access this resource | list |
n/a | yes |
message_retention_seconds |
The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | number |
null | no |
content_based_deduplication |
Enables content-based deduplication for FIFO queues | bool |
true | no |
fifo_queue |
Boolean designating a FIFO queue | bool |
false | no |
allowed_items_max |
The maximum number of items allowed on the SQS queue before it triggers an alarm | number |
50 |
no |
kms_data_key_reuse_period_seconds |
The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours) | number |
300 |
no |
kms_master_key_id |
The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK | string |
"alias/aws/sqs" |
no |
max_message_size |
The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB) | number |
262144 |
no |
redrive_policy |
The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string |
"" |
no |
tags |
A mapping of tags to assign to all resources | map(string) |
{} |
no |
Name | Description |
---|---|
deadletter_queue | n/a |
queue | n/a |