
terraform-aws-arc-sqs¶
Module:
sourcefuse/arc-sqs/awsRegistry: https://registry.terraform.io/modules/sourcefuse/arc-sqs/aws
Category: Messaging / Queuing
Overview¶
Creates SQS queues (standard or FIFO) with dead letter queues, KMS encryption, access policies, and long polling.
What It Does¶
- Standard and FIFO SQS queues
- Dead letter queue (DLQ) with configurable max receive count
- KMS encryption for messages at rest
- Long polling configuration
- Visibility timeout and message retention settings
- Queue access policy management
- Content-based deduplication for FIFO queues
Quickstart¶
Examples¶
- basic-standard-queue - Simple SQS queue with minimal configuration
- standard-queue-with-dlq - Queue with Dead Letter Queue for message failure handling
- fifo-queue - FIFO queue with message ordering and deduplication
- encrypted-queue - Queue with customer-managed KMS encryption
- sns-fanout-queue - SQS queue configured for SNS topic subscriptions
For detailed usage instructions, see the Module Usage Guide.
Required Inputs¶
| Name | Type | Description |
|---|---|---|
name |
string |
SQS queue name |
| ## Key Outputs |
| Name | Description |
|---|---|
queue_url |
SQS queue URL |
queue_arn |
SQS queue ARN |
dlq_arn |
Dead letter queue ARN (if enabled) |
| ## Full Variable & Output Reference |
The complete inputs/outputs reference is auto-generated below.
Requirements¶
| Name | Version |
|---|---|
| terraform | ~> 1.3, < 2.0.0 |
| aws | >= 5.0, < 7.0 |
Providers¶
| Name | Version |
|---|---|
| aws | 6.16.0 |
Modules¶
| Name | Source | Version |
|---|---|---|
| kms | sourcefuse/arc-kms/aws | 1.0.11 |
Resources¶
| Name | Type |
|---|---|
| aws_sqs_queue.dlq | resource |
| aws_sqs_queue.this | resource |
| aws_sqs_queue_policy.this | resource |
| aws_caller_identity.current | data source |
| aws_iam_policy_document.this | data source |
Inputs¶
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| custom_redrive_policy | JSON policy to specify an external dead-letter queue (instead of using dlq_config) | string |
null |
no |
| dlq_config | Dead Letter Queue configuration. Set enabled=true to create DLQ | object({ |
{ |
no |
| fifo_config | FIFO queue configuration. Set enabled=true for FIFO queue. deduplication_scope valid values: messageGroup, queue. throughput_limit valid values: perQueue, perMessageGroupId | object({ |
{ |
no |
| kms_config | KMS encryption configuration. If null, uses AWS managed SSE-SQS encryption | object({ |
null |
no |
| message_config | Message handling configuration | object({ |
{} |
no |
| name | Name of the SQS queue. If fifo_queue is set to true, the name must end with .fifo | string |
n/a | yes |
| policy_config | Queue policy configuration | object({ |
{ |
no |
| redrive_allow_policy | JSON policy to control which source queues can specify this queue as their dead-letter queue | string |
null |
no |
| tags | A map of tags to assign to all resources | map(string) |
{} |
no |
Outputs¶
| Name | Description |
|---|---|
| dlq_arn | The ARN of the SQS dead letter queue |
| dlq_id | The URL for the created Amazon SQS dead letter queue |
| dlq_name | The name of the SQS dead letter queue |
| dlq_url | Same as dlq_id: The URL for the created Amazon SQS dead letter queue |
| kms_alias_arn | The Amazon Resource Name (ARN) of the KMS alias |
| kms_alias_name | The display name of the KMS alias |
| kms_key_arn | The Amazon Resource Name (ARN) of the KMS key used for encryption |
| kms_key_id | The globally unique identifier for the KMS key |
| queue_arn | The ARN of the SQS queue |
| queue_id | The URL for the created Amazon SQS queue |
| queue_name | The name of the SQS queue |
| queue_policy | The JSON policy of the SQS queue |
| queue_url | Same as queue_id: The URL for the created Amazon SQS queue |
Contributing¶
See CONTRIBUTING.md for commit conventions and development setup.
Authors¶
This project is authored by: - SourceFuse