| name | arm-template-helper |
| description | Creates and validates Azure Resource Manager (ARM) templates for infrastructure deployment. Use when creating ARM templates, deploying Azure infrastructure as code, or validating Azure templates. |
ARM Template Helper
Quick Start
Create and validate Azure Resource Manager templates for infrastructure as code deployments.
Instructions
Step 1: Create ARM template structure
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {},
"resources": [],
"outputs": {}
}
Step 2: Add resources
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
}
]
Step 3: Validate template
# Validate ARM template
az deployment group validate \
--resource-group myResourceGroup \
--template-file template.json \
--parameters parameters.json
# Test deployment (what-if)
az deployment group what-if \
--resource-group myResourceGroup \
--template-file template.json
Step 4: Deploy template
# Deploy ARM template
az deployment group create \
--resource-group myResourceGroup \
--template-file template.json \
--parameters parameters.json
Best Practices
- Use parameters for configurable values
- Use variables for computed values
- Add outputs for important resource properties
- Use dependsOn for resource dependencies
- Implement proper naming conventions
- Add tags for resource organization
- Use linked templates for modularity
- Validate before deploying