locals {
environments = {
dev = {
cidr = "10.10.0.0/20"
azs = ["us-east-1a", "us-east-1b"]
single_nat_gateway = true
}
staging = {
cidr = "10.20.0.0/18"
azs = ["us-east-1a", "us-east-1b"]
single_nat_gateway = true
}
prod = {
cidr = "10.0.0.0/16"
azs = ["us-east-1a", "us-east-1b", "us-east-1c"]
single_nat_gateway = false
}
}
}
module "vpc" {
for_each = local.environments
source = "registry.patterneddesigns.ca/patterneddesigns/vpc/aws"
version = "1.2.0"
vpc_cidr = each.value.cidr
availability_zones = each.value.azs
single_nat_gateway = each.value.single_nat_gateway
tags = {
Environment = each.key
}
}
output "vpc_ids" {
value = { for k, v in module.vpc : k => v.vpc_id }
}