Azure DNS MX Record
This page shows how to write Terraform and Azure Resource Manager for DNS MX Record and write them securely.
azurerm_dns_mx_record (Terraform)
The MX Record in DNS can be configured in Terraform with the resource name azurerm_dns_mx_record
. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_dns_mx_record" "over1B" {
name = "test"
zone_name = azurerm_dns_zone.example.name
resource_group_name = azurerm_resource_group.example.name
ttl = 300
resource "azurerm_dns_mx_record" "mx_record_public_with_zone" {
count = var.create_dns_zone ? (var.public_dns_zone ? 1 : 0) : 0
zone_name = var.zone_name
resource_group_name = var.resource_group_name
resource "azurerm_dns_mx_record" "dns_mx_record" {
zone_name = azurerm_dns_zone.dns_zone.name
resource_group_name = azurerm_resource_group.resource_group.name
ttl = var.default_ttl
record {
resource "azurerm_dns_mx_record" "over1B" {
name = "test"
zone_name = azurerm_dns_zone.example.name
resource_group_name = azurerm_resource_group.example.name
ttl = 300
resource "azurerm_dns_mx_record" "this" {
for_each = { for record in var.mx_recordsets :
record.name => record
}
resource_group_name = lower(lower(var.resource_group_name))
resource "azurerm_dns_mx_record" "mx" {
for_each = try(var.records.mx, {})
name = each.value.name
zone_name = var.zone_name
resource_group_name = var.resource_group_name
resource "azurerm_dns_mx_record" "mx" {
for_each = try(var.records.mx, {})
name = each.value.name
zone_name = var.zone_name
resource_group_name = var.resource_group_name
resource "azurerm_dns_mx_record" "google_apps" {
zone_name = azurerm_dns_zone.reifnir_com.name
resource_group_name = azurerm_resource_group.dns.name
ttl = 60
record {
resource "azurerm_dns_mx_record" "DNSMXRecord" {
# references: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/dns_mx_record
name = var.dns_mx_record_name
zone_name = var.dns_zone_name
resource "azurerm_dns_mx_record" "mx" {
for_each = try(var.records.mx, {})
name = each.value.name
zone_name = var.zone_name
resource_group_name = var.resource_group_name
Parameters
-
fqdn
optional computed - string -
id
optional computed - string -
name
optional - string -
resource_group_name
required - string -
tags
optional - map from string to string -
ttl
required - number -
zone_name
required - string -
record
set block-
exchange
required - string -
preference
required - string
-
-
timeouts
single block
Explanation in Terraform Registry
Enables you to manage DNS MX Records within Azure DNS.
Microsoft.Network/dnszones/MX (Azure Resource Manager)
The dnszones/MX in Microsoft.Network can be configured in Azure Resource Manager with the resource name Microsoft.Network/dnszones/MX
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('DNSObj').dnsZoneName, '/', parameters('DNSObj').MXRecords[copyIndex()].name)]",
"apiVersion": "2018-05-01",
"copy": {
"name": "obj",
"count": "[length(parameters('DNSObj').MXRecords)]"
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('DNSObj').dnsZoneName, '/', parameters('DNSObj').MXRecords[copyIndex()].name)]",
"apiVersion": "2018-05-01",
"copy": {
"name": "obj",
"count": "[length(parameters('DNSObj').MXRecords)]"
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [{
"type": "Microsoft.Network/dnszones/MX",
"name": "[concat(parameters('dnsZoneName'),'/','@')]",
"apiVersion": "2016-04-01",
"properties": {
"TTL": "[parameters('ttl')]",
"MXRecords": [
Frequently asked questions
What is Azure DNS MX Record?
Azure DNS MX 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 MX Record?
For Terraform, the gilyas/infracost, scalair/terraform-azurerm-dns and cbchalmers/Azure-SaaS-DNS-Public-Zone-M365-Records source code examples are useful. See the Terraform Example section for further details.
For Azure Resource Manager, the canada-ca/accelerators_accelerateurs-azure, canada-ca/accelerators_accelerateurs-azure and RTmtfiallos/ABCDS-AKS-NAT-AGIC source code examples are useful. See the Azure Resource Manager Example section for further details.