variables.tf
 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
variable "queues" {
  description = "Map of SQS queue definitions"
  type = map(object({
    name                              = string
    fifo_queue                        = optional(bool, false)
    content_based_deduplication       = optional(bool, false)
    deduplication_scope               = optional(string, null)
    fifo_throughput_limit             = optional(string, null)
    delay_seconds                     = optional(number, 0)
    max_message_size                  = optional(number, 262144)
    message_retention_seconds         = optional(number, 345600)
    receive_wait_time_seconds         = optional(number, 0)
    visibility_timeout_seconds        = optional(number, 30)
    kms_master_key_id                 = optional(string, null)
    kms_data_key_reuse_period_seconds = optional(number, 300)
    sqs_managed_sse_enabled           = optional(bool, null)

    redrive_policy = optional(object({
      dead_letter_queue_key = string
      max_receive_count     = optional(number, 3)
    }), null)

    redrive_allow_policy = optional(object({
      redrive_permission = optional(string, "byQueue")
      source_queue_arns  = optional(list(string), [])
    }), null)
  }))
  default = {}
}

variable "queue_policies" {
  description = "Map of SQS queue policy definitions keyed by queue key"
  type = map(object({
    policy = string
  }))
  default = {}
}

variable "tags" {
  description = "Resource tags to apply to all resources"
  type        = map(string)
  default     = {}
}