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 = {} }