Microsoft.Resources deployments 2024-03-01

Remarks

For Bicep, consider using modules instead of this resource type.

Bicep resource definition

The deployments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Resources/deployments resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Resources/deployments@2024-03-01' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  name: 'string'
  properties: {
    debugSetting: {
      detailLevel: 'string'
    }
    expressionEvaluationOptions: {
      scope: 'string'
    }
    mode: 'string'
    onErrorDeployment: {
      deploymentName: 'string'
      type: 'string'
    }
    parameters: {
      {customized property}: {
        reference: {
          keyVault: {
            id: 'string'
          }
          secretName: 'string'
          secretVersion: 'string'
        }
        value: any(Azure.Bicep.Types.Concrete.AnyType)
      }
    }
    parametersLink: {
      contentVersion: 'string'
      uri: 'string'
    }
    template: any(Azure.Bicep.Types.Concrete.AnyType)
    templateLink: {
      contentVersion: 'string'
      id: 'string'
      queryString: 'string'
      relativePath: 'string'
      uri: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

DebugSetting

Name Description Value
detailLevel 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. string

DeploymentParameter

Name Description Value
reference Azure Key Vault parameter reference. KeyVaultParameterReference
value Input value to the parameter . any

DeploymentPropertiesOrDeploymentPropertiesExtended

Name Description Value
debugSetting The debug setting of the deployment. DebugSetting
expressionEvaluationOptions Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer. ExpressionEvaluationOptions
mode 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. 'Complete'
'Incremental' (required)
onErrorDeployment The deployment on error behavior. OnErrorDeploymentOrOnErrorDeploymentExtended
parameters 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. DeploymentPropertiesParameters
parametersLink 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
template 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. any
templateLink The URI of the template. Use either the templateLink property or the template property, but not both. TemplateLink

DeploymentPropertiesParameters

Name Description Value

DeploymentTags

Name Description Value

ExpressionEvaluationOptions

Name Description Value
scope The scope to be used for evaluation of parameters, variables and functions in a nested template. 'Inner'
'NotSpecified'
'Outer'

KeyVaultParameterReference

Name Description Value
keyVault Azure Key Vault reference. KeyVaultReference (required)
secretName Azure Key Vault secret name. string (required)
secretVersion Azure Key Vault secret version. string

KeyVaultReference

Name Description Value
id Azure Key Vault resource id. string (required)

Microsoft.Resources/deployments

Name Description Value
location The location to store the deployment data. string
name The resource name string

Constraints:
Min length = 1
Max length = 1
Pattern = ^[-\w\._\(\)]+$ (required)
properties The deployment properties. DeploymentPropertiesOrDeploymentPropertiesExtended (required)
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.
tags Resource tags Dictionary of tag names and values. See Tags in templates

OnErrorDeploymentOrOnErrorDeploymentExtended

Name Description Value
deploymentName The deployment to be used on error case. string
type The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. 'LastSuccessful'
'SpecificDeployment'
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
uri The URI of the parameters file. string (required)
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
id The resource id of a Template Spec. Use either the id or uri property, but not both. string
queryString The query string (for example, a SAS token) to be used with the templateLink URI. string
relativePath The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs string
uri The URI of the template to deploy. Use either the uri or id property, but not both. string

ARM template resource definition

The deployments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

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

{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2024-03-01",
  "name": "string",
  "location": "string",
  "properties": {
    "debugSetting": {
      "detailLevel": "string"
    },
    "expressionEvaluationOptions": {
      "scope": "string"
    },
    "mode": "string",
    "onErrorDeployment": {
      "deploymentName": "string",
      "type": "string"
    },
    "parameters": {
      "{customized property}": {
        "reference": {
          "keyVault": {
            "id": "string"
          },
          "secretName": "string",
          "secretVersion": "string"
        },
        "value": {}
      }
    },
    "parametersLink": {
      "contentVersion": "string",
      "uri": "string"
    },
    "template": {},
    "templateLink": {
      "contentVersion": "string",
      "id": "string",
      "queryString": "string",
      "relativePath": "string",
      "uri": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

DebugSetting

Name Description Value
detailLevel 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. string

DeploymentParameter

Name Description Value
reference Azure Key Vault parameter reference. KeyVaultParameterReference
value Input value to the parameter . any

DeploymentPropertiesOrDeploymentPropertiesExtended

Name Description Value
debugSetting The debug setting of the deployment. DebugSetting
expressionEvaluationOptions Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer. ExpressionEvaluationOptions
mode 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. 'Complete'
'Incremental' (required)
onErrorDeployment The deployment on error behavior. OnErrorDeploymentOrOnErrorDeploymentExtended
parameters 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. DeploymentPropertiesParameters
parametersLink 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
template 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. any
templateLink The URI of the template. Use either the templateLink property or the template property, but not both. TemplateLink

DeploymentPropertiesParameters

Name Description Value

DeploymentTags

Name Description Value

ExpressionEvaluationOptions

Name Description Value
scope The scope to be used for evaluation of parameters, variables and functions in a nested template. 'Inner'
'NotSpecified'
'Outer'

KeyVaultParameterReference

Name Description Value
keyVault Azure Key Vault reference. KeyVaultReference (required)
secretName Azure Key Vault secret name. string (required)
secretVersion Azure Key Vault secret version. string

KeyVaultReference

Name Description Value
id Azure Key Vault resource id. string (required)

Microsoft.Resources/deployments

Name Description Value
apiVersion The api version '2024-03-01'
location The location to store the deployment data. string
name The resource name string

Constraints:
Min length = 1
Max length = 1
Pattern = ^[-\w\._\(\)]+$ (required)
properties The deployment properties. DeploymentPropertiesOrDeploymentPropertiesExtended (required)
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Resources/deployments'

OnErrorDeploymentOrOnErrorDeploymentExtended

Name Description Value
deploymentName The deployment to be used on error case. string
type The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. 'LastSuccessful'
'SpecificDeployment'
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
uri The URI of the parameters file. string (required)
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
id The resource id of a Template Spec. Use either the id or uri property, but not both. string
queryString The query string (for example, a SAS token) to be used with the templateLink URI. string
relativePath The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs string
uri The URI of the template to deploy. Use either the uri or id property, but not both. string

Terraform (AzAPI provider) resource definition

The deployments resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Resources/deployments resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Resources/deployments@2024-03-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      debugSetting = {
        detailLevel = "string"
      }
      expressionEvaluationOptions = {
        scope = "string"
      }
      mode = "string"
      onErrorDeployment = {
        deploymentName = "string"
        type = "string"
      }
      parameters = {
        {customized property} = {
          reference = {
            keyVault = {
              id = "string"
            }
            secretName = "string"
            secretVersion = "string"
          }
          value = ?
        }
      }
      parametersLink = {
        contentVersion = "string"
        uri = "string"
      }
      template = ?
      templateLink = {
        contentVersion = "string"
        id = "string"
        queryString = "string"
        relativePath = "string"
        uri = "string"
      }
    }
  })
}

Property values

DebugSetting

Name Description Value
detailLevel 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. string

DeploymentParameter

Name Description Value
reference Azure Key Vault parameter reference. KeyVaultParameterReference
value Input value to the parameter . any

DeploymentPropertiesOrDeploymentPropertiesExtended

Name Description Value
debugSetting The debug setting of the deployment. DebugSetting
expressionEvaluationOptions Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer. ExpressionEvaluationOptions
mode 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. 'Complete'
'Incremental' (required)
onErrorDeployment The deployment on error behavior. OnErrorDeploymentOrOnErrorDeploymentExtended
parameters 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. DeploymentPropertiesParameters
parametersLink 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
template 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. any
templateLink The URI of the template. Use either the templateLink property or the template property, but not both. TemplateLink

DeploymentPropertiesParameters

Name Description Value

DeploymentTags

Name Description Value

ExpressionEvaluationOptions

Name Description Value
scope The scope to be used for evaluation of parameters, variables and functions in a nested template. 'Inner'
'NotSpecified'
'Outer'

KeyVaultParameterReference

Name Description Value
keyVault Azure Key Vault reference. KeyVaultReference (required)
secretName Azure Key Vault secret name. string (required)
secretVersion Azure Key Vault secret version. string

KeyVaultReference

Name Description Value
id Azure Key Vault resource id. string (required)

Microsoft.Resources/deployments

Name Description Value
location The location to store the deployment data. string
name The resource name string

Constraints:
Min length = 1
Max length = 1
Pattern = ^[-\w\._\(\)]+$ (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties The deployment properties. DeploymentPropertiesOrDeploymentPropertiesExtended (required)
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Resources/deployments@2024-03-01"

OnErrorDeploymentOrOnErrorDeploymentExtended

Name Description Value
deploymentName The deployment to be used on error case. string
type The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. 'LastSuccessful'
'SpecificDeployment'
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
uri The URI of the parameters file. string (required)
Name Description Value
contentVersion If included, must match the ContentVersion in the template. string
id The resource id of a Template Spec. Use either the id or uri property, but not both. string
queryString The query string (for example, a SAS token) to be used with the templateLink URI. string
relativePath The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs string
uri The URI of the template to deploy. Use either the uri or id property, but not both. string