diff --git a/er-gateway.tf b/er-gateway.tf deleted file mode 100644 index 35afb32..0000000 --- a/er-gateway.tf +++ /dev/null @@ -1,49 +0,0 @@ -resource "azurerm_express_route_gateway" "express_route_gateway" { - for_each = local.expressroute_gateways != null && length(local.expressroute_gateways) > 0 ? local.expressroute_gateways : {} - - location = azurerm_virtual_hub.virtual_hub[each.value.virtual_hub_key].location - name = each.value.name - resource_group_name = azurerm_virtual_hub.virtual_hub[each.value.virtual_hub_key].resource_group_name - scale_units = each.value.scale_units - virtual_hub_id = azurerm_virtual_hub.virtual_hub[each.value.virtual_hub_key].id - allow_non_virtual_wan_traffic = each.value.allow_non_virtual_wan_traffic - tags = try(each.value.tags, {}) -} - - -# Create the Express Route Connection -resource "azurerm_express_route_connection" "er_connection" { - for_each = local.er_circuit_connections != null && length(local.er_circuit_connections) > 0 ? local.er_circuit_connections : {} - - express_route_circuit_peering_id = each.value.express_route_circuit_peering_id - express_route_gateway_id = azurerm_express_route_gateway.express_route_gateway[each.value.express_route_gateway_key].id - name = each.value.name - authorization_key = try(each.value.authorization_key, null) - enable_internet_security = try(each.value.enable_internet_security, null) - routing_weight = try(each.value.routing_weight, null) - - dynamic "routing" { - for_each = each.value.routing != null ? [each.value.routing] : [] - - content { - associated_route_table_id = try(azurerm_virtual_hub_route_table.virtual_hub_route_table[each.value.associated_route_table_key].id, routing.value.associated_route_table_id) - inbound_route_map_id = try(routing.value.inbound_route_map_id, null) - outbound_route_map_id = try(routing.value.outbound_route_map_id, null) - - dynamic "propagated_route_table" { - for_each = routing.value.propagated_route_table != null ? [routing.value.propagated_route_table] : [] - - content { - labels = try(propagated_route_table.value.labels, []) - route_table_ids = coalesce( - compact(flatten([ - for route_table_key in try(propagated_route_table.value.route_table_keys, []) : - azurerm_virtual_hub_route_table.virtual_hub_route_table[route_table_key].id - ])), - try(propagated_route_table.value.route_table_ids, []) - ) - } - } - } - } -} diff --git a/examples/vhub-routes/main.tf b/examples/vhub-routes/main.tf index c7b8391..d0132c6 100644 --- a/examples/vhub-routes/main.tf +++ b/examples/vhub-routes/main.tf @@ -74,11 +74,9 @@ resource "azurerm_virtual_network" "vnet" { tags = local.tags subnet { - address_prefix = local.vnet01.subnet1.address_prefix name = local.vnet01.subnet1.name } subnet { - address_prefix = local.vnet01.subnet2.address_prefix name = local.vnet01.subnet2.name security_group = azurerm_network_security_group.nsg.id } diff --git a/examples/vhub-routes/terraform.tf b/examples/vhub-routes/terraform.tf index b1ebe15..bcabbd1 100644 --- a/examples/vhub-routes/terraform.tf +++ b/examples/vhub-routes/terraform.tf @@ -1,9 +1,10 @@ terraform { required_version = "~> 1.7" + required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~> 3.108" + version = "~> 4.0" } random = { source = "hashicorp/random" diff --git a/main.tf b/main.tf index 44fc2da..874cdfe 100644 --- a/main.tf +++ b/main.tf @@ -48,7 +48,7 @@ resource "azurerm_virtual_hub_route_table" "virtual_hub_route_table" { for_each = var.virtual_hub_route_tables name = each.value.name - virtual_hub_id = azurerm_virtual_hub.virtual_hub[each.value.virtual_hub_key].id + virtual_hub_id = module.virtual_hubs.resource_id[each.value.virtual_hub_key] labels = each.value.labels dynamic "route" { @@ -58,7 +58,7 @@ resource "azurerm_virtual_hub_route_table" "virtual_hub_route_table" { destinations = route.value.destinations destinations_type = route.value.destinations_type name = route.value.name - next_hop = try(azurerm_virtual_hub_connection.hub_connection[route.value.vnet_connection_key].id, route.value.next_hop) + next_hop = try(module.virtual_network_connections.resource_object[route.value.vnet_connection_key].id, route.value.next_hop) next_hop_type = route.value.next_hop_type } }