Set-AzConsumptionBudget

Update a budget in either a subscription or a resource group.

Syntax

Set-AzConsumptionBudget
   [-DefaultProfile <IAzureContextContainer>]
   -Name <String>
   [-Amount <Decimal>]
   [-Category <String>]
   [-TimeGrain <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-ResourceGroupName <String>]
   [-MeterFilter <String[]>]
   [-ResourceFilter <String[]>]
   [-ResourceGroupFilter <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzConsumptionBudget
   [-DefaultProfile <IAzureContextContainer>]
   -Name <String>
   [-Amount <Decimal>]
   [-Category <String>]
   [-TimeGrain <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-ResourceGroupName <String>]
   [-MeterFilter <String[]>]
   [-ResourceFilter <String[]>]
   [-ResourceGroupFilter <String[]>]
   -NotificationKey <String>
   [-NotificationEnabled]
   [-NotificationThreshold <Decimal>]
   [-ContactEmail <String[]>]
   [-ContactGroup <String[]>]
   [-ContactRole <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzConsumptionBudget
   [-DefaultProfile <IAzureContextContainer>]
   -InputObject <PSBudget>
   [-Amount <Decimal>]
   [-Category <String>]
   [-TimeGrain <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-MeterFilter <String[]>]
   [-ResourceFilter <String[]>]
   [-ResourceGroupFilter <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzConsumptionBudget
   [-DefaultProfile <IAzureContextContainer>]
   -InputObject <PSBudget>
   [-Amount <Decimal>]
   [-Category <String>]
   [-TimeGrain <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-MeterFilter <String[]>]
   [-ResourceFilter <String[]>]
   [-ResourceGroupFilter <String[]>]
   -NotificationKey <String>
   [-NotificationEnabled]
   [-NotificationThreshold <Decimal>]
   [-ContactEmail <String[]>]
   [-ContactGroup <String[]>]
   [-ContactRole <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-AzConsumptionBudget cmdlet updates a budget in either a subscription or a resource group.

Examples

Example 1: Update a budget by a new amount with a budget name at subscription level

Set-AzConsumptionBudget -Name PSBudget -Amount 75

Amount:  75		
Category:  Cost
CurrentSpend:  null
Id:  subscriptions/1caaa5a3-2b66-438e-8ab4-bce37d518c5d/providers/Microsoft.Consumption/budgets/PSBudget
Name:  PSBudget
TimeGrain:  Monthly
TimePeriod:  EndDate:  11/1/2018 12:00:00 AM
             StartDate:  6/1/2018 12:00:00 AM
Type:  Microsoft.Consumption/budgets

Example 2: Update a budget with a notification when cost or usage reaches a threshold of 90 percent of amount at subscription level

Set-AzConsumptionBudget -Name PSBudget -NotificationKey notificationKey-ps1234 -NotificationEnabled -NotificationThreshold 90 -ContactEmail @('johndoe@contoso.com','janesmith@contoso.com') -ContactRole Owner,Reader,Contributor

Amount:  75		
Category:  Cost
CurrentSpend:  null
Id:  subscriptions/1caaa5a3-2b66-438e-8ab4-bce37d518c5d/providers/Microsoft.Consumption/budgets/PSBudget
Name:  PSBudget
Notification:  NotificationKey:  notificationKey-ps1234
               Threshold:  90
               Enabled:  true
               ContactEmail:  johndoe@contoso.com,janesmith@contoso.com
               ContactRole:  Owner,Reader,Contributor
TimeGrain:  Monthly
TimePeriod:  EndDate:  11/1/2018 12:00:00 AM
             StartDate:  6/1/2018 12:00:00 AM
Type:  Microsoft.Consumption/budgets

Example 3: Update a budget by a new amount with a budget name at resource group level

Set-AzConsumptionBudget -ResourceGroupName RGBudgets -Name PSBudgetRG -Amount 75

Amount:  75		
Category:  Cost
CurrentSpend:  null
Id:  subscriptions/1caaa5a3-2b66-438e-8ab4-bce37d518c5d/resourceGroups/RGBudgets/providers/Microsoft.Consumption/budgets/PSBudgetRG
Name:  PSBudgetRG
TimeGrain:  Monthly
TimePeriod:  EndDate:  11/1/2018 12:00:00 AM
             StartDate:  6/1/2018 12:00:00 AM
Type:  Microsoft.Consumption/budgets

Parameters

-Amount

Amount of a budget.

Type:Nullable<T>[Decimal]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Category

Category of the budget can be cost or usage.

Type:String
Accepted values:Cost, Usage
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContactEmail

Email addresses to send the budget notification to when the threshold is exceeded.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContactGroup

Action groups to send the budget notification to when the threshold is exceeded.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContactRole

Contact roles to send the budget notification to when the threshold is exceeded.

Type:String[]
Accepted values:Owner, Reader, Contributor
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EndDate

End date (YYYY-MM-DD in UTC) of time period of a budget.

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Budget object.

Type:PSBudget
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MeterFilter

Comma-separated list of meters to filter on. Required if category is usage.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Name of a budget.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotificationEnabled

The notification is enabled. If not specified, the notification is disabled by default.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NotificationKey

Key of a notification associated with a budget, required to create a notification with notification enabled switch, notification threshold, contact emails, contact groups, or contact roles.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotificationThreshold

Threshold value associated with a notification. Notification is sent when the cost or usage exceeded the threshold. It is always percent and has to be between 0 and 1000.

Type:Nullable<T>[Decimal]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceFilter

Comma-separated list of resource instances to filter on.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupFilter

Comma-separated list of resource groups to filter on.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Resource Group of a budget.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartDate

Start date (YYYY-MM-DD in UTC) of time period of a budget. Not prior to current month for monthly time grain. Not prior to three months for quarterly time grain. Not prior to twelve months for yearly time grain. Future start date not more than three months.

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeGrain

Time grain of the budget can be monthly, quarterly, or annually.

Type:String
Accepted values:Monthly, Quarterly, Annually
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

PSBudget

Outputs

PSBudget

Notes

  • Currently, PowerShell SDK for Consumption is only available to Enterprise Agreement customers.
  • PowerShell SDK for Consumption is using an older version of Budgets API and few backwards non-compatible items like listing Budgets with filters will not work as expected.