In this lab, we will practice making an existing ARM template more reusable so that it can be deployed to multiple environments. We will do this by replacing some of the hardcoded elements with functions and adding parameters, along with a parameters file.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Add Parameters
- Grab the
initialdeploy.json
file to be edited from this provided GitHub repository. - Add parameters in the ARM template deployment file for the following:
- VM Username
- VM Password
- VM Environment (dev or prod)
- Grab the
- Add Functions
- Add a function so the VM will be deployed to the resource group location automatically.
- Add a function to create a unique name for the VM based on the resource group ID.
- Create a function to determine if the environment is dev or prod, and to change the size of the VM accordingly:
- Dev:
Standard_DS1_v2
- Prod:
Standard_D2s_v3
- Dev:
- Add the Parameters File and Deploy
- Create a parameters file for the parameter values.
- Deploy the template with the parameters file.