data "aws_availability_zones" "available" { state = "available" } locals { az_count = min(var.availability_zone_count, length(data.aws_availability_zones.available.names)) azs = slice(data.aws_availability_zones.available.names, 0, local.az_count) public_subnet_cidrs = [ for index in range(local.az_count) : cidrsubnet(var.vpc_cidr, 4, index) ] private_subnet_cidrs = [ for index in range(local.az_count) : cidrsubnet(var.vpc_cidr, 4, index + local.az_count) ] common_tags = merge( { Terraform = "true" Module = "eks-new-vpc" Environment = var.name }, var.tags ) vpc_id = var.create_vpc ? aws_vpc.this[0].id : var.existing_vpc_id public_subnet_ids = var.create_vpc ? values(aws_subnet.public)[*].id : var.existing_public_subnet_ids private_subnet_ids = var.create_vpc ? values(aws_subnet.private)[*].id : var.existing_private_subnet_ids }