# SQS webhook ingestion queue with dead-letter routing and (optional) KMS. resource "aws_sqs_queue" "dlq" { name = "${var.name}-webhook-dlq" message_retention_seconds = var.dlq_retention_seconds kms_master_key_id = var.kms_key_arn tags = merge(var.tags, { Name = "${var.name}-webhook-dlq" }) } resource "aws_sqs_queue" "webhook" { name = "${var.name}-webhook-queue" visibility_timeout_seconds = 60 message_retention_seconds = var.retention_seconds kms_master_key_id = var.kms_key_arn receive_wait_time_seconds = 10 redrive_policy = jsonencode({ deadLetterTargetArn = aws_sqs_queue.dlq.arn maxReceiveCount = 5 }) tags = merge(var.tags, { Name = "${var.name}-webhook-queue" }) }