Terraform module which creates SQS resources on AWS.
module "user_queue" {
source = "terraform-aws-modules/sqs/aws"
version = "~> 2.0"
name = "user"
tags = {
Service = "user"
Environment = "dev"
}
}
Sometimes you need to have a way to create SQS queue conditionally but Terraform does not allow to use count
inside module
block, so the solution is to specify argument create
.
# This SQS queue will not be created
module "user_queue" {
source = "terraform-aws-modules/sqs/aws"
version = "~> 2.0"
create = false
# ... omitted
}
Name | Version |
---|---|
terraform | >= 0.13.1 |
aws | >= 3.63 |
Name | Version |
---|---|
aws | >= 3.63 |
No modules.
Name | Type |
---|---|
aws_sqs_queue.this | resource |
aws_arn.this | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
content_based_deduplication | Enables content-based deduplication for FIFO queues | bool |
false |
no |
create | Whether to create SQS queue | bool |
true |
no |
deduplication_scope | Specifies whether message deduplication occurs at the message group or queue level | string |
null |
no |
delay_seconds | The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes) | number |
0 |
no |
fifo_queue | Boolean designating a FIFO queue | bool |
false |
no |
fifo_throughput_limit | Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group | string |
null |
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 |
null |
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 |
message_retention_seconds | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | number |
345600 |
no |
name | This is the human-readable name of the queue. If omitted, Terraform will assign a random name. | string |
null |
no |
name_prefix | A unique name beginning with the specified prefix. | string |
null |
no |
policy | The JSON policy for the SQS queue | string |
"" |
no |
receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | number |
0 |
no |
redrive_allow_policy | The JSON policy to set up the Dead Letter Queue redrive permission, see AWS docs. | string |
"" |
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 |
sqs_managed_sse_enabled | Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys | bool |
false |
no |
tags | A mapping of tags to assign to all resources | map(string) |
{} |
no |
visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | number |
30 |
no |
Name | Description |
---|---|
sqs_queue_arn | The ARN of the SQS queue |
sqs_queue_id | The URL for the created Amazon SQS queue |
sqs_queue_name | The name of the SQS queue |
Module is maintained by Anton Babenko with help from these awesome contributors.
Apache 2 Licensed. See LICENSE for full details.