Azure DNS NS Record
This page shows how to write Terraform and Azure Resource Manager for DNS NS Record and write them securely.
azurerm_dns_ns_record (Terraform)
The NS Record in DNS can be configured in Terraform with the resource name azurerm_dns_ns_record
. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_dns_ns_record" "over1B" {
name = "test"
zone_name = azurerm_dns_zone.example.name
resource_group_name = azurerm_resource_group.example.name
ttl = 300
resource "azurerm_dns_ns_record" "dev_it_ns" {
count = var.env_short == "p" ? 1 : 0
name = "dev"
zone_name = azurerm_dns_zone.public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
resource "azurerm_dns_ns_record" "protoassessment-api" {
name = "proto.assessment-api"
zone_name = azurerm_dns_zone.hmpps.name
resource_group_name = azurerm_resource_group.group.name
ttl = "300"
records = ["ns1-04.azure-dns.com.", "ns3-04.azure-dns.org.", "ns2-04.azure-dns.net.", "ns4-04.azure-dns.info."]
resource "azurerm_dns_ns_record" "dev_it_ns" {
count = var.env_short == "p" ? 1 : 0
name = "dev"
zone_name = azurerm_dns_zone.public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
resource "azurerm_dns_ns_record" "over1B" {
name = "test"
zone_name = azurerm_dns_zone.example.name
resource_group_name = azurerm_resource_group.example.name
ttl = 300
resource "azurerm_dns_ns_record" "ns" {
for_each = try(var.records.ns, {})
name = each.value.name
zone_name = var.zone_name
resource_group_name = var.resource_group_name
resource "azurerm_dns_ns_record" "dev_selfcare" {
count = var.env_short == "p" ? 1 : 0
name = "dev"
zone_name = azurerm_dns_zone.selfcare_public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
resource "azurerm_dns_ns_record" "this" {
for_each = { for record in var.ns_recordsets :
record.name => record
}
resource_group_name = lower(var.resource_group_name)
resource "azurerm_dns_ns_record" "ns" {
for_each = try(var.records.ns, {})
name = each.value.name
zone_name = var.zone_name
resource_group_name = var.resource_group_name
resource "azurerm_dns_ns_record" "dev_checkout" {
count = var.env_short == "p" ? 1 : 0
name = "dev"
zone_name = azurerm_dns_zone.checkout_public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
Parameters
-
fqdn
optional computed - string -
id
optional computed - string -
name
required - string -
records
required - list of string -
resource_group_name
required - string -
tags
optional - map from string to string -
ttl
required - number -
zone_name
required - string -
timeouts
single block
Explanation in Terraform Registry
Enables you to manage DNS NS Records within Azure DNS.
Microsoft.Network/dnszones/NS (Azure Resource Manager)
The dnszones/NS in Microsoft.Network can be configured in Azure Resource Manager with the resource name Microsoft.Network/dnszones/NS
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
"type": "Microsoft.Network/dnszones/NS",
"apiVersion": "2018-05-01",
"name": "[concat(parameters('dnszones_lubimyjedzenie_pl_name'), '/@')]",
"dependsOn": [
"[resourceId('Microsoft.Network/dnszones', parameters('dnszones_lubimyjedzenie_pl_name'))]"
],
"type": "Microsoft.Network/dnszones/NS",
"name": "[concat(parameters('zoneName'), '/services')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": 3600,
"NSRecords": [{
"type": "Microsoft.Network/dnszones/NS",
"name": "[concat(parameters('DNSObj').dnsZoneName, '/', parameters('DNSObj').NSRecords[copyIndex()].name)]",
"apiVersion": "2018-05-01",
"copy": {
"name": "obj",
"count": "[length(parameters('DNSObj').NSRecords)]"
"type": "Microsoft.Network/dnszones/NS",
"name": "[concat(parameters('DNSObj').dnsZoneName, '/', parameters('DNSObj').NSRecords[copyIndex()].name)]",
"apiVersion": "2018-05-01",
"copy": {
"name": "obj",
"count": "[length(parameters('DNSObj').NSRecords)]"
"type": "Microsoft.Network/dnszones/NS",
"apiVersion": "2018-05-01",
"name": "[concat(parameters('dnszones_azure_qbits_no_name'), '/@')]",
"dependsOn": [
"[resourceId('Microsoft.Network/dnszones', parameters('dnszones_azure_qbits_no_name'))]"
],
"type": "Microsoft.Network/dnszones/NS",
"etag": "4a34baf3-1864-4af6-adb1-51b90b32823c",
"properties": {
"fqdn": "h7s6n7kl225j4.cloudcustodiantest.com.",
"TTL": 172800,
"NSRecords": [
"type": "Microsoft.Network/dnszones/NS",
"etag": "6f6405de-a959-4535-982d-2a8f4bc43bfc",
"properties": {
"fqdn": "h7s6n7kl225j4.cloudcustodiantest.com.",
"TTL": 172800,
"NSRecords": [
"type": "Microsoft.Network/dnszones/NS",
"etag": "4a34baf3-1864-4af6-adb1-51b90b32823c",
"properties": {
"fqdn": "h7s6n7kl225j4.cloudcustodiantest.com.",
"TTL": 172800,
"NSRecords": [
"type": "Microsoft.Network/dnszones/NS",
"etag": "4a34baf3-1864-4af6-adb1-51b90b32823c",
"properties": {
"fqdn": "h7s6n7kl225j4.cloudcustodiantest.com.",
"TTL": 172800,
"NSRecords": [
"type": "Microsoft.Network/dnszones/NS",
"etag": "4a34baf3-1864-4af6-adb1-51b90b32823c",
"properties": {
"fqdn": "h7s6n7kl225j4.cloudcustodiantest.com.",
"TTL": 172800,
"NSRecords": [
Frequently asked questions
What is Azure DNS NS Record?
Azure DNS NS Record is a resource for DNS of Microsoft Azure. Settings can be wrote in Terraform.
Where can I find the example code for the Azure DNS NS Record?
For Terraform, the gilyas/infracost, pagopa/terraform-infrastructure-template and ministryofjustice/digital-studio-infra source code examples are useful. See the Terraform Example section for further details.
For Azure Resource Manager, the jon-grey/vote-app-azure-production-deployment-with-powershell, mani0070/MarstonServices and canada-ca/accelerators_accelerateurs-azure source code examples are useful. See the Azure Resource Manager Example section for further details.