Authoring ARM Templates


This self-paced enablement session will run through a sequence of bite-sized labs that build on each other.

Each lab will always include links to the JSON templates at the start and end so that you may compare your own files and highlight any differences.

It is up to you how far through the labs you need to go. The labs go through to a level of detail and complexity and leverage a number of the features within the Azure Resource Manager (ARM) templates that provide the power required for more complicated enterprise Infrastructure as Code deployments.

However the advice would always be to keep it as simple as possible and maximise supportability. Therefore the recommendation is to stop at the earliest point where you can meet the business requirements.

The comments section has been enabled and feedback is always welcome.


You will need a working Azure subscription. Test that the subscription is active by logging onto the portal and creating an resource group.

For the labs we will be using Visual Studio Code, configured as per the VS Code prereqs page. Please follow all of those configuration steps to make sure you are ready to begin the labs.


Lab Section Description
  Azure Resource Manager A short theory session on Azure Resource
  ARM Templates Template structure overview, options for creating and deploying
1 First Template Create a simple template, factor parameters, and deploy using the CLIs
2 Sources of Resources Overview of functions plus sources for resources
3 References and Secrets Reference resources, and how to handle secrets
4 Conditional Resources Using conditions to selectively deploy resources
5 Using Copy Use the copy property to create multiple resources
6 Objects and Arrays More complex parameters, variables and outputs
7 Nesting Templates Nesting templates inline and with linked templates