Azure Resource Manager (ARM) templates in Azure DevTest Labs
Article
Azure DevTest Labs can use Azure Resource Manager (ARM) templates for many tasks, from creating and provisioning labs and virtual machines (VMs) to adding users.
An Azure Resource Manager template is a JavaScript Object Notation (JSON) file that defines the infrastructure and configuration for your project. The template uses declarative syntax. You describe your intended deployment without writing the sequence of programming commands to create the deployment.
Create your own ARM templates to use for various tasks. Follow the steps at Create and deploy ARM templates, and modify the example templates for your needs.
DevTest Labs often uses ARM templates to create VMs. There are two methods for creating VMs in DevTest Labs. Each method is used for different scenarios and requires different permissions. The ARM template's resource property declares the method to use.
ARM templates that use the Microsoft.Compute/virtualmachines resource type provision multiple lab VMs and PaaS resources in a single environment, such as a SharePoint farm. Lab users can use these templates to create multiple-VM environments. VMs created with this resource type appear under the environments in the lab's My environments list.
ARM templates that use the Microsoft.DevTestLab/labs/virtualmachines resource type provision individual VM configurations. Each VM created with this resource type appears as a separate item in the lab's My virtual machines list. To create and deploy VMs with these templates, you can use a quickstart template from the Azure portal. You can also automate VM deployment with Azure PowerShell or Azure CLI.
Lab administrators can deploy ARM templates to create claimable lab VMs or image factory golden images. Provisioning VMs with PowerShell requires administrator permissions. Lab users can then use the custom images to create VM instances. For more information and instructions, see Create a DevTest Labs VM with Azure PowerShell.
You can automate several other common DevTest Labs tasks by using ARM templates with PowerShell:
Lab administrators can also automate ARM environment template deployment, to fully manage development and test environments. For information and instructions, see Automate environment creation.
Learn how to use the Azure portal to add a virtual machine (VM) to a lab in Azure DevTest Labs. Configure basic settings, artifacts, and advanced settings.