Proposed Pull Request Change

📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Template resource location description: Describes how to set resource location in an Azure Resource Manager template (ARM template). ms.topic: article ms.custom: devx-track-arm-template ms.date: 04/28/2025 --- # Set resource location in ARM template When deploying an Azure Resource Manager template (ARM template), you must provide a location for each resource. The location doesn't need to be the same location as the resource group location. ## Get available locations Different resource types are supported in different locations. To get the supported locations for a resource type, use Azure PowerShell or Azure CLI. # [PowerShell](#tab/azure-powershell) ```azurepowershell-interactive ((Get-AzResourceProvider -ProviderNamespace Microsoft.Batch).ResourceTypes ` | Where-Object ResourceTypeName -eq batchAccounts).Locations ``` # [Azure CLI](#tab/azure-cli) ```azurecli-interactive az provider show \ --namespace Microsoft.Batch \ --query "resourceTypes[?resourceType=='batchAccounts'].locations | [0]" \ --out table ``` --- ## Use location parameter To allow for flexibility when deploying your template, use a parameter to specify the location for resources. Set the default value of the parameter to `resourceGroup().location`. The following example shows a storage account that is deployed to a location specified as a parameter: ```json { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ], "metadata": { "description": "Storage Account type" } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } } }, "variables": { "storageAccountName": "[format('storage{0}', uniqueString(resourceGroup().id))]" }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-06-01", "name": "[variables('storageAccountName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2", "properties": {} } ], "outputs": { "storageAccountName": { "type": "string", "value": "[variables('storageAccountName')]" } } } ``` ## Next steps * For the full list of template functions, see [ARM template functions](template-functions.md). * For more information about template files, see [Understand the structure and syntax of ARM templates](./syntax.md).
Success! Branch created successfully. Create Pull Request on GitHub
Error: