Edit

Share via


Set-AzConsumptionBudget

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

Syntax

Subscription (Default)

Set-AzConsumptionBudget
    -Name <String>
    [-DefaultProfile <IAzureContextContainer>]
    [-Amount <Decimal>]
    [-Category <String>]
    [-TimeGrain <String>]
    [-StartDate <DateTime>]
    [-EndDate <DateTime>]
    [-ResourceGroupName <String>]
    [-MeterFilter <String[]>]
    [-ResourceFilter <String[]>]
    [-ResourceGroupFilter <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Notification

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

Piping

Set-AzConsumptionBudget
    -InputObject <PSBudget>
    [-DefaultProfile <IAzureContextContainer>]
    [-Amount <Decimal>]
    [-Category <String>]
    [-TimeGrain <String>]
    [-StartDate <DateTime>]
    [-EndDate <DateTime>]
    [-MeterFilter <String[]>]
    [-ResourceFilter <String[]>]
    [-ResourceGroupFilter <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Piping and Notification

Set-AzConsumptionBudget
    -InputObject <PSBudget>
    -NotificationKey <String>
    [-DefaultProfile <IAzureContextContainer>]
    [-Amount <Decimal>]
    [-Category <String>]
    [-TimeGrain <String>]
    [-StartDate <DateTime>]
    [-EndDate <DateTime>]
    [-MeterFilter <String[]>]
    [-ResourceFilter <String[]>]
    [-ResourceGroupFilter <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.

Parameter properties

Type:

Nullable<T>[Decimal]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Category

Category of the budget can be cost or usage.

Parameter properties

Type:String
Default value:None
Accepted values:Cost, Usage
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ContactEmail

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

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ContactGroup

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

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ContactRole

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

Parameter properties

Type:

String[]

Default value:None
Accepted values:Owner, Reader, Contributor
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-DefaultProfile

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

Parameter properties

Type:IAzureContextContainer
Default value:None
Supports wildcards:False
DontShow:False
Aliases:AzContext, AzureRmContext, AzureCredential

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-EndDate

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

Parameter properties

Type:

Nullable<T>[DateTime]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-InputObject

Budget object.

Parameter properties

Type:PSBudget
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Piping
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-MeterFilter

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

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Name

Name of a budget.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Subscription
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Notification
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-NotificationEnabled

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

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments: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.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments: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.

Parameter properties

Type:

Nullable<T>[Decimal]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Piping and Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ResourceFilter

Comma-separated list of resource instances to filter on.

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ResourceGroupFilter

Comma-separated list of resource groups to filter on.

Parameter properties

Type:

String[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ResourceGroupName

Resource Group of a budget.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Subscription
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Notification
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments: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.

Parameter properties

Type:

Nullable<T>[DateTime]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-TimeGrain

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

Parameter properties

Type:String
Default value:None
Accepted values:Monthly, Quarterly, Annually
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-WhatIf

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

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

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.