@@ -229,6 +229,22 @@ resource "aws_network_acl_rule" "public_outbound" {
229229
230230locals {
231231 create_private_subnets = local. create_vpc && local. len_private_subnets > 0
232+
233+ private_route_table_routes_map = {
234+ for rt_id , routes in var . private_route_table_routes :
235+ rt_id = > [
236+ for idx , route in routes : {
237+ key = " ${ rt_id } -${ idx } "
238+ route_table_id = rt_id
239+ route = route
240+ }
241+ ]
242+ }
243+
244+ private_route_table_routes_flat = {
245+ for route_item in flatten (values (local. private_route_table_routes_map )) :
246+ route_item.key = > route_item
247+ }
232248}
233249
234250resource "aws_subnet" "private" {
@@ -287,6 +303,24 @@ resource "aws_route_table_association" "private" {
287303 )
288304}
289305
306+ resource "aws_route" "private_route_table_routes" {
307+ for_each = local. private_route_table_routes_flat
308+
309+ route_table_id = each. value . route_table_id
310+
311+ # Route attributes
312+ destination_cidr_block = lookup (each. value . route , " destination_cidr_block" , null )
313+ destination_ipv6_cidr_block = lookup (each. value . route , " destination_ipv6_cidr_block" , null )
314+ egress_only_gateway_id = lookup (each. value . route , " egress_only_gateway_id" , null )
315+ gateway_id = lookup (each. value . route , " gateway_id" , null )
316+ nat_gateway_id = lookup (each. value . route , " nat_gateway_id" , null )
317+ transit_gateway_id = lookup (each. value . route , " transit_gateway_id" , null )
318+ vpc_peering_connection_id = lookup (each. value . route , " vpc_peering_connection_id" , null )
319+ local_gateway_id = lookup (each. value . route , " local_gateway_id" , null )
320+ carrier_gateway_id = lookup (each. value . route , " carrier_gateway_id" , null )
321+ destination_prefix_list_id = lookup (each. value . route , " destination_prefix_list_id" , null )
322+ }
323+
290324# ###############################################################################
291325# Private Network ACLs
292326# ###############################################################################
0 commit comments