Skip to content

Commit aa19e7f

Browse files
author
Keshava Kandikonda
committed
Preserve existing subnet ranges and cleanup
Use reference() function to read existing subnet addressPrefix instead of omitting it. Remove unused useExistingPrivateDnsZone parameter and update documentation.
1 parent bea2aaf commit aa19e7f

2 files changed

Lines changed: 11 additions & 46 deletions

File tree

ARM_Template_Create_WP/azuredeploy.json

Lines changed: 11 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -210,34 +210,6 @@
210210
"metadata": {
211211
"description": "Set to false to skip subnet creation (useful when subnets already exist)"
212212
}
213-
},
214-
"vnetAddressPrefix": {
215-
"type": "string",
216-
"defaultValue": "10.0.0.0/16",
217-
"metadata": {
218-
"description": "Address space for the VNet (e.g., 10.0.0.0/16)"
219-
}
220-
},
221-
"subnetAddressForApp": {
222-
"type": "string",
223-
"defaultValue": "10.0.0.0/24",
224-
"metadata": {
225-
"description": "Address prefix for the App Service subnet (e.g., 10.0.0.0/24)"
226-
}
227-
},
228-
"subnetAddressForDb": {
229-
"type": "string",
230-
"defaultValue": "10.0.1.0/24",
231-
"metadata": {
232-
"description": "Address prefix for the Database subnet (e.g., 10.0.1.0/24)"
233-
}
234-
},
235-
"useExistingPrivateDnsZone": {
236-
"type": "bool",
237-
"defaultValue": false,
238-
"metadata": {
239-
"description": "Set to true to use an existing Private DNS Zone instead of creating a new one"
240-
}
241213
}
242214
},
243215
"resources": [
@@ -427,7 +399,7 @@
427399
"dependsOn": [
428400
"[resourceId('Microsoft.Network/privateDnsZones/virtualNetworkLinks', parameters('privateDnsZoneNameForDb'), format('{0}-vnetlink', parameters('privateDnsZoneNameForDb')))]",
429401
"[concat('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('managedIdentityName'))]",
430-
"[if(parameters('createSubnets'), resourceId('Microsoft.Resources/deployments', 'subnet_Resources'), if(parameters('useExistingVnet'), resourceId('Microsoft.Resources/deployments', 'update_existing_subnets'), resourceId('Microsoft.Network/virtualNetworks/', parameters('vnetName'))))]"
402+
"[if(parameters('createSubnets'), resourceId('Microsoft.Resources/deployments', 'subnet_Resources'), if(parameters('useExistingVnet'), resourceId('Microsoft.Resources/deployments', 'add_delegations'), resourceId('Microsoft.Network/virtualNetworks/', parameters('vnetName'))))]"
431403
],
432404
"identity": {
433405
"type": "UserAssigned",
@@ -555,7 +527,7 @@
555527
"properties": {
556528
"addressSpace": {
557529
"addressPrefixes": [
558-
"[parameters('vnetAddressPrefix')]"
530+
"[variables('vnetAddress')]"
559531
]
560532
},
561533
"subnets": []
@@ -569,8 +541,6 @@
569541
"condition": "[parameters('createSubnets')]",
570542
"dependsOn": [
571543
],
572-
"resourceGroup": "[parameters('serverFarmResourceGroup')]",
573-
"subscriptionId": "[subscription().subscriptionId]",
574544
"properties": {
575545
"mode": "Incremental",
576546
"template": {
@@ -584,7 +554,7 @@
584554
"apiVersion": "2021-03-01",
585555
"name": "[format('{0}/{1}', parameters('vnetName'), parameters('subnetForApp'))]",
586556
"properties": {
587-
"addressPrefix": "[parameters('subnetAddressForApp')]",
557+
"addressPrefix": "[variables('subnetAddressForApp')]",
588558
"delegations": [
589559
{
590560
"name": "dlg-appService",
@@ -600,7 +570,7 @@
600570
"apiVersion": "2021-03-01",
601571
"name": "[format('{0}/{1}',parameters('vnetName'), parameters('subnetForDb'))]",
602572
"properties": {
603-
"addressPrefix": "[parameters('subnetAddressForDb')]",
573+
"addressPrefix": "[variables('subnetAddressForDb')]",
604574
"delegations": [
605575
{
606576
"name": "dlg-appService",
@@ -620,13 +590,11 @@
620590
},
621591
{
622592
"type": "Microsoft.Resources/deployments",
623-
"name": "update_existing_subnets",
593+
"name": "add_delegations",
624594
"apiVersion": "[variables('resourceDeploymentApiVersion')]",
625595
"condition": "[and(parameters('useExistingVnet'), not(parameters('createSubnets')))]",
626596
"dependsOn": [
627597
],
628-
"resourceGroup": "[parameters('serverFarmResourceGroup')]",
629-
"subscriptionId": "[subscription().subscriptionId]",
630598
"properties": {
631599
"mode": "Incremental",
632600
"template": {
@@ -640,7 +608,7 @@
640608
"apiVersion": "2021-03-01",
641609
"name": "[format('{0}/{1}', parameters('vnetName'), parameters('subnetForApp'))]",
642610
"properties": {
643-
"addressPrefix": "[parameters('subnetAddressForApp')]",
611+
"addressPrefix": "[reference(resourceId(parameters('serverFarmResourceGroup'), 'Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetForApp')), '2021-03-01').addressPrefix]",
644612
"delegations": [
645613
{
646614
"name": "dlg-appService",
@@ -656,7 +624,7 @@
656624
"apiVersion": "2021-03-01",
657625
"name": "[format('{0}/{1}',parameters('vnetName'), parameters('subnetForDb'))]",
658626
"properties": {
659-
"addressPrefix": "[parameters('subnetAddressForDb')]",
627+
"addressPrefix": "[reference(resourceId(parameters('serverFarmResourceGroup'), 'Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetForDb')), '2021-03-01').addressPrefix]",
660628
"delegations": [
661629
{
662630
"name": "dlg-mysql",
@@ -701,7 +669,7 @@
701669
],
702670
"dependsOn": [
703671
"[resourceId('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]",
704-
"[if(parameters('createSubnets'), resourceId('Microsoft.Resources/deployments', 'subnet_Resources'), if(parameters('useExistingVnet'), resourceId('Microsoft.Resources/deployments', 'update_existing_subnets'), resourceId('Microsoft.Network/virtualNetworks/', parameters('vnetName'))))]"
672+
"[if(parameters('createSubnets'), resourceId('Microsoft.Resources/deployments', 'subnet_Resources'), if(parameters('useExistingVnet'), resourceId('Microsoft.Resources/deployments', 'add_delegations'), resourceId('Microsoft.Network/virtualNetworks/', parameters('vnetName'))))]"
705673
]
706674
},
707675
{
@@ -1163,6 +1131,9 @@
11631131
"databaseVersion": "8.0.21",
11641132
"vnetDeploymentApiVersion": "2020-07-01",
11651133
"privateDnsApiVersion": "2018-09-01",
1134+
"vnetAddress": "10.0.0.0/23",
1135+
"subnetAddressForApp": "10.0.0.0/24",
1136+
"subnetAddressForDb": "10.0.1.0/24",
11661137
"blobApiVersion": "2021-08-01",
11671138
"storageAccountId": "[resourceId(parameters('storageAccountResourceGroup'),'Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
11681139
"emailApiVersion": "2023-03-31",

ARM_Template_Create_WP/azuredeploy.parameters.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,17 +203,11 @@
203203
"createSubnets": {
204204
"value": true
205205
},
206-
"vnetAddressPrefix": {
207-
"value": "10.0.0.0/16"
208-
},
209206
"subnetAddressForApp": {
210207
"value": "10.0.0.0/24"
211208
},
212209
"subnetAddressForDb": {
213210
"value": "10.0.1.0/24"
214-
},
215-
"useExistingPrivateDnsZone": {
216-
"value": false
217211
}
218212
}
219213
}

0 commit comments

Comments
 (0)