ARM template

Last updated:

AZURE

Related to [[202404061212 Azure Resources|azure resources]]

  • ARM template is a JSON file that specifies what resources to deploy. Kind of like an IaC. This allows one to redeploy similar things with consistency and speed.
  • Resources are deployed in parallel
  • Preview with whatif options in [[202207181612 Powershell|Powershell]] or CLI
  • Testing/validation with [[202406151219 ARM Bicep|Bicep]] linter
  • Breakup into smaller files and link later
  • Extension: run powershell/bash from inside the template
  • deployment mode
    • incremental
      • default
      • does not destroy
    • complete - exactly match whatever is there in template
      • so it can destroy existing resources if they are not in the template

references:

Arm templates docs

The template has the following sections:

  • Parameters - Provide values during deployment that allow the same template to be used with different environments.
  • Variables - Define values that are reused in your templates. They can be constructed from parameter values.
  • User-defined functions - Create customized functions that simplify your template.
  • Resources - Specify the resources to deploy.
  • Outputs - Return values from the deployed resources.

MS Learn