locals {
  env = {
    default = {
      short_name = "oci_provider"
      service_name = "oci-provider-service"
      container_port = 8097
      health_check_path = "/actuator/health/"
      iam_suffix = ""
      region = var.region[terraform.workspace]
      failover_region = "ap-south-1"
      failover_task_count = 0
      task_count = 1
      dynamodb_access = [
        "arn:aws:dynamodb:*:*:table/host-sizes",
        "arn:aws:dynamodb:*:*:table/oci-network-config",
        "arn:aws:dynamodb:*:*:table/oci-region"
      ]

      dynamodb_lock_access = [
        "arn:aws:dynamodb:*:*:table/oci-provider-locks"
      ]

      dynamodb_ip_management = [
        "arn:aws:dynamodb:*:*:table/addresses"
      ]
    }

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

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

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

    nf-staging-west-int = {
      subdomain = "staging-west.netfoundry.io"
      deploy_environment = "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])

  cost_tags = {
    cost_environment  = local.workspace["deploy_environment"] == "production" ? "production" : "non-production"
    cost_category     = "MOPINT"
    cost_team_owner   = "MOPPLT"
  }

}
