I think multiple people have asked the same question but my condition is different. I am taking input from the user for the vpc region, cidr value even the public subnet segment too. I have to attach all my public subnet to the default route table and private subnets to the diff route table . can you help me in how to attach them .
provider "aws" { region = var.region } resource "aws_vpc" "app_vpc" { cidr_block = var.vpc_cidr enable_dns_support = true enable_dns_hostnames = true tags = { Name = var.vpc_name } } # create igw resource "aws_internet_gateway" "app_igw" { vpc_id = aws_vpc.app_vpc.id } data "aws_availability_zones" "available" { state = "available" } #provision public subnet resource "aws_subnet" "public_subnet_01" { vpc_id = aws_vpc.app_vpc.id cidr_block = var.public_subnet_01 availability_zone = data.aws_availability_zones.available.names[0] tags = { Name = "public_subnet_01" } depends_on = [aws_vpc_dhcp_options_association.dns_resolver] } resource "aws_subnet" "public_subnet_02" { vpc_id = aws_vpc.app_vpc.id cidr_block = var.public_subnet_02 availability_zone = data.aws_availability_zones.available.names[1] tags = { Name = "public_subnet_02" } depends_on = [aws_vpc_dhcp_options_association.dns_resolver] } resource "aws_subnet" "public_subnet_03" { vpc_id = aws_vpc.app_vpc.id cidr_block = var.public_subnet_03 availability_zone = data.aws_availability_zones.available.names[2] tags = { Name = "public_subnet_03" } depends_on = [aws_vpc_dhcp_options_association.dns_resolver] } #default route table resource "aws_default_route_table" "default" { default_route_table_id = aws_vpc.app_vpc.default_route_table_id route { cidr_block = "0.0.0.0/0" gateway_id = aws_internet_gateway.app_igw.id } } resource "aws_route_table_association" "default_association_01" { subnet_id = [aws_subnet.public_subnet_01.id, aws_subnet.public_subnet_02.id, aws_subnet.public_subnet_03.id] route_table_id = aws_vpc.app_vpc.default_route_table_id } I am getting error in adding multiple subnet so can u please help here :)