コマンドを作りこめば可能。
前月の利用料金をコマンドで出力しその値を変数に格納した上で、コマンドで予算の作成しその際[amount]パラメータに変数にしたものを充てる
例えば以下のような形
# モジュールがインストールされていない場合、以下のコマンドを実行してインストール
# Install-Module -Name Az -AllowClobber -Force
# Azureにログインします
Connect-AzAccount
# サブスクリプションIDを設定します
$subscriptionId = "<your-subscription-id>"
# 先月の利用料金を取得します
$date = Get-Date
$startDate = $date.AddMonths(-1).ToString("yyyy-MM-01")
$endDate = $date.ToString("yyyy-MM-01")
# コスト管理レポートを取得します
$costDetails = Get-AzConsumptionUsageDetail `
-StartDate $startDate `
-EndDate $endDate `
-SubscriptionId $subscriptionId
# 先月の合計コストを計算します
$totalCost = ($costDetails | Measure-Object -Property Cost -Sum).Sum
# 予算名を設定します
$budgetName = "MonthlyBudget-" + (Get-Date -Format "yyyy-MM")
# 予算期間を設定します(年間、月次など)
$timeGrain = "Monthly"
# リソースグループ名(省略可能)
$resourceGroupName = "<your-resource-group-name>" # 任意のRGを使用していない場合はコメントアウト
# 予算を作成します
$budget = New-AzConsumptionBudget `
-Name $budgetName `
-Amount $totalCost `
-StartDate $startDate `
-EndDate $endDate `
-Category "Cost" `
-SubscriptionId $subscriptionId `
-TimeGrain $timeGrain `
-Notifications @{
# 告知設定(上限の90%、100%時に通知を送る例)
"Actual_GreaterThan_90_Percent" = @{
ContactEmails = @("<your-email@example.com>")
Enabled = $true
Operator = "GreaterThan"
Threshold = 90
ThresholdType = "Percentage"
},
"Actual_GreaterThan_100_Percent" = @{
ContactEmails = @("<your-email@example.com>")
Enabled = $true
Operator = "GreaterThan"
Threshold = 100
ThresholdType = "Percentage"
}
}
# 予算の詳細を表示します
Write-Output "予算名: $($budget.Name)"
Write-Output "予算金額: $($budget.Amount)"
Write-Output "開始日: $($budget.TimePeriod.StartDate)"
Write-Output "終了日: $($budget.TimePeriod.EndDate)"