modules/site-to-site-gateway/main.tf (30 lines of code) (raw):

resource "azurerm_vpn_gateway" "vpn_gateway" { for_each = var.vpn_gateways != null ? var.vpn_gateways : {} location = each.value.location name = each.value.name resource_group_name = each.value.resource_group_name virtual_hub_id = each.value.virtual_hub_id bgp_route_translation_for_nat_enabled = try(each.value.bgp_route_translation_for_nat_enabled, false) routing_preference = try(each.value.routing_preference, null) scale_unit = try(each.value.scale_unit, null) tags = try(each.value.tags, {}) dynamic "bgp_settings" { for_each = each.value.bgp_settings != null ? [each.value.bgp_settings] : [] content { asn = bgp_settings.value.asn peer_weight = bgp_settings.value.peer_weight dynamic "instance_0_bgp_peering_address" { for_each = bgp_settings.value.instance_0_bgp_peering_address != null ? [bgp_settings.value.instance_0_bgp_peering_address] : [] content { custom_ips = try(instance_0_bgp_peering_address.value.custom_ips, null) } } dynamic "instance_1_bgp_peering_address" { for_each = bgp_settings.value.instance_1_bgp_peering_address != null ? [bgp_settings.value.instance_1_bgp_peering_address] : [] content { custom_ips = try(instance_1_bgp_peering_address.value.custom_ips, null) } } } } }