Module library

SQS

Terraform module to create AWS SQS resources

Version

Inputs

40 / 42
content_based_deduplicationoptionalbool

Enables content-based deduplication for FIFO queues

Defaultnull
createoptionalbool

Whether to create SQS queue

Defaulttrue
create_dlqoptionalbool

Determines whether to create SQS dead letter queue

Defaultfalse
create_dlq_queue_policyoptionalbool

Whether to create SQS queue policy

Defaultfalse
create_dlq_redrive_allow_policyoptionalbool

Determines whether to create a redrive allow policy for the dead letter queue

Defaulttrue
create_queue_policyoptionalbool

Whether to create SQS queue policy

Defaultfalse
deduplication_scopeoptionalstring

Specifies whether message deduplication occurs at the message group or queue level

Defaultnull
delay_secondsoptionalnumber

The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes)

Defaultnull
dlq_content_based_deduplicationoptionalbool

Enables content-based deduplication for FIFO queues

Defaultnull
dlq_deduplication_scopeoptionalstring

Specifies whether message deduplication occurs at the message group or queue level

Defaultnull
dlq_delay_secondsoptionalnumber

The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes)

Defaultnull
dlq_fifo_throughput_limitoptionalstring

Specifies whether the Dead Letter Queue FIFO queue throughput quota applies to the entire queue or per message group

Defaultnull
dlq_kms_data_key_reuse_period_secondsoptionalnumber

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)

Defaultnull
dlq_kms_master_key_idoptionalstring

The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK

Defaultnull
dlq_message_retention_secondsoptionalnumber

The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days)

Defaultnull
dlq_nameoptionalstring

This is the human-readable name of the queue. If omitted, Terraform will assign a random name

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

A map of IAM policy [statements](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document#statement) for custom permission usage

Defaultnull
dlq_receive_wait_time_secondsoptionalnumber

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)

Defaultnull
dlq_redrive_allow_policyoptionalany

The JSON policy to set up the Dead Letter Queue redrive permission, see AWS docs

Default{}
dlq_sqs_managed_sse_enabledoptionalbool

Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys

Defaulttrue
dlq_tagsoptionalmap(string)

A mapping of additional tags to assign to the dead letter queue

Default{}
dlq_visibility_timeout_secondsoptionalnumber

The visibility timeout for the queue. An integer from 0 to 43200 (12 hours)

Defaultnull
fifo_queueoptionalbool

Boolean designating a FIFO queue

Defaultfalse
fifo_throughput_limitoptionalstring

Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group

Defaultnull
kms_data_key_reuse_period_secondsoptionalnumber

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)

Defaultnull
kms_master_key_idoptionalstring

The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK

Defaultnull
max_message_sizeoptionalnumber

The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 1048576 bytes (1024 KiB). The default for this attribute is 262144 (256 KiB)

Defaultnull
message_retention_secondsoptionalnumber

The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days)

Defaultnull
nameoptionalstring

This is the human-readable name of the queue. If omitted, Terraform will assign a random name

Defaultnull
override_dlq_queue_policy_documentsoptionallist(string)

List of IAM policy documents that are merged together into the exported document. In merging, statements with non-blank `sid`s will override statements with the same `sid`

Default[]
override_queue_policy_documentsoptionallist(string)

List of IAM policy documents that are merged together into the exported document. In merging, statements with non-blank `sid`s will override statements with the same `sid`

Default[]
queue_policy_statementsoptionalmap(object({ sid = optional(string) actions = optional(list(string)) not_actions…

A map of IAM policy [statements](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document#statement) for custom permission usage

Defaultnull
receive_wait_time_secondsoptionalnumber

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)

Defaultnull
redrive_allow_policyoptionalany

The JSON policy to set up the Dead Letter Queue redrive permission, see AWS docs

Default{}
redrive_policyoptionalany

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")

Default{}
regionoptionalstring

Region where the resource(s) will be managed. Defaults to the Region set in the provider configuration

Defaultnull
source_dlq_queue_policy_documentsoptionallist(string)

List of IAM policy documents that are merged together into the exported document. Statements must have unique `sid`s

Default[]
source_queue_policy_documentsoptionallist(string)

List of IAM policy documents that are merged together into the exported document. Statements must have unique `sid`s

Default[]
sqs_managed_sse_enabledoptionalbool

Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys

Defaulttrue
tagsoptionalmap(string)

A mapping of tags to assign to all resources

Default{}

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

Outputs

10
dead_letter_queue_arn

The ARN of the SQS queue

dead_letter_queue_arn_static

The ARN of the SQS queue. Use this to avoid cycle errors between resources (e.g., Step Functions)

dead_letter_queue_id

The URL for the created Amazon SQS queue

dead_letter_queue_name

The name of the SQS queue

dead_letter_queue_url

Same as `dead_letter_queue_id`: The URL for the created Amazon SQS queue

queue_arn

The ARN of the SQS queue

queue_arn_static

The ARN of the SQS queue. Use this to avoid cycle errors between resources (e.g., Step Functions)

queue_id

The URL for the created Amazon SQS queue

queue_name

The name of the SQS queue

queue_url

Same as `queue_id`: The URL for the created Amazon SQS queue

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