
variable deploy_environment {
  type = map(string)
  default = {
    nf-sandbox         = "sandbox"
    nf-staging-int     = "staging"
    nf-prod-int        = "production"
  }
}

variable is_public {
  type = map(string)
  default = {
    nf-sandbox         = 1
    nf-staging-int     = 1
    nf-prod-int        = 1
  }
}


variable nfconsole_root_domain {
  type = map(string)
  default = {
    nf-sandbox         = "sandbox-nfconsole.io"
    nf-staging-int     = "staging-nfconsole.io"
    nf-prod-int        = "nfconsole.io"
  }
}

variable cloudziti_root_domain {
  type = map(string)
  default = {
    nf-sandbox         = "sandbox-cloudziti.io"
    nf-staging-int     = "staging-cloudziti.io"
    nf-prod-int        = "cloudziti.io"
  }
}


variable "ops_mgmt_acct_id" {
  description = "This holds a map of all of the IAM that terraform can use for other accounts"
  default = "984474191526"
}

variable aws_default_region {
  default = "us-east-1"
}

variable region {
  type = map(string)
  default = {
    nf-sandbox         = "us-east-1"
    nf-staging-int     = "us-east-1"
    nf-prod-int        = "us-east-1",
  }
}

locals {

  deploy_environment = var.deploy_environment[terraform.workspace]
  region             = var.region[terraform.workspace]
  vpc_id             = data.terraform_remote_state.mop_core.outputs.vpc_id
  vpc_cidr           = data.terraform_remote_state.mop_core.outputs.vpc_id
  public_subnets     = data.terraform_remote_state.mop_core.outputs.vpc_subnet_public_ids
  sg_ssh_id          = data.terraform_remote_state.mop_core.outputs.sg_ssh_id
  sg_alb_id          = data.terraform_remote_state.mop_core.outputs.sg_alb_id
  console_domain     = var.nfconsole_root_domain[terraform.workspace]
  cloudziti_domain   = var.cloudziti_root_domain[terraform.workspace]
  is_public          = var.is_public[terraform.workspace]

  identity_service_task_role_arn = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/identity-service-task-role"
  identity_service_user_arn      = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:user/identity_service"
  identity_principals = {
    nf-sandbox = [
      local.identity_service_task_role_arn,
      local.identity_service_user_arn
    ]
    nf-staging-int = [
      local.identity_service_task_role_arn
    ]
    nf-prod-int = [
      local.identity_service_task_role_arn
    ]
  }
}
