locals {
  service_name = "network-auth-service"

  container_port = 8103

  env_account = terraform.workspace
  
  deploy_env_name = lookup(var.workspace_deploy_env, local.env_account)

  region = "us-east-1"

  health_check_path = "/actuator/health"

  spring_config_label = lookup(var.spring_config_label_map, local.env_account)

  rds_instance_class = lookup(var.rds_instance_class_map, local.env_account)

  rds_disk_size = lookup(var.rds_disk_size_map, local.env_account)

  env = {
    default = {
      short_name = "network-auth"
      service_name = "network-auth-service"
      rds_instance_name = "network-auth-db"
      container_port = 8103
      container_count = 1
      health_check_path = "/actuator/health/"
      iam_suffix = ""
    }

    nf-sandbox = {
      subdomain = "sandbox.netfoundry.io"
      deploy_env_name = "sandbox"
      spring_config_label = "develop"
      role_arn = "arn:aws:iam::721086286010:role/ops-mgmt-admin"
    }

    nf-staging-int = {
      subdomain = "staging.netfoundry.io"
      deploy_env_name = "staging"
      spring_config_label = "staging"
      role_arn = "arn:aws:iam::560269805515:role/ops-mgmt-admin"
    }

    nf-prod-int = {
      subdomain = "production.netfoundry.io"
      deploy_env_name = "production"
      spring_config_label = "production"
      container_count = 2
      role_arn = "arn:aws:iam::745435643501:role/ops-mgmt-admin"
    }

    nf-staging-west-int = {
      subdomain = "staging-west.netfoundry.io"
      deploy_env_name = "staging"
      spring_config_label = "staging"
      role_arn = "arn:aws:iam::560269805515:role/ops-mgmt-admin"
      iam_suffix = "-DR"
    }

  }

  environmentvars = contains(keys(local.env), terraform.workspace) ? terraform.workspace : "default"
  workspace       = merge(local.env["default"], local.env[local.environmentvars])

  rds_replicate_source_db_map = {
    "nf-sandbox" = ""
    "nf-staging-int" = ""
    "nf-prod-int" = ""
  }
# use to control RDS instance replication if replication source is defined
  rds_replicate_source_db = "false"
#  rds_replicate_source_db = "false" # use to convert replica to standalone instance (DR failover)
  replicate_source_db = local.rds_replicate_source_db == "false" ? "" :  local.rds_replicate_source_db_map[terraform.workspace]
}
