tf/private_dns_resolver.tf (27 lines of code) (raw):
resource "azurerm_private_dns_resolver" "dns_resolver" {
count = local.create_outbounddns_subnet || local.create_dnsfw_rules ? 1 : 0
name = "dns-resolver-${random_string.resource_postfix.result}"
location = local.create_rg ? azurerm_resource_group.rg[0].location : data.azurerm_resource_group.rg[0].location
resource_group_name = local.create_rg ? azurerm_resource_group.rg[0].name : data.azurerm_resource_group.rg[0].name
virtual_network_id = local.create_vnet ? azurerm_virtual_network.azhop[0].id : data.azurerm_virtual_network.azhop[0].id
}
resource "azurerm_private_dns_resolver_outbound_endpoint" "resolver_outbound_endpoint" {
count = local.create_outbounddns_subnet || local.create_dnsfw_rules ? 1 : 0
name = "dns-outbound-endpoint-${random_string.resource_postfix.result}"
private_dns_resolver_id = azurerm_private_dns_resolver.dns_resolver[0].id
location = azurerm_private_dns_resolver.dns_resolver[0].location
subnet_id = local.create_outbounddns_subnet ? azurerm_subnet.outbounddns[0].id : data.azurerm_subnet.outbounddns[0].id
}
resource "azurerm_private_dns_resolver_dns_forwarding_ruleset" "forwarding_ruleset" {
count = local.create_dnsfw_rules ? 1 : 0
name = "dns-fw-ruleset-${random_string.resource_postfix.result}"
resource_group_name = azurerm_private_dns_resolver.dns_resolver[0].resource_group_name
location = azurerm_private_dns_resolver.dns_resolver[0].location
private_dns_resolver_outbound_endpoint_ids = [azurerm_private_dns_resolver_outbound_endpoint.resolver_outbound_endpoint[0].id]
}
resource "azurerm_private_dns_resolver_virtual_network_link" "resolver_vnet_link" {
count = local.create_dnsfw_rules ? 1 : 0
name = "dsn-link-${random_string.resource_postfix.result}"
dns_forwarding_ruleset_id = azurerm_private_dns_resolver_dns_forwarding_ruleset.forwarding_ruleset[0].id
virtual_network_id = local.create_vnet ? azurerm_virtual_network.azhop[0].id : data.azurerm_virtual_network.azhop[0].id
}