Microsoft.Resources deployments template reference

Template format

To create a Microsoft.Resources/deployments resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2020-06-01",
  "location": "string",
  "scope": "string",
  "subscriptionId": "string",
  "resourceGroup": "string",
  "properties": {
    "template": {},
    "templateLink": {
      "uri": "string",
      "id": "string",
      "relativePath": "string",
      "contentVersion": "string"
    },
    "parameters": {},
    "parametersLink": {
      "uri": "string",
      "contentVersion": "string"
    },
    "mode": "string",
    "debugSetting": {
      "detailLevel": "string"
    },
    "onErrorDeployment": {
      "type": "string",
      "deploymentName": "string"
    }
  },
  "tags": {}
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Resources/deployments object

Name Type Required Value
name string Yes The name of the deployment.
type enum Yes Microsoft.Resources/deployments
apiVersion enum Yes 2020-06-01
location string No The location to store the deployment data.
scope string No In tenant and management group deployments, provide the management group ID to target. Use the format Microsoft.Management/managementGroups/{managementGroupID}.
subscriptionId string No The ID of the subscription to deploy to. If not provided, uses the subscription of the deployment operation.
resourceGroup string No The name of the resource group to deploy to. If not provided, uses the resource group of the deployment operation.
properties object Yes The deployment properties. - DeploymentProperties object
tags object No Deployment tags

DeploymentProperties object

Name Type Required Value
template object No The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.
templateLink object No The URI of the template. Use either the templateLink property or the template property, but not both. - TemplateLink object
parameters object No Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
parametersLink object No The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both. - ParametersLink object
mode enum Yes The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. - Incremental or Complete
debugSetting object No The debug setting of the deployment. - DebugSetting object
onErrorDeployment object No The deployment on error behavior. - OnErrorDeployment object

Name Type Required Value
uri string No The URI of the template to deploy. Use either the uri or id property, but not both.
id string No The resource id of a Template Spec. Use either the id or uri property, but not both.
relativePath string No Applicable only if this template link references a Template Spec. This relativePath property can optionally be used to reference a Template Spec artifact by path.
contentVersion string No If included, must match the ContentVersion in the template.

Name Type Required Value
uri string Yes The URI of the parameters file.
contentVersion string No If included, must match the ContentVersion in the template.

DebugSetting object

Name Type Required Value
detailLevel string No Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.

OnErrorDeployment object

Name Type Required Value
type enum No The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. - LastSuccessful or SpecificDeployment
deploymentName string No The deployment to be used on error case.

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Deploy a managed Kubernetes Cluster (AKS).

Deploy to Azure
This ARM template demonstrates the deployment of an AKS instance with advanced networking features into an existing virtual network. Additionally, the chosen Service Principal is assigned the Network Contributor role against the subnet that contains the AKS cluster.
Deploy a managed Kubernetes Cluster (AKS).

Deploy to Azure
This ARM template demonstrates the deployment of an AKS instance with advanced networking features into an existing virtual network and Azure AD Integeration. Additionally, the chosen Service Principal is assigned the Network Contributor role against the subnet that contains the AKS cluster.
Create new ANF resource with SMB volume

Deploy to Azure
This template allows you to create a new Azure NetApp Files resource with a single Capacity pool and single volume configured with SMB protocol.
Server managed by Desired State Configuration service

Deploy to Azure
This template provides an example of how to deliver a virtual machine and and Automation account to manage the machine, in a single deployment
Deploy a simple Azure Spring Cloud microservice application

Deploy to Azure
This template deploys a simple Azure Spring Cloud microservice application to run on Azure.
Log Analytics based Monitoring and Reporting solution for Azure Backup

Deploy to Azure
Azure backup solution using Log Analytics
Extend Existing Azure Resources with Custom Providers

Deploy to Azure
This sample will go into detail on how to extend existing Azure resources and Resource Manager templates to add in custom workloads.
Deploy an Azure Databricks Workspace and configure CMK

Deploy to Azure
This template allows you to create an Azure Databricks workspace and configure CMK.
Deploy Data Lake Store account with encryption(Key Vault)

Deploy to Azure
This template allows you to deploy an Azure Data Lake Store account with data encryption enabled. This account uses Azure Key Vault to manage the encryption key.
DDoS attack on a virtual machine

Deploy to Azure
This will deploy a virtual machine, OMS and other network resources. Perform the DDoS attack by following the guidleines and execute the scenario for detection of a DDoS attack.
HDInsight with custom Ambari + Hive Metastore DB in VNET

Deploy to Azure
This template allows you to create an HDInsight cluster in an existing virtual network with a new SQL DB that serves as both a custom Ambari DB and Hive Metastore. You must have an exising SQL Sever, storage account, and VNET.
Azure MongoDB Sharding Cluster

Deploy to Azure
This template deploys a MongoDB Sharding Cluster on CentOS
Create HA data management gateway and install on an Azure VMs

Deploy to Azure
This template deploys multiple virtual machines with workable HA data management gateway
Enable NSG Flow Logs

Deploy to Azure
This template create an NSG Flow Logs resource
Remote Desktop Services with High Availability

Deploy to Azure
This ARM Template sample code will deploy a Remote Desktop Services 2019 Session Collection lab with high availability. The goal is to deploy a fully redundant, highly available solution for Remote Desktop Services, using Windows Server 2019.
SQL Injection attack on a web app

Deploy to Azure
This will deploy 2 application gateways, a web app, a SQL server and database, OMS and other network resources. One app gateway is in detection mode and other is in prevention mode. Perform the SQL injection attack by following the guidleines and execute the scenario for mitigation and prevention of a SQL injection attack.
Deploy SQL Always ON setup with existing SQL Virtual Machines

Deploy to Azure
Deploy SQL Always ON setup with existing SQL Virtual Machines. The virtual machines should already be joined to an existing domain and must be running enterprise version of SQL Server.
Azure Synapse Proof-of-Concept

Deploy to Azure
This template creates a proof of concept environment for Azure Synapse, including SQL Pools and optional Apache Spark Pools
Deploy a simple Linux VM and update private IP to static

Deploy to Azure
This template allows you to deploy a simple Linux VM using Ubuntu from the marketplace. This will deploy a VNET, Subnet, and an A1 size VM in the resource group location with a dynamically assigned IP address and then convert it to static IP.
Self-host Integration Runtime on Azure VMs

Deploy to Azure
This template creates a selfhost integration runtime and registers it on Azure virtual machines
Create a VM from User Image

Deploy to Azure
This template allows you to create a Virtual Machines from a User image. This template also deploys a Virtual Network, Public IP addresses and a Network Interface.
Virus attack on Virtual Machines Scenario

Deploy to Azure
This will deploy 2 virtual machines, OMS and other network resources. One virtual machine without endpoint protection and other with enpoint protection installed. Perform the virus attack by following the guidlines and execute the scenario for mitigation and prevention of a virus attack.
Create a data management gateway and install on an Azure VM

Deploy to Azure
This template deploys a virtual machine and creates a workable data management gateway
XSS attack on a web app

Deploy to Azure
This will deploy 2 application gateway , a web app, a sql server and database, OMS and other network resources. One app gateway is in detection mode and other is in prevention mode. Perform the XSS attack by following the guidleines and execute the scenario for mitigation and prevention of a XSS attack.