Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add multiple client IP addresses at time in Azure SQL Server using Azure ARM Templates?

Currently I am working on to deploy the Azure SQL Database by adding multiple IP addresses under Firewall rules using Azure ARM templates.

This is the code for adding one IP address under Firewall settings of Azure SQL Server.

{
      "name": "AllowAllMicrosoftAzureIps",
      "type": "firewallrules",
      "apiVersion": "2014-04-01",
      "location": "[resourceGroup().location]",
      "properties": {
        "startIpAddress": "[parameters('startIpAddress')]",
        "endIpAddress": "[parameters('endIpAddress')]"
      },
      "dependsOn": [
        "[variables('sqlServerName')]"
      ]
    },

But I want to add the multiple IP addresses at a time under Firewall settings of Azure SQL Database using Azure ARM templates.

like image 987
Pradeep Avatar asked Dec 31 '25 13:12

Pradeep


1 Answers

I haven't tested it, but I believe it would look something like this. Use the copy iterator and supply an array of start and end IP addresses.

"parameters": { 
    "firewallIpAddresses": { 
        "type": "object", 
        "defaultValue": [ 
            { "start": "1.1.1.0", "end": "1.1.1.10","clientName": "Client1" },
            { "start": "1.2.3.4", "end": "1.2.3.16","clientName": "Client2" },
            { "start": "1.2.0.1", "end": "1.2.0.20","clientName": "Client3" }
        ] 
    }
},
"resources": [
{
     "name": "[concat(variables('sqlServerName'), '/', parameters('firewallIpAddresses')[copyIndex()].clientName)]",
     "type": "Microsoft.Sql/servers/firewallrules",
     "apiVersion": "2014-04-01",
     "location": "[resourceGroup().location]",
     "properties": {
        "startIpAddress": "[parameters('firewallIpAddresses')[copyIndex('firewallrulecopy')].start]",
        "endIpAddress": "[parameters('firewallIpAddresses')[copyIndex('firewallrulecopy')].end]"
     },
     "dependsOn": [
        "[variables('sqlServerName')]"
    ],
    "copy": {
        "name": "firewallrulecopy",
        "count": "[length(parameters('firewallIpAddresses'))]"
    }
}
]
like image 168
Dan Wilson Avatar answered Jan 04 '26 06:01

Dan Wilson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!