# Backend couldn't use parameters and interpolations yet, the only option is to use terragrunt
terraform {
  backend "s3" {
    bucket                  = "gdb-artistapp-dev-tfstate"
    key                     = "ArtistApp/Staging/deploy.tfstate"
    region                  = "us-east-1"
    shared_credentials_file = "~/.aws/credentials"
    profile                 = "gdb-artistapp-dev"
    dynamodb_table          = "terraform-state-lock-dynamodb"
  }
}

locals {
  account_id          = data.aws_caller_identity.current.account_id
  account_alias       = data.aws_iam_account_alias.current.account_alias
  project_group       = lower(replace(var.platform["name"], "/\\s/", ""))
  name_prefix         = lower("${var.platform["prefix"]}-${local.project_group}")
  env_prefix          = lower(var.platform["prefix"])
  api_domain_name     = "${local.env_prefix}-${local.project_group}-api.apollo.stream"
  secrets_name_prefix = "${local.project_group}/${local.env_prefix}"
  aggregated_tag      = "${var.platform.short_platform_name}_${upper(var.platform.prefix)}"
  policy_base_arn     = "arn:aws:iam::${local.account_id}:policy/${local.name_prefix}"
  environment         = lower(var.platform.environment)

  docker_image_env_tag = {
    dev   = "develop",
    qa    = "qa",
    stage = "release",
    uat   = "uat",
    prod  = "master",
  }

  common_tags = {}
}

# The attribute `${data.aws_caller_identity.current.account_id}` will be current account number.
data "aws_caller_identity" "current" {}

# The attribue `${data.aws_iam_account_alias.current.account_alias}` will be current account alias
data "aws_iam_account_alias" "current" {}
#
# module "domains" {
#   source = "../../../modules/domains/rti"
# }
#
# module "atlas_domains" {
#   source = "../../../modules/domains/atlas"
# }
#
# module "cloudwatch_logs_retention_by_env" {
#   source = "../../../modules/cloudwatch/logs_retention_by_env"
# }
#
# data "aws_ecs_cluster" "main" {
#   cluster_name = "${local.name_prefix}-clu"
# }
#
# data "aws_kms_key" "secrets_general_key" {
#   key_id = "alias/${local.env_prefix}/${local.project_group}/secrets_general"
# }
#
# resource "aws_cloudwatch_log_group" "datadog-agent" {
#   name = "/ecs/${local.name_prefix}-datadog-agent"
#
#   retention_in_days = module.cloudwatch_logs_retention_by_env[local.env_prefix]
#
#   tags = merge(
#     local.common_tags,
#     {
#       project                  = "Infrastructure",
#       service                  = "ECS",
#       plat_env_project_service = "${local.aggregated_tag}_INFRA_ECS"
#     }
#   )
# }
