locals {
  db_owner_secret_prefix = "maintenance/common/${local.project_group}/${local.env_prefix}"
  database_ecr_list = [
    "slz-db-schema",
    "main-db-schema",
    "pd-etldb-schema",
    "workflowdb-schema",
    "data-health-schema"
  ]
  database_map = [
    {
      "task_name"    = "slz-db-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["slz-db-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/slz_owner"
    },
    {
      "task_name"    = "main-db-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["main-db-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/main_owner"
    },
    /* {
      "task_name" = "master-data-db-schema"
      "repo_url" = data.aws_ecr_repository.db_repo["master-data-db-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/master_data_owner"
    },
    {
      "task_name"    = "pd-apidb-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["pd-apidb-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/pd_apidb_owner"
    }, */
    {
      "task_name"    = "pd-etldb-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["pd-etldb-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/pd_etldb_owner"
    },
    {
      "task_name"    = "workflowdb-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["workflowdb-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/workflowdb_owner"
    },
    {
      "task_name"    = "data-health-schema"
      "repo_url"     = data.aws_ecr_repository.db_repo["data-health-schema"].repository_url
      "owner_secret" = "${local.db_owner_secret_prefix}/main_owner"
    },
  ]

}

data "aws_ecr_repository" "db_repo" {
  provider = aws.gdb-delphi-dev
  for_each = toset(local.database_ecr_list)
  name     = "delphi/${each.value}"
}

module "db_deployments" {
  source = "../../modules/db_ecs_deployment"

  database_map = local.database_map

  env_prefix     = local.env_prefix
  project_group  = local.project_group
  ecr_tag        = local.docker_image_env_tag[var.platform.prefix]
  role_arn       = data.aws_iam_role.standard_exec.arn
  common_tags    = local.common_tags
  aggregated_tag = local.aggregated_tag
}
