Multiple Environments

locals {
  environments = {
    dev = {
      region_code = "use1"
    }
    stg = {
      region_code = "use1"
    }
    prod = {
      region_code = "use1"
    }
  }
}

module "naming" {
  for_each = local.environments

  source  = "registry.patterneddesigns.ca/standardnat/naming-convention/aws"
  version = "2.0.0"

  environment = each.key
  project     = "myapp"
  region_code = each.value.region_code
}

# Create S3 buckets for each environment
resource "aws_s3_bucket" "data" {
  for_each = local.environments

  bucket = "${module.naming[each.key].prefix}-data"
  tags   = module.naming[each.key].tags
}
# Results:
# - dev-myapp-use1-data
# - stg-myapp-use1-data
# - prod-myapp-use1-data