module "aws_accounts" {
  source = "../../modules/read_accounts_map"
}

provider "aws" {
  region = "us-east-1"

  default_tags {
    tags = module.default_tags.tags
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = "dev"
  application_family = "devops"
  service_name       = "terraform-aws-accounts-map-test"
  team_name          = "devops"
}

locals {
  # List of IDs of all accounts
  account_ids = module.aws_accounts.account_ids

  # Fetch account id by name
  prod_account_id   = module.aws_accounts.all_accounts["prod"]
  dev_account_id    = module.aws_accounts.all_accounts["dev"]
  shared_account_id = module.aws_accounts.all_accounts["shared"]

  all_qa_orchard_accounts_ids = [
    for name, properties in module.aws_accounts.accounts_map :
    properties["account_id"] if properties["ou"] == "orchard" && properties["environment"] == "qa"
  ]
}

# example in the policy

output "account_ids" {
  value = local.account_ids
}
output "prod_account_id" {
  value = local.prod_account_id
}
output "dev_account_id" {
  value = local.dev_account_id
}
output "shared_account_id" {
  value = local.shared_account_id
}
output "all_qa_orchard_accounts_ids" {
  value = local.all_qa_orchard_accounts_ids
}
