module "atlas_um_event_bus_dlq" {
  source = "../../../modules/sqs/"

  name_prefix       = local.name_prefix
  name              = "event_bus_dlq"
  kms_master_key_id = data.aws_kms_alias.default_sqs.target_key_id

  common_tags = merge(
    local.common_tags,
    {
      project                  = "Portal",
      service                  = "SQS",
      plat_env_project_service = "${local.aggregated_tag}_PRL_SQS"
    }
  )
}

data "aws_iam_policy_document" "atlas_um_event_bus_dlq_policy" {
  version = "2012-10-17"

  statement {
    actions = [
      "sqs:SendMessage",
      "sqs:SendMessageBatch",
      "sqs:PurgeQueue",
    ]
    condition {
      test     = "ArnLike"
      variable = "aws:SourceArn"
      values = [
        aws_cloudwatch_event_rule.atlas_um_event_bus_capture_all_rule.arn
      ]
    }
    effect = "Allow"
    principals {
      type        = "Service"
      identifiers = ["events.amazonaws.com"]
    }
    resources = [
      module.atlas_um_event_bus_dlq.queue.arn
    ]
    sid = "Dead-letter queue permissions"
  }
}

resource "aws_sqs_queue_policy" "atlas_um_event_bus_dlq_policy" {
  queue_url = module.atlas_um_event_bus_dlq.queue.id
  policy    = data.aws_iam_policy_document.atlas_um_event_bus_dlq_policy.json
}
