p2s-vpn-gateway.tf (39 lines of code) (raw):

# Point to site VPN Gateway resource "azurerm_vpn_server_configuration" "p2s_gateway_vpn_server_configuration" { for_each = local.p2s_gateway_vpn_server_configurations != null && length(local.p2s_gateway_vpn_server_configurations) > 0 ? local.p2s_gateway_vpn_server_configurations : {} location = module.virtual_hubs.location[each.value.virtual_hub_key] name = each.value.name resource_group_name = module.virtual_hubs.resource_group_name[each.value.virtual_hub_key] vpn_authentication_types = each.value.vpn_authentication_types tags = try(each.value.tags, {}) dynamic "azure_active_directory_authentication" { for_each = each.value.azure_active_directory_authentication != null ? [each.value.azure_active_directory_authentication] : [] content { audience = each.value.azure_active_directory_authentication.audience issuer = each.value.azure_active_directory_authentication.issuer tenant = each.value.azure_active_directory_authentication.tenant } } dynamic "client_root_certificate" { for_each = each.value.client_root_certificate != null ? [each.value.client_root_certificate] : [] content { name = each.value.client_root_certificate.name public_cert_data = each.value.client_root_certificate.public_cert_data } } } resource "azurerm_point_to_site_vpn_gateway" "p2s_gateway" { for_each = local.p2s_gateways != null && length(local.p2s_gateways) > 0 ? local.p2s_gateways : {} location = module.virtual_hubs.location[each.value.virtual_hub_key] name = each.value.name resource_group_name = module.virtual_hubs.resource_group_name[each.value.virtual_hub_key] scale_unit = each.value.scale_unit virtual_hub_id = module.virtual_hubs.resource[each.value.virtual_hub_key].id vpn_server_configuration_id = azurerm_vpn_server_configuration.p2s_gateway_vpn_server_configuration[each.value.p2s_gateway_vpn_server_configuration_key].id tags = try(each.value.tags, {}) connection_configuration { name = each.value.connection_configuration.name vpn_client_address_pool { address_prefixes = each.value.connection_configuration.vpn_client_address_pool.address_prefixes } } }