resource "aws_vpc" "this" { count = var.create_vpc ? 1 : 0 cidr_block = var.vpc_cidr enable_dns_hostnames = true enable_dns_support = true tags = merge( local.common_tags, { Name = "${var.name}-vpc" } ) } resource "aws_subnet" "public" { for_each = var.create_vpc ? { for index, az in local.azs : az => { cidr_block = local.public_subnet_cidrs[index] az = az } } : {} vpc_id = aws_vpc.this[0].id availability_zone = each.value.az cidr_block = each.value.cidr_block map_public_ip_on_launch = true tags = merge( local.common_tags, { Name = "${var.name}-public-${each.value.az}" "kubernetes.io/cluster/${var.name}" = "shared" "kubernetes.io/role/elb" = "1" } ) } resource "aws_subnet" "private" { for_each = var.create_vpc ? { for index, az in local.azs : az => { cidr_block = local.private_subnet_cidrs[index] az = az } } : {} vpc_id = aws_vpc.this[0].id availability_zone = each.value.az cidr_block = each.value.cidr_block tags = merge( local.common_tags, { Name = "${var.name}-private-${each.value.az}" "kubernetes.io/cluster/${var.name}" = "shared" "kubernetes.io/role/internal-elb" = "1" } ) }