resource "aws_sns_topic" "notification" {
  name              = "${local.name_prefix}-notification"
  display_name      = "${local.name_prefix} DAPD notification"
  kms_master_key_id = data.aws_kms_key.custom_default_sns_key.id

  sqs_success_feedback_role_arn = aws_iam_role.sns_logging_role.arn
  sqs_failure_feedback_role_arn = aws_iam_role.sns_logging_role.arn

  tags = merge(
    local.common_tags,
    {
      project                  = "DAPD",
      service                  = "SNS",
      plat_env_project_service = "${local.aggregated_tag}_DAPD_SNS"
    }
  )
}

resource "aws_iam_role" "sns_logging_role" {
  name = "${local.name_prefix}-sns-logging"

  assume_role_policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
POLICY
  tags               = local.common_tags
}

resource "aws_iam_role_policy_attachment" "sns_logging_role" {
  role       = aws_iam_role.sns_logging_role.id
  policy_arn = data.aws_iam_policy.logging.arn
}
