Bicep resource definition
The dnszones/MX resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/dnszones/MX resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/dnszones/MX@2015-05-04-preview' = {
parent: resourceSymbolicName
etag: 'string'
name: 'string'
properties: {
AAAARecords: [
{
ipv6Address: 'string'
}
]
ARecords: [
{
ipv4Address: 'string'
}
]
CNAMERecord: {
cname: 'string'
}
MXRecords: [
{
exchange: 'string'
preference: int
}
]
NSRecords: [
{
nsdname: 'string'
}
]
PTRRecords: [
{
ptrdname: 'string'
}
]
SOARecord: {
email: 'string'
expireTime: int
host: 'string'
minimumTTL: int
refreshTime: int
retryTime: int
serialNumber: int
}
SRVRecords: [
{
port: int
priority: int
target: 'string'
weight: int
}
]
TTL: int
TXTRecords: [
{
value: [
'string'
]
}
]
}
}
Property Values
Microsoft.Network/dnszones/MX
| Name |
Description |
Value |
| etag |
The etag of the record set. |
string |
| name |
The resource name |
string (required) |
| parent |
In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.
For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: dnszones |
| properties |
The properties of the record set. |
RecordSetProperties |
AaaaRecord
| Name |
Description |
Value |
| ipv6Address |
Gets or sets the IPv6 address of this AAAA record in string notation. |
string |
ARecord
| Name |
Description |
Value |
| ipv4Address |
Gets or sets the IPv4 address of this A record in string notation. |
string |
CnameRecord
| Name |
Description |
Value |
| cname |
Gets or sets the canonical name for this record without a terminating dot. |
string |
MxRecord
| Name |
Description |
Value |
| exchange |
Gets or sets the ___domain name of the mail host, without a terminating dot. |
string |
| preference |
Gets or sets the preference metric for this record. |
int |
NsRecord
| Name |
Description |
Value |
| nsdname |
Gets or sets the name server name for this record, without a terminating dot. |
string |
PtrRecord
| Name |
Description |
Value |
| ptrdname |
Gets or sets the PTR target ___domain name for this record without a terminating dot. |
string |
RecordSetProperties
| Name |
Description |
Value |
| AAAARecords |
Gets or sets the list of AAAA records in the RecordSet. |
AaaaRecord[] |
| ARecords |
Gets or sets the list of A records in the RecordSet. |
ARecord[] |
| CNAMERecord |
Gets or sets the CNAME record in the RecordSet. |
CnameRecord |
| MXRecords |
Gets or sets the list of MX records in the RecordSet. |
MxRecord[] |
| NSRecords |
Gets or sets the list of NS records in the RecordSet. |
NsRecord[] |
| PTRRecords |
Gets or sets the list of PTR records in the RecordSet. |
PtrRecord[] |
| SOARecord |
Gets or sets the SOA record in the RecordSet. |
SoaRecord |
| SRVRecords |
Gets or sets the list of SRV records in the RecordSet. |
SrvRecord[] |
| TTL |
Gets or sets the TTL of the records in the RecordSet. |
int |
| TXTRecords |
Gets or sets the list of TXT records in the RecordSet. |
TxtRecord[] |
SoaRecord
| Name |
Description |
Value |
| email |
Gets or sets the email for this record. |
string |
| expireTime |
Gets or sets the expire time for this record. |
int |
| host |
Gets or sets the ___domain name of the authoritative name server, without a terminating dot. |
string |
| minimumTTL |
Gets or sets the minimum TTL value for this record. |
int |
| refreshTime |
Gets or sets the refresh value for this record. |
int |
| retryTime |
Gets or sets the retry time for this record. |
int |
| serialNumber |
Gets or sets the serial number for this record. |
int |
SrvRecord
| Name |
Description |
Value |
| port |
Gets or sets the port of the service for this record. |
int |
| priority |
Gets or sets the priority metric for this record. |
int |
| target |
Gets or sets the ___domain name of the target for this record, without a terminating dot. |
string |
| weight |
Gets or sets the weight metric for this record. |
int |
TxtRecord
| Name |
Description |
Value |
| value |
Gets or sets the text value of this record. |
string[] |
ARM template resource definition
The dnszones/MX resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/dnszones/MX resource, add the following JSON to your template.
{
"type": "Microsoft.Network/dnszones/MX",
"apiVersion": "2015-05-04-preview",
"name": "string",
"etag": "string",
"properties": {
"AAAARecords": [
{
"ipv6Address": "string"
}
],
"ARecords": [
{
"ipv4Address": "string"
}
],
"CNAMERecord": {
"cname": "string"
},
"MXRecords": [
{
"exchange": "string",
"preference": "int"
}
],
"NSRecords": [
{
"nsdname": "string"
}
],
"PTRRecords": [
{
"ptrdname": "string"
}
],
"SOARecord": {
"email": "string",
"expireTime": "int",
"host": "string",
"minimumTTL": "int",
"refreshTime": "int",
"retryTime": "int",
"serialNumber": "int"
},
"SRVRecords": [
{
"port": "int",
"priority": "int",
"target": "string",
"weight": "int"
}
],
"TTL": "int",
"TXTRecords": [
{
"value": [ "string" ]
}
]
}
}
Property Values
Microsoft.Network/dnszones/MX
| Name |
Description |
Value |
| apiVersion |
The api version |
'2015-05-04-preview' |
| etag |
The etag of the record set. |
string |
| name |
The resource name |
string (required) |
| properties |
The properties of the record set. |
RecordSetProperties |
| type |
The resource type |
'Microsoft.Network/dnszones/MX' |
AaaaRecord
| Name |
Description |
Value |
| ipv6Address |
Gets or sets the IPv6 address of this AAAA record in string notation. |
string |
ARecord
| Name |
Description |
Value |
| ipv4Address |
Gets or sets the IPv4 address of this A record in string notation. |
string |
CnameRecord
| Name |
Description |
Value |
| cname |
Gets or sets the canonical name for this record without a terminating dot. |
string |
MxRecord
| Name |
Description |
Value |
| exchange |
Gets or sets the ___domain name of the mail host, without a terminating dot. |
string |
| preference |
Gets or sets the preference metric for this record. |
int |
NsRecord
| Name |
Description |
Value |
| nsdname |
Gets or sets the name server name for this record, without a terminating dot. |
string |
PtrRecord
| Name |
Description |
Value |
| ptrdname |
Gets or sets the PTR target ___domain name for this record without a terminating dot. |
string |
RecordSetProperties
| Name |
Description |
Value |
| AAAARecords |
Gets or sets the list of AAAA records in the RecordSet. |
AaaaRecord[] |
| ARecords |
Gets or sets the list of A records in the RecordSet. |
ARecord[] |
| CNAMERecord |
Gets or sets the CNAME record in the RecordSet. |
CnameRecord |
| MXRecords |
Gets or sets the list of MX records in the RecordSet. |
MxRecord[] |
| NSRecords |
Gets or sets the list of NS records in the RecordSet. |
NsRecord[] |
| PTRRecords |
Gets or sets the list of PTR records in the RecordSet. |
PtrRecord[] |
| SOARecord |
Gets or sets the SOA record in the RecordSet. |
SoaRecord |
| SRVRecords |
Gets or sets the list of SRV records in the RecordSet. |
SrvRecord[] |
| TTL |
Gets or sets the TTL of the records in the RecordSet. |
int |
| TXTRecords |
Gets or sets the list of TXT records in the RecordSet. |
TxtRecord[] |
SoaRecord
| Name |
Description |
Value |
| email |
Gets or sets the email for this record. |
string |
| expireTime |
Gets or sets the expire time for this record. |
int |
| host |
Gets or sets the ___domain name of the authoritative name server, without a terminating dot. |
string |
| minimumTTL |
Gets or sets the minimum TTL value for this record. |
int |
| refreshTime |
Gets or sets the refresh value for this record. |
int |
| retryTime |
Gets or sets the retry time for this record. |
int |
| serialNumber |
Gets or sets the serial number for this record. |
int |
SrvRecord
| Name |
Description |
Value |
| port |
Gets or sets the port of the service for this record. |
int |
| priority |
Gets or sets the priority metric for this record. |
int |
| target |
Gets or sets the ___domain name of the target for this record, without a terminating dot. |
string |
| weight |
Gets or sets the weight metric for this record. |
int |
TxtRecord
| Name |
Description |
Value |
| value |
Gets or sets the text value of this record. |
string[] |
Usage Examples
The dnszones/MX resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/dnszones/MX resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/dnszones/MX@2015-05-04-preview"
name = "string"
parent_id = "string"
body = {
etag = "string"
properties = {
AAAARecords = [
{
ipv6Address = "string"
}
]
ARecords = [
{
ipv4Address = "string"
}
]
CNAMERecord = {
cname = "string"
}
MXRecords = [
{
exchange = "string"
preference = int
}
]
NSRecords = [
{
nsdname = "string"
}
]
PTRRecords = [
{
ptrdname = "string"
}
]
SOARecord = {
email = "string"
expireTime = int
host = "string"
minimumTTL = int
refreshTime = int
retryTime = int
serialNumber = int
}
SRVRecords = [
{
port = int
priority = int
target = "string"
weight = int
}
]
TTL = int
TXTRecords = [
{
value = [
"string"
]
}
]
}
}
}
Property Values
Microsoft.Network/dnszones/MX
| Name |
Description |
Value |
| etag |
The etag of the record set. |
string |
| name |
The resource name |
string (required) |
| parent_id |
The ID of the resource that is the parent for this resource. |
ID for resource of type: dnszones |
| properties |
The properties of the record set. |
RecordSetProperties |
| type |
The resource type |
"Microsoft.Network/dnszones/MX@2015-05-04-preview" |
AaaaRecord
| Name |
Description |
Value |
| ipv6Address |
Gets or sets the IPv6 address of this AAAA record in string notation. |
string |
ARecord
| Name |
Description |
Value |
| ipv4Address |
Gets or sets the IPv4 address of this A record in string notation. |
string |
CnameRecord
| Name |
Description |
Value |
| cname |
Gets or sets the canonical name for this record without a terminating dot. |
string |
MxRecord
| Name |
Description |
Value |
| exchange |
Gets or sets the ___domain name of the mail host, without a terminating dot. |
string |
| preference |
Gets or sets the preference metric for this record. |
int |
NsRecord
| Name |
Description |
Value |
| nsdname |
Gets or sets the name server name for this record, without a terminating dot. |
string |
PtrRecord
| Name |
Description |
Value |
| ptrdname |
Gets or sets the PTR target ___domain name for this record without a terminating dot. |
string |
RecordSetProperties
| Name |
Description |
Value |
| AAAARecords |
Gets or sets the list of AAAA records in the RecordSet. |
AaaaRecord[] |
| ARecords |
Gets or sets the list of A records in the RecordSet. |
ARecord[] |
| CNAMERecord |
Gets or sets the CNAME record in the RecordSet. |
CnameRecord |
| MXRecords |
Gets or sets the list of MX records in the RecordSet. |
MxRecord[] |
| NSRecords |
Gets or sets the list of NS records in the RecordSet. |
NsRecord[] |
| PTRRecords |
Gets or sets the list of PTR records in the RecordSet. |
PtrRecord[] |
| SOARecord |
Gets or sets the SOA record in the RecordSet. |
SoaRecord |
| SRVRecords |
Gets or sets the list of SRV records in the RecordSet. |
SrvRecord[] |
| TTL |
Gets or sets the TTL of the records in the RecordSet. |
int |
| TXTRecords |
Gets or sets the list of TXT records in the RecordSet. |
TxtRecord[] |
SoaRecord
| Name |
Description |
Value |
| email |
Gets or sets the email for this record. |
string |
| expireTime |
Gets or sets the expire time for this record. |
int |
| host |
Gets or sets the ___domain name of the authoritative name server, without a terminating dot. |
string |
| minimumTTL |
Gets or sets the minimum TTL value for this record. |
int |
| refreshTime |
Gets or sets the refresh value for this record. |
int |
| retryTime |
Gets or sets the retry time for this record. |
int |
| serialNumber |
Gets or sets the serial number for this record. |
int |
SrvRecord
| Name |
Description |
Value |
| port |
Gets or sets the port of the service for this record. |
int |
| priority |
Gets or sets the priority metric for this record. |
int |
| target |
Gets or sets the ___domain name of the target for this record, without a terminating dot. |
string |
| weight |
Gets or sets the weight metric for this record. |
int |
TxtRecord
| Name |
Description |
Value |
| value |
Gets or sets the text value of this record. |
string[] |
Usage Examples
A basic example of deploying DNS MX Record.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "___location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
___location = var.___location
}
resource "azapi_resource" "dnsZone" {
type = "Microsoft.Network/dnsZones@2018-05-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}.com"
___location = "global"
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "MX" {
type = "Microsoft.Network/dnsZones/MX@2018-05-01"
parent_id = azapi_resource.dnsZone.id
name = var.resource_name
body = {
properties = {
MXRecords = [
{
exchange = "mail2.contoso.com"
preference = 20
},
{
exchange = "mail1.contoso.com"
preference = 10
},
]
TTL = 300
metadata = {
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}