Microsoft.Consumption budgets template reference

Template format

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

  "name": "string",
  "type": "Microsoft.Consumption/budgets",
  "apiVersion": "2019-10-01",
  "properties": {
    "category": "string",
    "amount": "number",
    "timeGrain": "string",
    "timePeriod": {
      "startDate": "string",
      "endDate": "string"
    "filter": {
      "and": [
      "not": "BudgetFilter",
      "dimensions": {
        "name": "string",
        "operator": "In",
        "values": [
      "tags": {
        "name": "string",
        "operator": "In",
        "values": [
    "notifications": {}

Property values

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

Microsoft.Consumption/budgets object

Name Type Required Value
name string Yes Budget Name.
type enum Yes Microsoft.Consumption/budgets
apiVersion enum Yes 2019-10-01
properties object Yes BudgetProperties object

BudgetProperties object

Name Type Required Value
category enum Yes The category of the budget, whether the budget tracks cost or usage. - Cost or Usage
amount number Yes The total amount of cost to track with the budget
timeGrain enum Yes The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. - Monthly, Quarterly, Annually, BillingMonth, BillingQuarter, BillingAnnual
timePeriod object Yes Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date. - BudgetTimePeriod object
filter object No May be used to filter budgets by resource group, resource, or meter. - BudgetFilter object
notifications object No Dictionary of notifications associated with the budget. Budget can have up to five notifications.

BudgetTimePeriod object

Name Type Required Value
startDate string Yes The start date for the budget.
endDate string No The end date for the budget. If not provided, we default this to 10 years from the start date.

BudgetFilter object

Name Type Required Value
and array No The logical "AND" expression. Must have at least 2 items. - BudgetFilter object
not object No The logical "NOT" expression. - BudgetFilter object
dimensions object No Has comparison expression for a dimension - BudgetComparisonExpression object
tags object No Has comparison expression for a tag - BudgetComparisonExpression object

BudgetComparisonExpression object

Name Type Required Value
name string Yes The name of the column to use in comparison.
operator enum Yes The operator to use for comparison. - In
values array Yes Array of values to use for comparison - string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create a Budget

Deploy to Azure
This template shows how to create a budget under a subscription.