locals {
  environment           = get_env("ENV_NAME")
  region                = "us-east-1"
  aws_account_id        = get_aws_account_id()
  states_with_qa_suffix = ["anakin", "r2d2", "ahsoka", "bb8", "c3po", "dooku", "force", "kylo", "leia", "luke", "palpatine", "ponda"]
  state_env_name        = contains(local.states_with_qa_suffix, local.environment) ? "${local.environment}-qa" : local.environment
}

generate "data" {
  path      = "data.tf"
  if_exists = "overwrite_terragrunt"
  contents  = <<EOF

data "terraform_remote_state" "network" {
  backend = "s3"
  config = {
    bucket         = "p81-devops-terraform-states"
    dynamodb_table = "devops-us-terraform-tfstate-lock"
    encrypt        = true
    key            = "network/${local.state_env_name}/${local.region}/terraform.tfstate"
    region         = "${local.region}"
  }
}

data "terraform_remote_state" "vpc_endpoint" {
  backend = "s3"
  config = {
    bucket         = "p81-devops-terraform-states"
    dynamodb_table = "devops-us-terraform-tfstate-lock"
    encrypt        = true
    key            = "network/components/vpc-endpoint/vpc-endpoints/${local.state_env_name}/${local.region}/terraform.tfstate"
    region         = "${local.region}"
  }
}

output "vpc_id" {
  value = data.terraform_remote_state.network.outputs.network.vpc_id
}

output "api_gw_vpce_id" {
  value = data.terraform_remote_state.vpc_endpoint.outputs.endpoints_ids["api_getaway"] 
}

EOF
}
