File size: 2,009 Bytes
9595e1d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
param name string
param location string = resourceGroup().location
param tags object = {}
param postgresServerName string
var databaseSubnetName = 'database-subnet'
var webappSubnetName = 'webapp-subnet'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
name: name
location: location
tags: tags
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: databaseSubnetName
properties: {
addressPrefix: '10.0.0.0/24'
delegations: [
{
name: '${name}-subnet-db'
properties: {
serviceName: 'Microsoft.DBforPostgreSQL/flexibleServers'
}
}
]
}
}
{
name: webappSubnetName
properties: {
addressPrefix: '10.0.1.0/24'
delegations: [
{
name: '${name}-subnet-web'
properties: {
serviceName: 'Microsoft.Web/serverFarms'
}
}
]
}
}
]
}
resource databaseSubnet 'subnets' existing = {
name: databaseSubnetName
}
resource webappSubnet 'subnets' existing = {
name: webappSubnetName
}
}
resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' = {
name: '${postgresServerName}.private.postgres.database.azure.com'
location: 'global'
tags: tags
dependsOn: [
virtualNetwork
]
}
resource privateDnsZoneLink 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2020-06-01' = {
parent: privateDnsZone
name: '${name}-link'
location: 'global'
properties: {
registrationEnabled: false
virtualNetwork: {
id: virtualNetwork.id
}
}
}
output databaseSubnetId string = virtualNetwork::databaseSubnet.id
output webSubnetId string = virtualNetwork::webappSubnet.id
output privateDnsZoneId string = privateDnsZone.id
output privateDnsZoneLink object = privateDnsZoneLink
|