diff --git a/.azuredevops/modulePipelines/ms.network.privatednszones.yml b/.azuredevops/modulePipelines/ms.network.privatednszones.yml index 581625a02f..17b4ce772c 100644 --- a/.azuredevops/modulePipelines/ms.network.privatednszones.yml +++ b/.azuredevops/modulePipelines/ms.network.privatednszones.yml @@ -42,6 +42,7 @@ stages: parameters: removeDeployment: '${{ parameters.removeDeployment }}' deploymentBlocks: + - path: $(modulePath)/.parameters/min.parameters.json - path: $(modulePath)/.parameters/parameters.json - stage: Publishing diff --git a/.github/workflows/ms.network.privatednszones.yml b/.github/workflows/ms.network.privatednszones.yml index 6fb7999da0..8b27e470e7 100644 --- a/.github/workflows/ms.network.privatednszones.yml +++ b/.github/workflows/ms.network.privatednszones.yml @@ -81,7 +81,7 @@ jobs: strategy: fail-fast: false matrix: - parameterFilePaths: ['parameters.json'] + parameterFilePaths: ['min.parameters.json', 'parameters.json'] steps: - name: 'Checkout' uses: actions/checkout@v2 diff --git a/arm/Microsoft.Network/privateDnsZones/.parameters/min.parameters.json b/arm/Microsoft.Network/privateDnsZones/.parameters/min.parameters.json new file mode 100644 index 0000000000..d33fbd032b --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/.parameters/min.parameters.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "name": { + "value": "<>-az-privdns-x-001.com" + } + } +} diff --git a/arm/Microsoft.Network/privateDnsZones/.parameters/parameters.json b/arm/Microsoft.Network/privateDnsZones/.parameters/parameters.json index a69c73b847..0668e824cc 100644 --- a/arm/Microsoft.Network/privateDnsZones/.parameters/parameters.json +++ b/arm/Microsoft.Network/privateDnsZones/.parameters/parameters.json @@ -3,7 +3,7 @@ "contentVersion": "1.0.0.0", "parameters": { "name": { - "value": "<>-az-privdns-x-001.com" + "value": "<>-az-privdns-x-002.com" }, "roleAssignments": { "value": [ @@ -15,6 +15,118 @@ } ] }, + "AAAA": { + "value": [ + { + "name": "AAAA_2001_0db8_85a3_0000_0000_8a2e_0370_7334", + "ttl": 3600, + "aaaaRecords": [ + { + "ipv6Address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + } + ] + } + ] + }, + "A": { + "value": [ + { + "name": "A_10.240.4.4", + "ttl": 3600, + "aRecords": [ + { + "ipv4Address": "10.240.4.4" + } + ] + } + ] + }, + "CNAME": { + "value": [ + { + "name": "CNAME_test", + "ttl": 3600, + "cnameRecord": { + "cname": "test" + } + } + ] + }, + "MX": { + "value": [ + { + "name": "MX_contoso", + "ttl": 3600, + "mxRecords": [ + { + "exchange": "contoso.com", + "preference": 100 + } + ] + } + ] + }, + "PTR": { + "value": [ + { + "name": "PTR_contoso", + "ttl": 3600, + "ptrRecords": [ + { + "ptrdname": "contoso.com" + } + ] + } + ] + }, + "SOA": { + "value": [ + { + "name": "@", + "ttl": 3600, + "soaRecord": { + "email": "azureprivatedns-host.microsoft.com", + "expireTime": 2419200, + "host": "azureprivatedns.net", + "minimumTtl": 10, + "refreshTime": 3600, + "retryTime": 300, + "serialNumber": "1" + } + } + ] + }, + "SRV": { + "value": [ + { + "name": "SRV_contoso", + "ttl": 3600, + "srvRecords": [ + { + "port": 9332, + "priority": 0, + "target": "test.contoso.com", + "weight": 0 + } + ] + } + ] + }, + "TXT": { + "value": [ + { + "name": "TXT_test", + "ttl": 3600, + "txtRecords": [ + { + "value": [ + "test" + ] + } + ] + } + ] + }, "virtualNetworkLinks": { "value": [ { diff --git a/arm/Microsoft.Network/privateDnsZones/A/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/A/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/A/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/A/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/A/deploy.bicep new file mode 100644 index 0000000000..bdcc533fa9 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/A/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the A record.') +param name string + +@description('Optional. The list of A records in the record set.') +param aRecords array = [] + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource A 'Microsoft.Network/privateDnsZones/A@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + aRecords: aRecords + metadata: metadata + ttl: ttl + } +} + +@description('The name of the deployed A record') +output name string = A.name + +@description('The resource ID of the deployed A record') +output resourceId string = A.id + +@description('The resource group of the deployed A record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/A/readme.md b/arm/Microsoft.Network/privateDnsZones/A/readme.md new file mode 100644 index 0000000000..fb21996ec7 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/A/readme.md @@ -0,0 +1,44 @@ +# Private DNS Zone A record `[Microsoft.Network/privateDnsZones/A]` + +This module deploys a Private DNS Zone A record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/A` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `aRecords` | array | `[]` | | Optional. The list of A records in the record set. | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the A record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `aRecords` + +```json +"aRecords": { + "value": [ + { + "ipv4Address": "string" + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed A record | +| `resourceGroupName` | string | The resource group of the deployed A record | +| `resourceId` | string | The resource ID of the deployed A record | + +## Template references + +- [Privatednszones/A](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/A) diff --git a/arm/Microsoft.Network/privateDnsZones/A/version.json b/arm/Microsoft.Network/privateDnsZones/A/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/A/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/AAAA/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/AAAA/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/AAAA/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/AAAA/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/AAAA/deploy.bicep new file mode 100644 index 0000000000..2dcdded77a --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/AAAA/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the AAAA record.') +param name string + +@description('Optional. The list of AAAA records in the record set.') +param aaaaRecords array = [] + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource AAAA 'Microsoft.Network/privateDnsZones/AAAA@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + aaaaRecords: aaaaRecords + metadata: metadata + ttl: ttl + } +} + +@description('The name of the deployed AAAA record') +output name string = AAAA.name + +@description('The resource ID of the deployed AAAA record') +output resourceId string = AAAA.id + +@description('The resource group of the deployed AAAA record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/AAAA/readme.md b/arm/Microsoft.Network/privateDnsZones/AAAA/readme.md new file mode 100644 index 0000000000..e3ea4acdfd --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/AAAA/readme.md @@ -0,0 +1,44 @@ +# Private DNS Zone AAAA record `[Microsoft.Network/privateDnsZones/AAAA]` + +This module deploys a Private DNS Zone AAAA record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/AAAA` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `aaaaRecords` | array | `[]` | | Optional. The list of AAAA records in the record set. | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the AAAA record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `aaaaRecords` + +```json +"aaaaRecords": { + "value": [ + { + "ipv6Address": "string" + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed AAAA record | +| `resourceGroupName` | string | The resource group of the deployed AAAA record | +| `resourceId` | string | The resource ID of the deployed AAAA record | + +## Template references + +- [Privatednszones/AAAA](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/AAAA) diff --git a/arm/Microsoft.Network/privateDnsZones/AAAA/version.json b/arm/Microsoft.Network/privateDnsZones/AAAA/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/AAAA/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/CNAME/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/CNAME/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/CNAME/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/CNAME/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/CNAME/deploy.bicep new file mode 100644 index 0000000000..6db29db0e5 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/CNAME/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the CNAME record.') +param name string + +@description('Optional. A CNAME record.') +param cnameRecord object = {} + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource CNAME 'Microsoft.Network/privateDnsZones/CNAME@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + cnameRecord: cnameRecord + metadata: metadata + ttl: ttl + } +} + +@description('The name of the deployed CNAME record') +output name string = CNAME.name + +@description('The resource ID of the deployed CNAME record') +output resourceId string = CNAME.id + +@description('The resource group of the deployed CNAME record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/CNAME/readme.md b/arm/Microsoft.Network/privateDnsZones/CNAME/readme.md new file mode 100644 index 0000000000..fab186d037 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/CNAME/readme.md @@ -0,0 +1,32 @@ +# Private DNS Zone CNAME record `[Microsoft.Network/privateDnsZones/CNAME]` + +This module deploys a Private DNS Zone CNAME record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/CNAME` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cnameRecord` | object | `{object}` | | Optional. A CNAME record. | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the CNAME record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed CNAME record | +| `resourceGroupName` | string | The resource group of the deployed CNAME record | +| `resourceId` | string | The resource ID of the deployed CNAME record | + +## Template references + +- [Privatednszones/CNAME](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/CNAME) diff --git a/arm/Microsoft.Network/privateDnsZones/CNAME/version.json b/arm/Microsoft.Network/privateDnsZones/CNAME/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/CNAME/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/MX/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/MX/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/MX/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/MX/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/MX/deploy.bicep new file mode 100644 index 0000000000..10af9edcac --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/MX/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the MX record.') +param name string + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The list of MX records in the record set.') +param mxRecords array = [] + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource MX 'Microsoft.Network/privateDnsZones/MX@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + metadata: metadata + mxRecords: mxRecords + ttl: ttl + } +} + +@description('The name of the deployed MX record') +output name string = MX.name + +@description('The resource ID of the deployed MX record') +output resourceId string = MX.id + +@description('The resource group of the deployed MX record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/MX/readme.md b/arm/Microsoft.Network/privateDnsZones/MX/readme.md new file mode 100644 index 0000000000..596f3bb661 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/MX/readme.md @@ -0,0 +1,45 @@ +# Private DNS Zone MX record `[Microsoft.Network/privateDnsZones/MX]` + +This module deploys a Private DNS Zone MX record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/MX` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `mxRecords` | array | `[]` | | Optional. The list of MX records in the record set. | +| `name` | string | | | Required. The name of the MX record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `mxRecords` + +```json +"mxRecords": { + "value": [ + { + "exchange": "string", + "preference": "int" + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed MX record | +| `resourceGroupName` | string | The resource group of the deployed MX record | +| `resourceId` | string | The resource ID of the deployed MX record | + +## Template references + +- [Privatednszones/MX](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/MX) diff --git a/arm/Microsoft.Network/privateDnsZones/MX/version.json b/arm/Microsoft.Network/privateDnsZones/MX/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/MX/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/PTR/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/PTR/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/PTR/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/PTR/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/PTR/deploy.bicep new file mode 100644 index 0000000000..88e0007273 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/PTR/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the PTR record.') +param name string + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The list of PTR records in the record set.') +param ptrRecords array = [] + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource PTR 'Microsoft.Network/privateDnsZones/PTR@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + metadata: metadata + ptrRecords: ptrRecords + ttl: ttl + } +} + +@description('The name of the deployed PTR record') +output name string = PTR.name + +@description('The resource ID of the deployed PTR record') +output resourceId string = PTR.id + +@description('The resource group of the deployed PTR record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/PTR/readme.md b/arm/Microsoft.Network/privateDnsZones/PTR/readme.md new file mode 100644 index 0000000000..feaa6aa507 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/PTR/readme.md @@ -0,0 +1,44 @@ +# Private DNS Zone PTR record `[Microsoft.Network/privateDnsZones/PTR]` + +This module deploys a Private DNS Zone PTR record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/PTR` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the PTR record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ptrRecords` | array | `[]` | | Optional. The list of PTR records in the record set. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `ptrRecords` + +```json +"ptrRecords": { + "value": [ + { + "ptrdname": "string" + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed PTR record | +| `resourceGroupName` | string | The resource group of the deployed PTR record | +| `resourceId` | string | The resource ID of the deployed PTR record | + +## Template references + +- [Privatednszones/PTR](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/PTR) diff --git a/arm/Microsoft.Network/privateDnsZones/PTR/version.json b/arm/Microsoft.Network/privateDnsZones/PTR/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/PTR/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/SOA/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/SOA/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SOA/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/SOA/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/SOA/deploy.bicep new file mode 100644 index 0000000000..87b9ac03ff --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SOA/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the SOA record.') +param name string + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. A SOA record.') +param soaRecord object = {} + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource SOA 'Microsoft.Network/privateDnsZones/SOA@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + metadata: metadata + soaRecord: soaRecord + ttl: ttl + } +} + +@description('The name of the deployed SOA record') +output name string = SOA.name + +@description('The resource ID of the deployed SOA record') +output resourceId string = SOA.id + +@description('The resource group of the deployed SOA record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/SOA/readme.md b/arm/Microsoft.Network/privateDnsZones/SOA/readme.md new file mode 100644 index 0000000000..7d98455d02 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SOA/readme.md @@ -0,0 +1,48 @@ +# Private DNS Zone SOA record `[Microsoft.Network/privateDnsZones/SOA]` + +This module deploys a Private DNS Zone SOA record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/SOA` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the SOA record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `soaRecord` | object | `{object}` | | Optional. A SOA record. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `soaRecord` + +```json +"soaRecord": { + "value": { + "email": "string", + "expireTime": "int", + "host": "string", + "minimumTtl": "int", + "refreshTime": "int", + "retryTime": "int", + "serialNumber": "int" + } +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed SOA record | +| `resourceGroupName` | string | The resource group of the deployed SOA record | +| `resourceId` | string | The resource ID of the deployed SOA record | + +## Template references + +- [Privatednszones/SOA](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/SOA) diff --git a/arm/Microsoft.Network/privateDnsZones/SOA/version.json b/arm/Microsoft.Network/privateDnsZones/SOA/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SOA/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/SRV/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/SRV/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SRV/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/SRV/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/SRV/deploy.bicep new file mode 100644 index 0000000000..43df0e1758 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SRV/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the SRV record.') +param name string + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The list of SRV records in the record set.') +param srvRecords array = [] + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource SRV 'Microsoft.Network/privateDnsZones/SRV@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + metadata: metadata + srvRecords: srvRecords + ttl: ttl + } +} + +@description('The name of the deployed SRV record') +output name string = SRV.name + +@description('The resource ID of the deployed SRV record') +output resourceId string = SRV.id + +@description('The resource group of the deployed SRV record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/SRV/readme.md b/arm/Microsoft.Network/privateDnsZones/SRV/readme.md new file mode 100644 index 0000000000..bab6c335db --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SRV/readme.md @@ -0,0 +1,47 @@ +# Private DNS Zone SRV record `[Microsoft.Network/privateDnsZones/SRV]` + +This module deploys a Private DNS Zone TXT record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/SRV` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the SRV record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `srvRecords` | array | `[]` | | Optional. The list of SRV records in the record set. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | + +### Parameter Usage: `srvRecords` + +```json +"srvRecords": { + "value": [ + { + "port": "int", + "priority": "int", + "target": "string", + "weight": "int" + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed SRV record | +| `resourceGroupName` | string | The resource group of the deployed SRV record | +| `resourceId` | string | The resource ID of the deployed SRV record | + +## Template references + +- [Privatednszones/SRV](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/SRV) diff --git a/arm/Microsoft.Network/privateDnsZones/SRV/version.json b/arm/Microsoft.Network/privateDnsZones/SRV/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/SRV/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/TXT/.bicep/nested_cuaId.bicep b/arm/Microsoft.Network/privateDnsZones/TXT/.bicep/nested_cuaId.bicep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/TXT/.bicep/nested_cuaId.bicep @@ -0,0 +1 @@ + diff --git a/arm/Microsoft.Network/privateDnsZones/TXT/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/TXT/deploy.bicep new file mode 100644 index 0000000000..c246034c82 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/TXT/deploy.bicep @@ -0,0 +1,45 @@ +@description('Required. Private DNS zone name.') +param privateDnsZoneName string + +@description('Required. The name of the TXT record.') +param name string + +@description('Optional. The metadata attached to the record set.') +param metadata object = {} + +@description('Optional. The TTL (time-to-live) of the records in the record set.') +param ttl int = 3600 + +@description('Optional. The list of TXT records in the record set.') +param txtRecords array = [] + +@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered') +param cuaId string = '' + +module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) { + name: 'pid-${cuaId}' + params: {} +} + +resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = { + name: privateDnsZoneName +} + +resource TXT 'Microsoft.Network/privateDnsZones/TXT@2020-06-01' = { + name: name + parent: privateDnsZone + properties: { + metadata: metadata + ttl: ttl + txtRecords: txtRecords + } +} + +@description('The name of the deployed TXT record') +output name string = TXT.name + +@description('The resource ID of the deployed TXT record') +output resourceId string = TXT.id + +@description('The resource group of the deployed TXT record') +output resourceGroupName string = resourceGroup().name diff --git a/arm/Microsoft.Network/privateDnsZones/TXT/readme.md b/arm/Microsoft.Network/privateDnsZones/TXT/readme.md new file mode 100644 index 0000000000..65a8ebc4cc --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/TXT/readme.md @@ -0,0 +1,44 @@ +# Private DNS Zone TXT record `[Microsoft.Network/privateDnsZones/TXT]` + +This module deploys a Private DNS Zone TXT record. + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Network/privateDnsZones/TXT` | 2020-06-01 | + +## Parameters + +| Parameter Name | Type | Default Value | Possible Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | +| `metadata` | object | `{object}` | | Optional. The metadata attached to the record set. | +| `name` | string | | | Required. The name of the TXT record. | +| `privateDnsZoneName` | string | | | Required. Private DNS zone name. | +| `ttl` | int | `3600` | | Optional. The TTL (time-to-live) of the records in the record set. | +| `txtRecords` | array | `[]` | | Optional. The list of TXT records in the record set. | + +### Parameter Usage: `txtRecords` + +```json +"txtRecords": { + "value": [ + { + "value": [ "string" ] + } + ] +} +``` + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the deployed TXT record | +| `resourceGroupName` | string | The resource group of the deployed TXT record | +| `resourceId` | string | The resource ID of the deployed TXT record | + +## Template references + +- [Privatednszones/TXT](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/TXT) diff --git a/arm/Microsoft.Network/privateDnsZones/TXT/version.json b/arm/Microsoft.Network/privateDnsZones/TXT/version.json new file mode 100644 index 0000000000..56f8d9ca40 --- /dev/null +++ b/arm/Microsoft.Network/privateDnsZones/TXT/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.4" +} diff --git a/arm/Microsoft.Network/privateDnsZones/deploy.bicep b/arm/Microsoft.Network/privateDnsZones/deploy.bicep index 7e38140e61..ee1cd06280 100644 --- a/arm/Microsoft.Network/privateDnsZones/deploy.bicep +++ b/arm/Microsoft.Network/privateDnsZones/deploy.bicep @@ -1,6 +1,30 @@ @description('Required. Private DNS zone name.') param name string +@description('Optional. Array of A records.') +param a array = [] + +@description('Optional. Array of AAAA records.') +param aaaa array = [] + +@description('Optional. Array of CNAME records.') +param cname array = [] + +@description('Optional. Array of MX records.') +param mx array = [] + +@description('Optional. Array of PTR records.') +param ptr array = [] + +@description('Optional. Array of SOA records.') +param soa array = [] + +@description('Optional. Array of SRV records.') +param srv array = [] + +@description('Optional. Array of TXT records.') +param txt array = [] + @description('Optional. Array of custom objects describing vNet links of the DNS zone. Each object should contain properties \'vnetResourceId\' and \'registrationEnabled\'. The \'vnetResourceId\' is a resource ID of a vNet to link, \'registrationEnabled\' (bool) enables automatic DNS registration in the zone for the linked vNet.') param virtualNetworkLinks array = [] @@ -35,15 +59,103 @@ resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' = { tags: tags } -module privateDnsZone_virtualNetworkLinks 'virtualNetworkLinks/deploy.bicep' = [for (virtualNetworkLinks, index) in virtualNetworkLinks: { +module privateDnsZone_A 'A/deploy.bicep' = [for (aRecord, index) in a: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-ARecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: aRecord.name + aRecords: contains(aRecord, 'aRecords') ? aRecord.aRecords : [] + metadata: contains(aRecord, 'metadata') ? aRecord.metadata : {} + ttl: contains(aRecord, 'ttl') ? aRecord.ttl : 3600 + } +}] + +module privateDnsZone_AAAA 'AAAA/deploy.bicep' = [for (aaaaRecord, index) in aaaa: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-AAAARecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: aaaaRecord.name + aaaaRecords: contains(aaaaRecord, 'aaaaRecords') ? aaaaRecord.aaaaRecords : [] + metadata: contains(aaaaRecord, 'metadata') ? aaaaRecord.metadata : {} + ttl: contains(aaaaRecord, 'ttl') ? aaaaRecord.ttl : 3600 + } +}] + +module privateDnsZone_CNAME 'CNAME/deploy.bicep' = [for (cnameRecord, index) in cname: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-CNAMERecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: cnameRecord.name + cnameRecord: contains(cnameRecord, 'cnameRecord') ? cnameRecord.cnameRecord : {} + metadata: contains(cnameRecord, 'metadata') ? cnameRecord.metadata : {} + ttl: contains(cnameRecord, 'ttl') ? cnameRecord.ttl : 3600 + } +}] + +module privateDnsZone_MX 'MX/deploy.bicep' = [for (mxRecord, index) in mx: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-MXRecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: mxRecord.name + metadata: contains(mxRecord, 'metadata') ? mxRecord.metadata : {} + mxRecords: contains(mxRecord, 'mxRecords') ? mxRecord.mxRecords : [] + ttl: contains(mxRecord, 'ttl') ? mxRecord.ttl : 3600 + } +}] + +module privateDnsZone_PTR 'PTR/deploy.bicep' = [for (ptrRecord, index) in ptr: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-PTRRecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: ptrRecord.name + metadata: contains(ptrRecord, 'metadata') ? ptrRecord.metadata : {} + ptrRecords: contains(ptrRecord, 'ptrRecords') ? ptrRecord.ptrRecords : [] + ttl: contains(ptrRecord, 'ttl') ? ptrRecord.ttl : 3600 + } +}] + +module privateDnsZone_SOA 'SOA/deploy.bicep' = [for (soaRecord, index) in soa: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-SOARecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: soaRecord.name + metadata: contains(soaRecord, 'metadata') ? soaRecord.metadata : {} + soaRecord: contains(soaRecord, 'soaRecord') ? soaRecord.soaRecord : {} + ttl: contains(soaRecord, 'ttl') ? soaRecord.ttl : 3600 + } +}] + +module privateDnsZone_SRV 'SRV/deploy.bicep' = [for (srvRecord, index) in srv: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-SRVRecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: srvRecord.name + metadata: contains(srvRecord, 'metadata') ? srvRecord.metadata : {} + srvRecords: contains(srvRecord, 'srvRecords') ? srvRecord.srvRecords : [] + ttl: contains(srvRecord, 'ttl') ? srvRecord.ttl : 3600 + } +}] + +module privateDnsZone_TXT 'TXT/deploy.bicep' = [for (txtRecord, index) in txt: { + name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-TXTRecord-${index}' + params: { + privateDnsZoneName: privateDnsZone.name + name: txtRecord.name + metadata: contains(txtRecord, 'metadata') ? txtRecord.metadata : {} + txtRecords: contains(txtRecord, 'txtRecords') ? txtRecord.txtRecords : [] + ttl: contains(txtRecord, 'ttl') ? txtRecord.ttl : 3600 + } +}] + +module privateDnsZone_virtualNetworkLinks 'virtualNetworkLinks/deploy.bicep' = [for (virtualNetworkLink, index) in virtualNetworkLinks: { name: '${uniqueString(deployment().name, location)}-PrivateDnsZone-VirtualNetworkLink-${index}' params: { privateDnsZoneName: privateDnsZone.name - name: contains(virtualNetworkLinks, 'name') ? virtualNetworkLinks.name : '${last(split(virtualNetworkLinks.virtualNetworkResourceId, '/'))}-vnetlink' - virtualNetworkResourceId: virtualNetworkLinks.virtualNetworkResourceId - location: contains(virtualNetworkLinks, 'location') ? virtualNetworkLinks.location : 'global' - registrationEnabled: contains(virtualNetworkLinks, 'registrationEnabled') ? virtualNetworkLinks.registrationEnabled : false - tags: contains(virtualNetworkLinks, 'tags') ? virtualNetworkLinks.tags : {} + name: contains(virtualNetworkLink, 'name') ? virtualNetworkLink.name : '${last(split(virtualNetworkLink.virtualNetworkResourceId, '/'))}-vnetlink' + virtualNetworkResourceId: virtualNetworkLink.virtualNetworkResourceId + location: contains(virtualNetworkLink, 'location') ? virtualNetworkLink.location : 'global' + registrationEnabled: contains(virtualNetworkLink, 'registrationEnabled') ? virtualNetworkLink.registrationEnabled : false + tags: contains(virtualNetworkLink, 'tags') ? virtualNetworkLink.tags : {} } }] diff --git a/arm/Microsoft.Network/privateDnsZones/readme.md b/arm/Microsoft.Network/privateDnsZones/readme.md index 76894a628c..34a4318cde 100644 --- a/arm/Microsoft.Network/privateDnsZones/readme.md +++ b/arm/Microsoft.Network/privateDnsZones/readme.md @@ -9,18 +9,34 @@ This template deploys a private DNS zone. | `Microsoft.Authorization/locks` | 2017-04-01 | | `Microsoft.Authorization/roleAssignments` | 2021-04-01-preview | | `Microsoft.Network/privateDnsZones` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/A` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/AAAA` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/CNAME` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/MX` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/PTR` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/SOA` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/SRV` | 2020-06-01 | +| `Microsoft.Network/privateDnsZones/TXT` | 2020-06-01 | | `Microsoft.Network/privateDnsZones/virtualNetworkLinks` | 2020-06-01 | ## Parameters | Parameter Name | Type | Default Value | Possible Values | Description | | :-- | :-- | :-- | :-- | :-- | +| `a` | _[A](A/readme.md)_ array | `[]` | | Optional. Array of A records. | +| `aaaa` | _[AAAA](AAAA/readme.md)_ array | `[]` | | Optional. Array of AAAA records. | +| `cname` | _[CNAME](CNAME/readme.md)_ array | `[]` | | Optional. Array of CNAME records. | | `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered | | `location` | string | `global` | | Optional. The location of the PrivateDNSZone. Should be global. | | `lock` | string | `NotSpecified` | `[CanNotDelete, NotSpecified, ReadOnly]` | Optional. Specify the type of lock. | +| `mx` | _[MX](MX/readme.md)_ array | `[]` | | Optional. Array of MX records. | | `name` | string | | | Required. Private DNS zone name. | +| `ptr` | _[PTR](PTR/readme.md)_ array | `[]` | | Optional. Array of PTR records. | | `roleAssignments` | array | `[]` | | Optional. Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' | +| `soa` | _[SOA](SOA/readme.md)_ array | `[]` | | Optional. Array of SOA records. | +| `srv` | _[SRV](SRV/readme.md)_ array | `[]` | | Optional. Array of SRV records. | | `tags` | object | `{object}` | | Optional. Tags of the resource. | +| `txt` | _[TXT](TXT/readme.md)_ array | `[]` | | Optional. Array of TXT records. | | `virtualNetworkLinks` | _[virtualNetworkLinks](virtualNetworkLinks/readme.md)_ array | `[]` | | Optional. Array of custom objects describing vNet links of the DNS zone. Each object should contain properties 'vnetResourceId' and 'registrationEnabled'. The 'vnetResourceId' is a resource ID of a vNet to link, 'registrationEnabled' (bool) enables automatic DNS registration in the zone for the linked vNet. | ### Parameter Usage: `roleAssignments` @@ -74,5 +90,13 @@ Tag names and tag values can be provided as needed. A tag can be left without a - [Locks](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) - [Privatednszones](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones) +- [Privatednszones/A](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/A) +- [Privatednszones/AAAA](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/AAAA) +- [Privatednszones/CNAME](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/CNAME) +- [Privatednszones/MX](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/MX) +- [Privatednszones/PTR](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/PTR) +- [Privatednszones/SOA](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/SOA) +- [Privatednszones/SRV](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/SRV) +- [Privatednszones/TXT](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/TXT) - [Privatednszones/Virtualnetworklinks](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/virtualNetworkLinks) - [Roleassignments](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/roleAssignments)