functions/Get-AzSMBudgets.ps1
|
function global:Get-AzSMBudgets { <# .SYNOPSIS Reports the cost budgets in a subscription. .DESCRIPTION Reports the cost budgets in a subscription and writes a warning when the subscription has no budgets set. .PARAMETER SubscriptionID Azure subscription ID in the format, 00000000-0000-0000-0000-000000000000 .OUTPUTS Microsoft.Azure.Commands.Consumption.Models.PSBudget .EXAMPLE Get-AzSMBudgets -SubscriptionID 00000000-0000-0000-0000-000000000000 Reports the cost budgets in a subscription. .EXAMPLE if (-not (Get-AzSMBudgets -SubscriptionID 00000000-0000-0000-0000-000000000000 -WarningAction SilentlyContinue)) {'No budgets set'} Check if a subscription has no budgets set. .NOTES * CANNOT pipe to Remove- command. Budgets are not unused resources. * Returns nothing and writes a warning when the subscription has no budgets set. .LINK #> [CmdletBinding( DefaultParameterSetName='SubscriptionID', ConfirmImpact='low' )] param( [Parameter(Mandatory=$true)][string] $SubscriptionID ) $null = Set-AzContext -SubscriptionId $SubscriptionID Write-Debug ('Subscription: {0}' -f $SubscriptionID) $budgets = Get-AzConsumptionBudget if (-not $budgets) { Write-Warning ('No budgets are set in subscription {0}.' -f $SubscriptionID) } return $budgets } Export-ModuleMember -Function Get-AzSMBudgets |