resource "aws_subnet" "public" { count = length(var.vpc-azs) vpc_id = aws_vpc.vpc.id cidr_block = cidrsubnet(var.vpc-cidr, length(var.vpc-azs) * 2, count.index) availability_zone = var.vpc-azs[count.index] map_public_ip_on_launch = var.map-public-ip-on-launch tags = merge({ Name = "${var.vpc-name}-public-${element(var.vpc-azs, count.index)}" }, var.common-tags) } resource "aws_route" "public_internet_gateway" { route_table_id = element(aws_route_table.public_route_table.*.id, count.index) destination_cidr_block = "0.0.0.0/0" gateway_id = aws_internet_gateway.vpc.id count = length(var.vpc-azs) } resource "aws_route_table_association" "public" { count = length(var.vpc-azs) subnet_id = element(aws_subnet.public.*.id, count.index) route_table_id = element(aws_route_table.public_route_table.*.id, count.index) } resource "aws_route_table" "public_route_table" { count = length(var.vpc-azs) vpc_id = aws_vpc.vpc.id tags = merge({ Name = "${var.vpc-name}-public-${element(var.vpc-azs, count.index)}" }, var.common-tags) }