terraform {
  backend "s3" {
    bucket                  = "prod-dna-tfstate"
    key                     = "Delphi/Common/main.tfstate"
    region                  = "us-east-1"
    shared_credentials_file = "~/.aws/credentials"
    profile                 = "gdb-delphi-prod"
    dynamodb_table          = "terraform-state-lock-dynamodb"
  }
}

# Get current account ID and global accounts list
data "aws_caller_identity" "current" {}

module "aws_accounts_list" {
  source = "../../modules/iam/aws_accounts_list"
}

locals {
  # define AZ in region id
  availability_zones  = formatlist("%v%v", var.aws_region_id, ["a", "b", "c"])
  name_prefix         = lower("${var.platform["prefix"]}-${var.platform["name"]}")
  env_prefix          = lower(var.platform["prefix"])
  environment         = var.platform.environment
  account_id          = data.aws_caller_identity.current.account_id
  platform            = lower(var.platform["name"])
  aggregated_tag      = "${var.platform.short_platform_name}_${var.platform.prefix}"
  policy_base_arn     = "arn:aws:iam::${local.account_id}:policy/prod-${local.platform}"
  secrets_name_prefix = "${local.platform}/prod"

  common_tags = {
    platform          = var.platform["name"]
    environment       = var.platform["environment"]
    platform_with_env = "${var.platform["name"]} ${var.platform["environment"]}"
    managed_by        = "Terraform"
  }

}

data "aws_kms_key" "secrets_general_key" {
  key_id = "alias/prod/${local.platform}/secrets_general"
}
