module "dae_s3_consumer_events_distribution_role" {
  source = "../../../modules/iam/roles/lambda_role"

  name_prefix                = "${local.env_prefix}-${local.project_group}"
  name                       = "dae-s3-consumer-events-distribution-lambda-role"
  allow_execution_inside_vpc = true

  policies_list = [
    data.aws_iam_policy.logging.arn,
    module.iam_map.s3_env_rw.arn,
    module.iam_map.dae_s3_consumer_events_distribution_lambda_assume_policy.arn,
    data.aws_iam_policy.secrets-services-ro.arn,
  ]

  common_tags = merge(
    local.common_tags,
    {
      project                  = "Decibel",
      service                  = "Lambda",
      plat_env_project_service = "${local.aggregated_tag}_DCBL_LMB"
    }
  )
}

data "aws_lambda_function" "dae_s3_consumer_events_distribution_lambda" {
  function_name = "${local.env_prefix}-${local.project_group}-dae-s3-consumer-events-distribution-lambda-${local.env_prefix}"
}

module "dae_s3_consumer_events_distribution_trigger" {
  source               = "../../../modules/lambda/bucket_trigger"
  function_arn         = data.aws_lambda_function.dae_s3_consumer_events_distribution_lambda.arn
  bucket_name          = "${local.env_prefix}-delphi-notifications"
  bucket_filter_suffix = ".json"
}

