JSON file describing Azure infrastructure declaratively. Once deployed it keeps no live connection to the resources, unlike Blueprints, which retires fully on 31 January 2027.
Read more: Microsoft Learn
In the Ultra Transcenders books
AZ-305AZ-104SC-500AZ-900AZ-400
Each book explains ARM template in context, with comparison tables and the common traps.
Terms in this definition
- JSON
Text-based format for structured data. ARM templates and Cosmos DB documents are written in it, and most Azure REST APIs exchange request and response bodies as application/json.
- Live connection
Power BI reports can skip having a local model and instead connect straight to one already published in the Power BI service, Azure Analysis Services or SQL Server Analysis Services. Authors may still write report-level measures; editing the underlying model is possible only after converting it via Make changes to this model.
- Blueprints
Python v2 programming model objects (func.Blueprint) for splitting a function app's functions across several modules, which are then added to the main FunctionApp by calling app.register_functions().
Related terms
- dependsOn
In an ARM template, the list of resource names or IDs (commonly built with resourceId()) to deploy before this resource. It controls sequencing only and provides no iteration.
- DeployIfNotExists
When a related resource is absent, this Azure Policy effect deploys an ARM template to create it. Resources that already exist are corrected only by a remediation task running as the assignment's managed identity.
- Deployment stack
An Azure resource that rolls out a Bicep or ARM template and treats everything it creates as one managed group. Resources dropped from the template can be removed or simply released, and deny settings can guard the rest against changes.
- Parameters (ARM template)
Section of an ARM template whose values are given or overridden at deploy time, through a parameter file or inline. Variables cannot change this way; changing them means editing the template.
- union()
Given several arrays or objects, this ARM template function returns one combined result in which any repeated value appears just once.
- Variables (ARM template)
A section of an ARM template for values set within the template itself and retrieved using variables('name'). Deployments cannot override them, and they have no effect unless some resource uses them.
- What-if
Lets you preview a Bicep or ARM template deployment before running it, listing what Resource Manager would create, modify or delete while leaving everything untouched.