Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2.67 KB

File metadata and controls

42 lines (31 loc) · 2.67 KB

Azure Resource Manager (ARM) Templates Azure Resource Manager Logo

About

Every resource within Azure, no matter how it is deployed, will have a resource definition written as an ARM template in JSON. There are also certain resources that no matter what language they utilized will require the definition be written in a JSON/ARM template. Such resources as Azure Policy, Azure Data Factory, and Azure Logic Apps just to name a few.

Some Pointers

  • It is JSON file, not a programming language
  • Explicitly call out any dependency between templates or resources
  • Any Export Resource button in Azure will product an ARM template
  • Day 0 support for any Azure resources, even those in private preview
  • Azure specific
  • Easily declare individual Azure Resource provider API versions
  • No state file

How It Works

The JSON file will be submitted directly to the Azure Resource Manager for provisioning the necessary Azure resources.

Diagram illustrating Azure Consistent Management Layer

Source From: Microsoft Docs

PreReqs

Validating Changes

The best way to validate changes would be to leverage the Azure CLI what-if command similar to: az deployment sub what-if --location EastUS --name azureADOCLIDeployment --template-file main.json --parameters parameters/dev.eus.parameters.json

For more information check out the ARM Template deployment what-if operation

Deploying

Deployment for these examples are done at the Subscription level. This is done to ensure full deployment by creating the required Resource Group.

az deployment sub create --name storageDeployment --location eastus --template-file main.json --parameters parameters/dev.eus.parameters.json

Links