1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# SQS queues ==================================================================
resource "aws_sqs_queue" "this" {
for_each = var.queues
name = local.queue_names[each.key]
fifo_queue = each.value.fifo_queue
content_based_deduplication = each.value.fifo_queue ? each.value.content_based_deduplication : null
deduplication_scope = each.value.fifo_queue ? each.value.deduplication_scope : null
fifo_throughput_limit = each.value.fifo_queue ? each.value.fifo_throughput_limit : null
delay_seconds = each.value.delay_seconds
max_message_size = each.value.max_message_size
message_retention_seconds = each.value.message_retention_seconds
receive_wait_time_seconds = each.value.receive_wait_time_seconds
visibility_timeout_seconds = each.value.visibility_timeout_seconds
kms_master_key_id = each.value.kms_master_key_id
kms_data_key_reuse_period_seconds = each.value.kms_master_key_id != null ? each.value.kms_data_key_reuse_period_seconds : null
# sqs_managed_sse_enabled must not be set when kms_master_key_id is set
sqs_managed_sse_enabled = each.value.kms_master_key_id == null ? each.value.sqs_managed_sse_enabled : null
redrive_policy = each.value.redrive_policy != null ? jsonencode({
deadLetterTargetArn = aws_sqs_queue.this[each.value.redrive_policy.dead_letter_queue_key].arn
maxReceiveCount = each.value.redrive_policy.max_receive_count
}) : null
redrive_allow_policy = each.value.redrive_allow_policy != null ? jsonencode({
redrivePermission = each.value.redrive_allow_policy.redrive_permission
sourceQueueArns = each.value.redrive_allow_policy.source_queue_arns
}) : null
tags = local.tags
}
# SQS queue policies ==========================================================
resource "aws_sqs_queue_policy" "this" {
for_each = var.queue_policies
queue_url = aws_sqs_queue.this[each.key].id
policy = each.value.policy
}
|