Microsoft Bicep · Schema

Microsoft Bicep Deployment

An Azure Resource Manager deployment created from a compiled Bicep template. Represents the deployment operation including the template, parameters, mode, and resulting provisioning state.

ARM TemplatesAzureCloudDeploymentDevOpsInfrastructure as Code

Properties

Name Type Description
id string The fully qualified Azure resource ID of the deployment
name string The name of the deployment
type string The resource type
location string The location to store the deployment data
tags object Deployment tags
properties object
identity object
View JSON Schema on GitHub

JSON Schema

microsoft-bicep-deployment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://management.azure.com/schemas/microsoft-bicep/deployment.json",
  "title": "Microsoft Bicep Deployment",
  "description": "An Azure Resource Manager deployment created from a compiled Bicep template. Represents the deployment operation including the template, parameters, mode, and resulting provisioning state.",
  "type": "object",
  "required": ["properties"],
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "The fully qualified Azure resource ID of the deployment"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[-\\w\\.\\_\\(\\)]+$",
      "description": "The name of the deployment"
    },
    "type": {
      "type": "string",
      "const": "Microsoft.Resources/deployments",
      "description": "The resource type"
    },
    "location": {
      "type": "string",
      "description": "The location to store the deployment data"
    },
    "tags": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Deployment tags"
    },
    "properties": {
      "$ref": "#/$defs/DeploymentProperties"
    },
    "identity": {
      "$ref": "#/$defs/DeploymentIdentity"
    }
  },
  "$defs": {
    "DeploymentProperties": {
      "type": "object",
      "required": ["mode"],
      "description": "Deployment properties defining the template, parameters, and deployment behavior",
      "properties": {
        "template": {
          "type": "object",
          "description": "The compiled Bicep/ARM template content provided inline"
        },
        "templateLink": {
          "$ref": "#/$defs/TemplateLink"
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/DeploymentParameter"
          },
          "description": "Name and value pairs defining deployment parameters"
        },
        "parametersLink": {
          "$ref": "#/$defs/ParametersLink"
        },
        "mode": {
          "type": "string",
          "enum": ["Incremental", "Complete"],
          "description": "The deployment mode. Incremental adds resources without deleting existing ones. Complete deletes resources not in the template."
        },
        "provisioningState": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "NotSpecified",
            "Accepted",
            "Running",
            "Ready",
            "Creating",
            "Created",
            "Deleting",
            "Deleted",
            "Canceled",
            "Failed",
            "Succeeded",
            "Updating"
          ],
          "description": "The state of provisioning for the deployment"
        },
        "correlationId": {
          "type": "string",
          "readOnly": true,
          "description": "The correlation ID of the deployment for tracking"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "The timestamp of the template deployment"
        },
        "duration": {
          "type": "string",
          "readOnly": true,
          "description": "The duration of the template deployment in ISO 8601 format"
        },
        "outputs": {
          "type": "object",
          "readOnly": true,
          "description": "Key/value pairs that represent deployment output"
        },
        "templateHash": {
          "type": "string",
          "readOnly": true,
          "description": "The hash produced for the compiled template"
        },
        "outputResources": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "#/$defs/ResourceReference"
          },
          "description": "Array of provisioned resource IDs"
        },
        "validatedResources": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "#/$defs/ResourceReference"
          },
          "description": "Array of validated resource IDs"
        },
        "debugSetting": {
          "type": "object",
          "properties": {
            "detailLevel": {
              "type": "string",
              "description": "Specifies the type of information to log for debugging"
            }
          }
        },
        "onErrorDeployment": {
          "$ref": "#/$defs/OnErrorDeployment"
        },
        "expressionEvaluationOptions": {
          "type": "object",
          "properties": {
            "scope": {
              "type": "string",
              "enum": ["Outer", "Inner", "NotSpecified"],
              "description": "The scope for evaluating template expressions in nested templates"
            }
          }
        },
        "validationLevel": {
          "type": "string",
          "enum": ["Template", "Provider", "ProviderNoRbac"],
          "description": "The level of validation performed on the deployment"
        }
      }
    },
    "TemplateLink": {
      "type": "object",
      "description": "Reference to a template located at a URI or Template Spec",
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "The URI of the template to deploy"
        },
        "id": {
          "type": "string",
          "description": "The resource ID of a Template Spec"
        },
        "contentVersion": {
          "type": "string",
          "description": "Must match the ContentVersion in the template if included"
        },
        "queryString": {
          "type": "string",
          "description": "Query string such as a SAS token to use with the templateLink URI"
        },
        "relativePath": {
          "type": "string",
          "description": "Relative path for deploying linked templates relative to parent"
        }
      }
    },
    "ParametersLink": {
      "type": "object",
      "required": ["uri"],
      "description": "Reference to deployment parameters located at a URI",
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "The URI of the parameters file"
        },
        "contentVersion": {
          "type": "string",
          "description": "Must match the ContentVersion in the template if included"
        }
      }
    },
    "DeploymentParameter": {
      "type": "object",
      "description": "A single deployment parameter value, expression, or Key Vault reference",
      "properties": {
        "value": {
          "description": "Direct input value to the parameter"
        },
        "reference": {
          "type": "object",
          "properties": {
            "keyVault": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Azure Key Vault resource ID"
                }
              },
              "required": ["id"]
            },
            "secretName": {
              "type": "string",
              "description": "Azure Key Vault secret name"
            },
            "secretVersion": {
              "type": "string",
              "description": "Azure Key Vault secret version"
            }
          },
          "description": "Azure Key Vault parameter reference"
        },
        "expression": {
          "type": "string",
          "description": "Input expression to the parameter"
        }
      }
    },
    "DeploymentIdentity": {
      "type": "object",
      "description": "The Managed Identity configuration for a deployment",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["None", "UserAssigned"],
          "description": "The identity type"
        },
        "userAssignedIdentities": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "clientId": {
                "type": "string",
                "format": "uuid",
                "description": "The client ID of the assigned identity"
              },
              "principalId": {
                "type": "string",
                "format": "uuid",
                "description": "The principal ID of the assigned identity"
              }
            }
          },
          "description": "The set of user assigned identities"
        }
      }
    },
    "OnErrorDeployment": {
      "type": "object",
      "description": "Deployment behavior on error",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["LastSuccessful", "SpecificDeployment"],
          "description": "The deployment on error behavior type"
        },
        "deploymentName": {
          "type": "string",
          "description": "The deployment to use on error when type is SpecificDeployment"
        }
      }
    },
    "ResourceReference": {
      "type": "object",
      "description": "Reference to an Azure resource",
      "properties": {
        "id": {
          "type": "string",
          "description": "The fully qualified Azure resource ID"
        },
        "resourceType": {
          "type": "string",
          "description": "The resource type"
        },
        "apiVersion": {
          "type": "string",
          "description": "The API version the resource was deployed with"
        }
      }
    }
  }
}