A budget resource.
Uses Azure REST API version 2024-08-01. In version 2.x of the Azure Native provider, it used API version 2023-04-01-preview.
Other available API versions: 2019-04-01-preview, 2023-04-01-preview, 2023-08-01, 2023-09-01, 2023-11-01, 2024-10-01-preview, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native costmanagement [ApiVersion]. See the version guide for details.
Example Usage
CreateOrUpdate-Cost-Subscription-Budget
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
Amount = 100.65,
BudgetName = "TestBudget",
Category = AzureNative.CostManagement.CategoryType.Cost,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
And = new[]
{
new AzureNative.CostManagement.Inputs.BudgetFilterPropertiesArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ResourceId",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1",
},
},
},
new AzureNative.CostManagement.Inputs.BudgetFilterPropertiesArgs
{
Tags = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "category",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"Dev",
"Prod",
},
},
},
new AzureNative.CostManagement.Inputs.BudgetFilterPropertiesArgs
{
Tags = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "department",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"engineering",
"sales",
},
},
},
},
},
Notifications =
{
{ "Actual_GreaterThan_80_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
ContactGroups = new[]
{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup",
},
ContactRoles = new[]
{
"Contributor",
"Reader",
},
Enabled = true,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.GreaterThan,
Threshold = 80,
ThresholdType = AzureNative.CostManagement.ThresholdType.Actual,
} },
},
Scope = "subscriptions/00000000-0000-0000-0000-000000000000",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Monthly,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2024-10-31T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
Amount: pulumi.Float64(100.65),
BudgetName: pulumi.String("TestBudget"),
Category: pulumi.String(costmanagement.CategoryTypeCost),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
And: costmanagement.BudgetFilterPropertiesArray{
&costmanagement.BudgetFilterPropertiesArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ResourceId"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2"),
pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"),
},
},
},
&costmanagement.BudgetFilterPropertiesArgs{
Tags: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("category"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("Dev"),
pulumi.String("Prod"),
},
},
},
&costmanagement.BudgetFilterPropertiesArgs{
Tags: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("department"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("engineering"),
pulumi.String("sales"),
},
},
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_GreaterThan_80_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
ContactGroups: pulumi.StringArray{
pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"),
},
ContactRoles: pulumi.StringArray{
pulumi.String("Contributor"),
pulumi.String("Reader"),
},
Enabled: pulumi.Bool(true),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeGreaterThan),
Threshold: pulumi.Float64(80),
ThresholdType: pulumi.String(costmanagement.ThresholdTypeActual),
},
},
Scope: pulumi.String("subscriptions/00000000-0000-0000-0000-000000000000"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeMonthly),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2024-10-31T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.amount(100.65)
.budgetName("TestBudget")
.category("Cost")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.and(
BudgetFilterPropertiesArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ResourceId")
.operator("In")
.values(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1")
.build())
.build(),
BudgetFilterPropertiesArgs.builder()
.tags(BudgetComparisonExpressionArgs.builder()
.name("category")
.operator("In")
.values(
"Dev",
"Prod")
.build())
.build(),
BudgetFilterPropertiesArgs.builder()
.tags(BudgetComparisonExpressionArgs.builder()
.name("department")
.operator("In")
.values(
"engineering",
"sales")
.build())
.build())
.build())
.notifications(Map.of("Actual_GreaterThan_80_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.contactGroups("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup")
.contactRoles(
"Contributor",
"Reader")
.enabled(true)
.locale("en-us")
.operator("GreaterThan")
.threshold(80.0)
.thresholdType("Actual")
.build()))
.scope("subscriptions/00000000-0000-0000-0000-000000000000")
.timeGrain("Monthly")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2024-10-31T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
amount: 100.65,
budgetName: "TestBudget",
category: azure_native.costmanagement.CategoryType.Cost,
eTag: "\"1d34d016a593709\"",
filter: {
and: [
{
dimensions: {
name: "ResourceId",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1",
],
},
},
{
tags: {
name: "category",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"Dev",
"Prod",
],
},
},
{
tags: {
name: "department",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"engineering",
"sales",
],
},
},
],
},
notifications: {
Actual_GreaterThan_80_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
contactGroups: ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"],
contactRoles: [
"Contributor",
"Reader",
],
enabled: true,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.GreaterThan,
threshold: 80,
thresholdType: azure_native.costmanagement.ThresholdType.Actual,
},
},
scope: "subscriptions/00000000-0000-0000-0000-000000000000",
timeGrain: azure_native.costmanagement.TimeGrainType.Monthly,
timePeriod: {
endDate: "2024-10-31T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
amount=100.65,
budget_name="TestBudget",
category=azure_native.costmanagement.CategoryType.COST,
e_tag="\"1d34d016a593709\"",
filter={
"and_": [
{
"dimensions": {
"name": "ResourceId",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1",
],
},
},
{
"tags": {
"name": "category",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"Dev",
"Prod",
],
},
},
{
"tags": {
"name": "department",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"engineering",
"sales",
],
},
},
],
},
notifications={
"Actual_GreaterThan_80_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"contact_groups": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"],
"contact_roles": [
"Contributor",
"Reader",
],
"enabled": True,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.GREATER_THAN,
"threshold": 80,
"threshold_type": azure_native.costmanagement.ThresholdType.ACTUAL,
},
},
scope="subscriptions/00000000-0000-0000-0000-000000000000",
time_grain=azure_native.costmanagement.TimeGrainType.MONTHLY,
time_period={
"end_date": "2024-10-31T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
amount: 100.65
budgetName: TestBudget
category: Cost
eTag: '"1d34d016a593709"'
filter:
and:
- dimensions:
name: ResourceId
operator: In
values:
- /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2
- /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1
- tags:
name: category
operator: In
values:
- Dev
- Prod
- tags:
name: department
operator: In
values:
- engineering
- sales
notifications:
Actual_GreaterThan_80_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
contactGroups:
- /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup
contactRoles:
- Contributor
- Reader
enabled: true
locale: en-us
operator: GreaterThan
threshold: 80
thresholdType: Actual
scope: subscriptions/00000000-0000-0000-0000-000000000000
timeGrain: Monthly
timePeriod:
endDate: 2024-10-31T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = null,
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Weekly,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/123456",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last7Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyWeekly),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/123456"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast7Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Weekly")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/123456")
.timeGrain("Last7Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Weekly,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/123456",
timeGrain: azure_native.costmanagement.TimeGrainType.Last7Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.WEEKLY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/123456",
time_grain=azure_native.costmanagement.TimeGrainType.LAST7_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter: {}
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Weekly
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/123456
timeGrain: Last7Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservationIdFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservationId",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Weekly,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/123456",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last7Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservationId"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("00000000-0000-0000-0000-000000000000"),
pulumi.String("00000000-0000-0000-0000-000000000001"),
pulumi.String("00000000-0000-0000-0000-000000000002"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyWeekly),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/123456"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast7Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservationId")
.operator("In")
.values(
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Weekly")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/123456")
.timeGrain("Last7Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservationId",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Weekly,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/123456",
timeGrain: azure_native.costmanagement.TimeGrainType.Last7Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservationId",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.WEEKLY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/123456",
time_grain=azure_native.costmanagement.TimeGrainType.LAST7_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservationId
operator: In
values:
- 00000000-0000-0000-0000-000000000000
- 00000000-0000-0000-0000-000000000001
- 00000000-0000-0000-0000-000000000002
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Weekly
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/123456
timeGrain: Last7Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingAccountEA-AlertRule-ReservedResourceTypeFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservedResourceType",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Weekly,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/123456",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last7Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservedResourceType"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("VirtualMachines"),
pulumi.String("SqlDatabases"),
pulumi.String("CosmosDb"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyWeekly),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/123456"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast7Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservedResourceType")
.operator("In")
.values(
"VirtualMachines",
"SqlDatabases",
"CosmosDb")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Weekly")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/123456")
.timeGrain("Last7Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservedResourceType",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Weekly,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/123456",
timeGrain: azure_native.costmanagement.TimeGrainType.Last7Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservedResourceType",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.WEEKLY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/123456",
time_grain=azure_native.costmanagement.TimeGrainType.LAST7_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservedResourceType
operator: In
values:
- VirtualMachines
- SqlDatabases
- CosmosDb
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Weekly
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/123456
timeGrain: Last7Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule-ReservationIdFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservationId",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservationId"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("00000000-0000-0000-0000-000000000000"),
pulumi.String("00000000-0000-0000-0000-000000000001"),
pulumi.String("00000000-0000-0000-0000-000000000002"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservationId")
.operator("In")
.values(
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservationId",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservationId",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservationId
operator: In
values:
- 00000000-0000-0000-0000-000000000000
- 00000000-0000-0000-0000-000000000001
- 00000000-0000-0000-0000-000000000002
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule-ReservedResourceTypeFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservedResourceType",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservedResourceType"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("VirtualMachines"),
pulumi.String("SqlDatabases"),
pulumi.String("CosmosDb"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservedResourceType")
.operator("In")
.values(
"VirtualMachines",
"SqlDatabases",
"CosmosDb")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservedResourceType",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservedResourceType",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservedResourceType
operator: In
values:
- VirtualMachines
- SqlDatabases
- CosmosDb
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-BillingProfileMCA-AlertRule.json
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = null,
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter: {}
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/billingProfiles/KKKK-LLLL-MMM-NNN
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-CustomerCSP-AlertRule-ReservationIdFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservationId",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservationId"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("00000000-0000-0000-0000-000000000000"),
pulumi.String("00000000-0000-0000-0000-000000000001"),
pulumi.String("00000000-0000-0000-0000-000000000002"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservationId")
.operator("In")
.values(
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservationId",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservationId",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000001",
"00000000-0000-0000-0000-000000000002",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservationId
operator: In
values:
- 00000000-0000-0000-0000-000000000000
- 00000000-0000-0000-0000-000000000001
- 00000000-0000-0000-0000-000000000002
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-CustomerCSP-AlertRule-ReservedResourceTypeFilter
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "ReservedResourceType",
Operator = AzureNative.CostManagement.BudgetOperatorType.In,
Values = new[]
{
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
},
},
},
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("ReservedResourceType"),
Operator: pulumi.String(costmanagement.BudgetOperatorTypeIn),
Values: pulumi.StringArray{
pulumi.String("VirtualMachines"),
pulumi.String("SqlDatabases"),
pulumi.String("CosmosDb"),
},
},
},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetComparisonExpressionArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("ReservedResourceType")
.operator("In")
.values(
"VirtualMachines",
"SqlDatabases",
"CosmosDb")
.build())
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {
dimensions: {
name: "ReservedResourceType",
operator: azure_native.costmanagement.BudgetOperatorType.In,
values: [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={
"dimensions": {
"name": "ReservedResourceType",
"operator": azure_native.costmanagement.BudgetOperatorType.IN_,
"values": [
"VirtualMachines",
"SqlDatabases",
"CosmosDb",
],
},
},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter:
dimensions:
name: ReservedResourceType
operator: In
values:
- VirtualMachines
- SqlDatabases
- CosmosDb
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
CreateOrUpdate-ReservationUtilization-CustomerCSP-AlertRule.json
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var budget = new AzureNative.CostManagement.Budget("budget", new()
{
BudgetName = "TestAlertRule",
Category = AzureNative.CostManagement.CategoryType.ReservationUtilization,
ETag = "\"1d34d016a593709\"",
Filter = null,
Notifications =
{
{ "Actual_LessThan_99_Percent", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"johndoe@contoso.com",
"janesmith@contoso.com",
},
Enabled = true,
Frequency = AzureNative.CostManagement.Frequency.Daily,
Locale = AzureNative.CostManagement.CultureCode.En_us,
Operator = AzureNative.CostManagement.BudgetNotificationOperatorType.LessThan,
Threshold = 99,
} },
},
Scope = "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
TimeGrain = AzureNative.CostManagement.TimeGrainType.Last30Days,
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
EndDate = "2025-04-01T00:00:00Z",
StartDate = "2023-04-01T00:00:00Z",
},
});
});
package main
import (
costmanagement "github.com/pulumi/pulumi-azure-native-sdk/costmanagement/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := costmanagement.NewBudget(ctx, "budget", &costmanagement.BudgetArgs{
BudgetName: pulumi.String("TestAlertRule"),
Category: pulumi.String(costmanagement.CategoryTypeReservationUtilization),
ETag: pulumi.String("\"1d34d016a593709\""),
Filter: &costmanagement.BudgetFilterArgs{},
Notifications: costmanagement.NotificationMap{
"Actual_LessThan_99_Percent": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("johndoe@contoso.com"),
pulumi.String("janesmith@contoso.com"),
},
Enabled: pulumi.Bool(true),
Frequency: pulumi.String(costmanagement.FrequencyDaily),
Locale: pulumi.String(costmanagement.CultureCode_En_Us),
Operator: pulumi.String(costmanagement.BudgetNotificationOperatorTypeLessThan),
Threshold: pulumi.Float64(99),
},
},
Scope: pulumi.String("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444"),
TimeGrain: pulumi.String(costmanagement.TimeGrainTypeLast30Days),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
EndDate: pulumi.String("2025-04-01T00:00:00Z"),
StartDate: pulumi.String("2023-04-01T00:00:00Z"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.Budget;
import com.pulumi.azurenative.costmanagement.BudgetArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetFilterArgs;
import com.pulumi.azurenative.costmanagement.inputs.BudgetTimePeriodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var budget = new Budget("budget", BudgetArgs.builder()
.budgetName("TestAlertRule")
.category("ReservationUtilization")
.eTag("\"1d34d016a593709\"")
.filter(BudgetFilterArgs.builder()
.build())
.notifications(Map.of("Actual_LessThan_99_Percent", NotificationArgs.builder()
.contactEmails(
"johndoe@contoso.com",
"janesmith@contoso.com")
.enabled(true)
.frequency("Daily")
.locale("en-us")
.operator("LessThan")
.threshold(99.0)
.build()))
.scope("providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444")
.timeGrain("Last30Days")
.timePeriod(BudgetTimePeriodArgs.builder()
.endDate("2025-04-01T00:00:00Z")
.startDate("2023-04-01T00:00:00Z")
.build())
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const budget = new azure_native.costmanagement.Budget("budget", {
budgetName: "TestAlertRule",
category: azure_native.costmanagement.CategoryType.ReservationUtilization,
eTag: "\"1d34d016a593709\"",
filter: {},
notifications: {
Actual_LessThan_99_Percent: {
contactEmails: [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
enabled: true,
frequency: azure_native.costmanagement.Frequency.Daily,
locale: azure_native.costmanagement.CultureCode.En_us,
operator: azure_native.costmanagement.BudgetNotificationOperatorType.LessThan,
threshold: 99,
},
},
scope: "providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
timeGrain: azure_native.costmanagement.TimeGrainType.Last30Days,
timePeriod: {
endDate: "2025-04-01T00:00:00Z",
startDate: "2023-04-01T00:00:00Z",
},
});
import pulumi
import pulumi_azure_native as azure_native
budget = azure_native.costmanagement.Budget("budget",
budget_name="TestAlertRule",
category=azure_native.costmanagement.CategoryType.RESERVATION_UTILIZATION,
e_tag="\"1d34d016a593709\"",
filter={},
notifications={
"Actual_LessThan_99_Percent": {
"contact_emails": [
"johndoe@contoso.com",
"janesmith@contoso.com",
],
"enabled": True,
"frequency": azure_native.costmanagement.Frequency.DAILY,
"locale": azure_native.costmanagement.CultureCode.EN_US,
"operator": azure_native.costmanagement.BudgetNotificationOperatorType.LESS_THAN,
"threshold": 99,
},
},
scope="providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444",
time_grain=azure_native.costmanagement.TimeGrainType.LAST30_DAYS,
time_period={
"end_date": "2025-04-01T00:00:00Z",
"start_date": "2023-04-01T00:00:00Z",
})
resources:
budget:
type: azure-native:costmanagement:Budget
properties:
budgetName: TestAlertRule
category: ReservationUtilization
eTag: '"1d34d016a593709"'
filter: {}
notifications:
Actual_LessThan_99_Percent:
contactEmails:
- johndoe@contoso.com
- janesmith@contoso.com
enabled: true
frequency: Daily
locale: en-us
operator: LessThan
threshold: 99
scope: providers/Microsoft.Billing/billingAccounts/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee:ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj_2023-04-01/customers/000000-1111-2222-3333-444444444444
timeGrain: Last30Days
timePeriod:
endDate: 2025-04-01T00:00:00Z
startDate: 2023-04-01T00:00:00Z
Create Budget Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Budget(name: string, args: BudgetArgs, opts?: CustomResourceOptions);@overload
def Budget(resource_name: str,
args: BudgetArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Budget(resource_name: str,
opts: Optional[ResourceOptions] = None,
category: Optional[Union[str, CategoryType]] = None,
scope: Optional[str] = None,
time_grain: Optional[Union[str, TimeGrainType]] = None,
time_period: Optional[BudgetTimePeriodArgs] = None,
amount: Optional[float] = None,
budget_name: Optional[str] = None,
e_tag: Optional[str] = None,
filter: Optional[BudgetFilterArgs] = None,
notifications: Optional[Mapping[str, NotificationArgs]] = None)func NewBudget(ctx *Context, name string, args BudgetArgs, opts ...ResourceOption) (*Budget, error)public Budget(string name, BudgetArgs args, CustomResourceOptions? opts = null)
public Budget(String name, BudgetArgs args)
public Budget(String name, BudgetArgs args, CustomResourceOptions options)
type: azure-native:costmanagement:Budget
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args BudgetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args BudgetArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args BudgetArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BudgetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BudgetArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var azure_nativeBudgetResource = new AzureNative.CostManagement.Budget("azure-nativeBudgetResource", new()
{
Category = "string",
Scope = "string",
TimeGrain = "string",
TimePeriod = new AzureNative.CostManagement.Inputs.BudgetTimePeriodArgs
{
StartDate = "string",
EndDate = "string",
},
Amount = 0,
BudgetName = "string",
ETag = "string",
Filter = new AzureNative.CostManagement.Inputs.BudgetFilterArgs
{
And = new[]
{
new AzureNative.CostManagement.Inputs.BudgetFilterPropertiesArgs
{
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
Tags = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
},
Dimensions = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
Tags = new AzureNative.CostManagement.Inputs.BudgetComparisonExpressionArgs
{
Name = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
Notifications =
{
{ "string", new AzureNative.CostManagement.Inputs.NotificationArgs
{
ContactEmails = new[]
{
"string",
},
Enabled = false,
Operator = "string",
Threshold = 0,
ContactGroups = new[]
{
"string",
},
ContactRoles = new[]
{
"string",
},
Frequency = "string",
Locale = "string",
ThresholdType = "string",
} },
},
});
example, err := costmanagement.NewBudget(ctx, "azure-nativeBudgetResource", &costmanagement.BudgetArgs{
Category: pulumi.String("string"),
Scope: pulumi.String("string"),
TimeGrain: pulumi.String("string"),
TimePeriod: &costmanagement.BudgetTimePeriodArgs{
StartDate: pulumi.String("string"),
EndDate: pulumi.String("string"),
},
Amount: pulumi.Float64(0),
BudgetName: pulumi.String("string"),
ETag: pulumi.String("string"),
Filter: &costmanagement.BudgetFilterArgs{
And: costmanagement.BudgetFilterPropertiesArray{
&costmanagement.BudgetFilterPropertiesArgs{
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
Tags: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
Dimensions: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
Tags: &costmanagement.BudgetComparisonExpressionArgs{
Name: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
Notifications: costmanagement.NotificationMap{
"string": &costmanagement.NotificationArgs{
ContactEmails: pulumi.StringArray{
pulumi.String("string"),
},
Enabled: pulumi.Bool(false),
Operator: pulumi.String("string"),
Threshold: pulumi.Float64(0),
ContactGroups: pulumi.StringArray{
pulumi.String("string"),
},
ContactRoles: pulumi.StringArray{
pulumi.String("string"),
},
Frequency: pulumi.String("string"),
Locale: pulumi.String("string"),
ThresholdType: pulumi.String("string"),
},
},
})
var azure_nativeBudgetResource = new com.pulumi.azurenative.costmanagement.Budget("azure-nativeBudgetResource", com.pulumi.azurenative.costmanagement.BudgetArgs.builder()
.category("string")
.scope("string")
.timeGrain("string")
.timePeriod(BudgetTimePeriodArgs.builder()
.startDate("string")
.endDate("string")
.build())
.amount(0.0)
.budgetName("string")
.eTag("string")
.filter(BudgetFilterArgs.builder()
.and(BudgetFilterPropertiesArgs.builder()
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("string")
.operator("string")
.values("string")
.build())
.tags(BudgetComparisonExpressionArgs.builder()
.name("string")
.operator("string")
.values("string")
.build())
.build())
.dimensions(BudgetComparisonExpressionArgs.builder()
.name("string")
.operator("string")
.values("string")
.build())
.tags(BudgetComparisonExpressionArgs.builder()
.name("string")
.operator("string")
.values("string")
.build())
.build())
.notifications(Map.of("string", NotificationArgs.builder()
.contactEmails("string")
.enabled(false)
.operator("string")
.threshold(0.0)
.contactGroups("string")
.contactRoles("string")
.frequency("string")
.locale("string")
.thresholdType("string")
.build()))
.build());
azure_native_budget_resource = azure_native.costmanagement.Budget("azure-nativeBudgetResource",
category="string",
scope="string",
time_grain="string",
time_period={
"start_date": "string",
"end_date": "string",
},
amount=0,
budget_name="string",
e_tag="string",
filter={
"and_": [{
"dimensions": {
"name": "string",
"operator": "string",
"values": ["string"],
},
"tags": {
"name": "string",
"operator": "string",
"values": ["string"],
},
}],
"dimensions": {
"name": "string",
"operator": "string",
"values": ["string"],
},
"tags": {
"name": "string",
"operator": "string",
"values": ["string"],
},
},
notifications={
"string": {
"contact_emails": ["string"],
"enabled": False,
"operator": "string",
"threshold": 0,
"contact_groups": ["string"],
"contact_roles": ["string"],
"frequency": "string",
"locale": "string",
"threshold_type": "string",
},
})
const azure_nativeBudgetResource = new azure_native.costmanagement.Budget("azure-nativeBudgetResource", {
category: "string",
scope: "string",
timeGrain: "string",
timePeriod: {
startDate: "string",
endDate: "string",
},
amount: 0,
budgetName: "string",
eTag: "string",
filter: {
and: [{
dimensions: {
name: "string",
operator: "string",
values: ["string"],
},
tags: {
name: "string",
operator: "string",
values: ["string"],
},
}],
dimensions: {
name: "string",
operator: "string",
values: ["string"],
},
tags: {
name: "string",
operator: "string",
values: ["string"],
},
},
notifications: {
string: {
contactEmails: ["string"],
enabled: false,
operator: "string",
threshold: 0,
contactGroups: ["string"],
contactRoles: ["string"],
frequency: "string",
locale: "string",
thresholdType: "string",
},
},
});
type: azure-native:costmanagement:Budget
properties:
amount: 0
budgetName: string
category: string
eTag: string
filter:
and:
- dimensions:
name: string
operator: string
values:
- string
tags:
name: string
operator: string
values:
- string
dimensions:
name: string
operator: string
values:
- string
tags:
name: string
operator: string
values:
- string
notifications:
string:
contactEmails:
- string
contactGroups:
- string
contactRoles:
- string
enabled: false
frequency: string
locale: string
operator: string
threshold: 0
thresholdType: string
scope: string
timeGrain: string
timePeriod:
endDate: string
startDate: string
Budget Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Budget resource accepts the following input properties:
- Category
string | Pulumi.
Azure Native. Cost Management. Category Type - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- Scope string
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- Time
Grain string | Pulumi.Azure Native. Cost Management. Time Grain Type The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- Time
Period Pulumi.Azure Native. Cost Management. Inputs. Budget Time Period The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- Amount double
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- Budget
Name string - Budget Name.
- ETag string
- eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- Filter
Pulumi.
Azure Native. Cost Management. Inputs. Budget Filter May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Notifications
Dictionary<string, Pulumi.
Azure Native. Cost Management. Inputs. Notification Args> Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
- Category
string | Category
Type - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- Scope string
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- Time
Grain string | TimeGrain Type The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- Time
Period BudgetTime Period Args The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- Amount float64
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- Budget
Name string - Budget Name.
- ETag string
- eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- Filter
Budget
Filter Args May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Notifications
map[string]Notification
Args Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
- category
String | Category
Type - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- scope String
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- time
Grain String | TimeGrain Type The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- time
Period BudgetTime Period The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- amount Double
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- budget
Name String - Budget Name.
- e
Tag String - eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- filter
Budget
Filter May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- notifications
Map<String,Notification
Args> Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
- category
string | Category
Type - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- scope string
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- time
Grain string | TimeGrain Type The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- time
Period BudgetTime Period The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- amount number
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- budget
Name string - Budget Name.
- e
Tag string - eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- filter
Budget
Filter May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- notifications
{[key: string]: Notification
Args} Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
- category
str | Category
Type - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- scope str
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- time_
grain str | TimeGrain Type The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- time_
period BudgetTime Period Args The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- amount float
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- budget_
name str - Budget Name.
- e_
tag str - eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- filter
Budget
Filter Args May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- notifications
Mapping[str, Notification
Args] Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
- category
String | "Cost" | "Reservation
Utilization" - The category of the budget.
- 'Cost' defines a Budget.
- 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
- scope String
The scope associated with budget operations.
Supported scopes for CategoryType: Cost
Azure RBAC Scopes:
- '/subscriptions/{subscriptionId}/' for subscription scope
- '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
- '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
Supported scopes for CategoryType: ReservationUtilization
EA (Enterprise Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
MCA (Modern Customer Agreement) Scopes:
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
- '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
- time
Grain String | "Monthly" | "Quarterly" | "Annually" | "BillingMonth" | "Billing Quarter" | "Billing Annual" | "Last7Days" | "Last30Days" The time covered by a budget. Tracking of the amount will be reset based on the time grain.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported timeGrainTypes for CategoryType: Cost
Monthly
Quarterly
Annually
BillingMonth*
BillingQuarter*
BillingAnnual*
*only supported for Web Direct customers.
Supported timeGrainTypes for CategoryType: ReservationUtilization
- Last7Days
- Last30Days
Required for CategoryType(s): Cost, ReservationUtilization.
- time
Period Property Map The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- amount Number
The total amount of cost to track with the budget.
Supported for CategoryType(s): Cost.
Required for CategoryType(s): Cost.
- budget
Name String - Budget Name.
- e
Tag String - eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
- filter Property Map
May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- notifications Map<Property Map>
Dictionary of notifications associated with the budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Constraints for CategoryType: Cost - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
- Constraints for CategoryType: ReservationUtilization - Only one notification allowed. thresholdType is not applicable.
Outputs
All input properties are implicitly available as output properties. Additionally, the Budget resource produces the following output properties:
- Azure
Api stringVersion - The Azure API version of the resource.
- Current
Spend Pulumi.Azure Native. Cost Management. Outputs. Current Spend Response The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- Forecast
Spend Pulumi.Azure Native. Cost Management. Outputs. Forecast Spend Response The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Resource name.
- Type string
- Resource type.
- Azure
Api stringVersion - The Azure API version of the resource.
- Current
Spend CurrentSpend Response The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- Forecast
Spend ForecastSpend Response The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Resource name.
- Type string
- Resource type.
- azure
Api StringVersion - The Azure API version of the resource.
- current
Spend CurrentSpend Response The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- forecast
Spend ForecastSpend Response The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Resource name.
- type String
- Resource type.
- azure
Api stringVersion - The Azure API version of the resource.
- current
Spend CurrentSpend Response The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- forecast
Spend ForecastSpend Response The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- Resource name.
- type string
- Resource type.
- azure_
api_ strversion - The Azure API version of the resource.
- current_
spend CurrentSpend Response The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- forecast_
spend ForecastSpend Response The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- Resource name.
- type str
- Resource type.
- azure
Api StringVersion - The Azure API version of the resource.
- current
Spend Property Map The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- forecast
Spend Property Map The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Resource name.
- type String
- Resource type.
Supporting Types
BudgetComparisonExpression, BudgetComparisonExpressionArgs
The comparison expression to be used in the budgets.- Name string
- The name of the column to use in comparison.
- Operator
string | Pulumi.
Azure Native. Cost Management. Budget Operator Type - The operator to use for comparison.
- Values List<string>
- Array of values to use for comparison
- Name string
- The name of the column to use in comparison.
- Operator
string | Budget
Operator Type - The operator to use for comparison.
- Values []string
- Array of values to use for comparison
- name String
- The name of the column to use in comparison.
- operator
String | Budget
Operator Type - The operator to use for comparison.
- values List<String>
- Array of values to use for comparison
- name string
- The name of the column to use in comparison.
- operator
string | Budget
Operator Type - The operator to use for comparison.
- values string[]
- Array of values to use for comparison
- name str
- The name of the column to use in comparison.
- operator
str | Budget
Operator Type - The operator to use for comparison.
- values Sequence[str]
- Array of values to use for comparison
BudgetComparisonExpressionResponse, BudgetComparisonExpressionResponseArgs
The comparison expression to be used in the budgets.BudgetFilter, BudgetFilterArgs
May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- And
List<Pulumi.
Azure Native. Cost Management. Inputs. Budget Filter Properties> The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- Dimensions
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- And
[]Budget
Filter Properties The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- Dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and
List<Budget
Filter Properties> The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and
Budget
Filter Properties[] The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and_
Sequence[Budget
Filter Properties] The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and List<Property Map>
The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions Property Map
Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
- Property Map
Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
BudgetFilterProperties, BudgetFilterPropertiesArgs
The Dimensions or Tags to filter a budget by.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Dimensions
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- Dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions Property Map
Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
- Property Map
Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
BudgetFilterPropertiesResponse, BudgetFilterPropertiesResponseArgs
The Dimensions or Tags to filter a budget by.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Dimensions
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- Dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- dimensions Property Map
Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
- Property Map
Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
BudgetFilterResponse, BudgetFilterResponseArgs
May be used to filter budgets by user-specified dimensions and/or tags.
Supported for CategoryType(s): Cost, ReservationUtilization.
- And
List<Pulumi.
Azure Native. Cost Management. Inputs. Budget Filter Properties Response> The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- Dimensions
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Pulumi.
Azure Native. Cost Management. Inputs. Budget Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- And
[]Budget
Filter Properties Response The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- Dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and
List<Budget
Filter Properties Response> The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and
Budget
Filter Properties Response[] The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and_
Sequence[Budget
Filter Properties Response] The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions
Budget
Comparison Expression Response Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
-
Budget
Comparison Expression Response Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
- and List<Property Map>
The logical "AND" expression. Must have at least 2 items.
Supported for CategoryType(s): Cost.
- dimensions Property Map
Has comparison expression for a dimension.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported dimension names for CategoryType: ReservationUtilization
- ReservationId
- ReservedResourceType
- Property Map
Has comparison expression for a tag.
Supported for CategoryType(s): Cost.
BudgetNotificationOperatorType, BudgetNotificationOperatorTypeArgs
- Equal
To EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- Greater
Than GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- Greater
Than Or Equal To GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- Less
Than LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
- Budget
Notification Operator Type Equal To EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- Budget
Notification Operator Type Greater Than GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- Budget
Notification Operator Type Greater Than Or Equal To GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- Budget
Notification Operator Type Less Than LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
- Equal
To EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- Greater
Than GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- Greater
Than Or Equal To GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- Less
Than LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
- Equal
To EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- Greater
Than GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- Greater
Than Or Equal To GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- Less
Than LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
- EQUAL_TO
EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- GREATER_THAN
GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- GREATER_THAN_OR_EQUAL_TO
GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- LESS_THAN
LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
- "Equal
To" EqualToNotification will be triggered if the evaluated cost is the same as threshold value. Note: It’s not recommended to use this OperatorType as there’s low chance of cost being exactly the same as threshold value, leading to missing of your alert. This OperatorType will be deprecated in future.
Supported for CategoryType(s): Cost.
- "Greater
Than" GreaterThanNotification will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
Supported for CategoryType(s): Cost.
- "Greater
Than Or Equal To" GreaterThanOrEqualToNotification will be triggered if the evaluated cost is greater than or equal to the threshold value.
Supported for CategoryType(s): Cost.
- "Less
Than" LessThanNotification will be triggered if any Reservations in the scope of the Reservation Utilization Alert Rule have a utilization less than the threshold percentage.
Supported for CategoryType(s): ReservationUtilization.
BudgetOperatorType, BudgetOperatorTypeArgs
- In
In
- Budget
Operator Type In In
- In
In
- In
In
- IN_
In
- "In"
In
BudgetTimePeriod, BudgetTimePeriodArgs
The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- Start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- End
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- Start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- End
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date String The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date String The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start_
date str The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end_
date str The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date String The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date String The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
BudgetTimePeriodResponse, BudgetTimePeriodResponseArgs
The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
Supported for CategoryType(s): Cost, ReservationUtilization.
Required for CategoryType(s): Cost, ReservationUtilization.
- Start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- End
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- Start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- End
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date String The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date String The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date string The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date string The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start_
date str The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end_
date str The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
- start
Date String The start date for the budget.
Constraints for CategoryType: Cost - 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.
Constraints for CategoryType: ReservationUtilization - Must be on or after the current date and less than the end date.
- end
Date String The end date for the budget.
Constraints for CategoryType: Cost - No constraints. If not provided, we default this to 10 years from the start date.
Constraints for CategoryType: ReservationUtilization - End date cannot be more than 3 years after the start date.
CategoryType, CategoryTypeArgs
- Cost
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- Reservation
Utilization ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
- Category
Type Cost CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- Category
Type Reservation Utilization ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
- Cost
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- Reservation
Utilization ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
- Cost
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- Reservation
Utilization ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
- COST
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- RESERVATION_UTILIZATION
ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
- "Cost"
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.- "Reservation
Utilization" ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
CultureCode, CultureCodeArgs
- En_
us en-us- Ja_
jp ja-jp- Zh_
cn zh-cn- De_
de de-de- Es_
es es-es- Fr_
fr fr-fr- It_
it it-it- Ko_
kr ko-kr- Pt_
br pt-br- Ru_
ru ru-ru- Zh_
tw zh-tw- Cs_
cz cs-cz- Pl_
pl pl-pl- Tr_
tr tr-tr- Da_
dk da-dk- En_
gb en-gb- Hu_
hu hu-hu- Nb_
no nb-no- Nl_
nl nl-nl- Pt_
pt pt-pt- Sv_
se sv-se
- Culture
Code_En_Us en-us- Culture
Code_Ja_Jp ja-jp- Culture
Code_Zh_Cn zh-cn- Culture
Code_De_De de-de- Culture
Code_Es_Es es-es- Culture
Code_Fr_Fr fr-fr- Culture
Code_It_It it-it- Culture
Code_Ko_Kr ko-kr- Culture
Code_Pt_Br pt-br- Culture
Code_Ru_Ru ru-ru- Culture
Code_Zh_Tw zh-tw- Culture
Code_Cs_Cz cs-cz- Culture
Code_Pl_Pl pl-pl- Culture
Code_Tr_Tr tr-tr- Culture
Code_Da_Dk da-dk- Culture
Code_En_Gb en-gb- Culture
Code_Hu_Hu hu-hu- Culture
Code_Nb_No nb-no- Culture
Code_Nl_Nl nl-nl- Culture
Code_Pt_Pt pt-pt- Culture
Code_Sv_Se sv-se
- Enus
en-us- Jajp
ja-jp- Zhcn
zh-cn- Dede
de-de- Eses
es-es- Frfr
fr-fr- Itit
it-it- Kokr
ko-kr- Ptbr
pt-br- Ruru
ru-ru- Zhtw
zh-tw- Cscz
cs-cz- Plpl
pl-pl- Trtr
tr-tr- Dadk
da-dk- Engb
en-gb- Huhu
hu-hu- Nbno
nb-no- Nlnl
nl-nl- Ptpt
pt-pt- Svse
sv-se
- En_
us en-us- Ja_
jp ja-jp- Zh_
cn zh-cn- De_
de de-de- Es_
es es-es- Fr_
fr fr-fr- It_
it it-it- Ko_
kr ko-kr- Pt_
br pt-br- Ru_
ru ru-ru- Zh_
tw zh-tw- Cs_
cz cs-cz- Pl_
pl pl-pl- Tr_
tr tr-tr- Da_
dk da-dk- En_
gb en-gb- Hu_
hu hu-hu- Nb_
no nb-no- Nl_
nl nl-nl- Pt_
pt pt-pt- Sv_
se sv-se
- EN_US
en-us- JA_JP
ja-jp- ZH_CN
zh-cn- DE_DE
de-de- ES_ES
es-es- FR_FR
fr-fr- IT_IT
it-it- KO_KR
ko-kr- PT_BR
pt-br- RU_RU
ru-ru- ZH_TW
zh-tw- CS_CZ
cs-cz- PL_PL
pl-pl- TR_TR
tr-tr- DA_DK
da-dk- EN_GB
en-gb- HU_HU
hu-hu- NB_NO
nb-no- NL_NL
nl-nl- PT_PT
pt-pt- SV_SE
sv-se
- "en-us"
en-us- "ja-jp"
ja-jp- "zh-cn"
zh-cn- "de-de"
de-de- "es-es"
es-es- "fr-fr"
fr-fr- "it-it"
it-it- "ko-kr"
ko-kr- "pt-br"
pt-br- "ru-ru"
ru-ru- "zh-tw"
zh-tw- "cs-cz"
cs-cz- "pl-pl"
pl-pl- "tr-tr"
tr-tr- "da-dk"
da-dk- "en-gb"
en-gb- "hu-hu"
hu-hu- "nb-no"
nb-no- "nl-nl"
nl-nl- "pt-pt"
pt-pt- "sv-se"
sv-se
CurrentSpendResponse, CurrentSpendResponseArgs
The current amount of cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
ForecastSpendResponse, ForecastSpendResponseArgs
The forecasted cost which is being tracked for a budget.
Supported for CategoryType(s): Cost.
Frequency, FrequencyArgs
- Daily
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- Weekly
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- Monthly
MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
- Frequency
Daily DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- Frequency
Weekly WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- Frequency
Monthly MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
- Daily
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- Weekly
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- Monthly
MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
- Daily
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- Weekly
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- Monthly
MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
- DAILY
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- WEEKLY
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- MONTHLY
MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
- "Daily"
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.- "Weekly"
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.- "Monthly"
MonthlyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 30 calendar days.
Notification, NotificationArgs
The notification associated with a budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Contact
Emails List<string> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Operator
string | Pulumi.
Azure Native. Cost Management. Budget Notification Operator Type The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- Threshold double
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- Contact
Groups List<string> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- Contact
Roles List<string> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- Frequency
string | Pulumi.
Azure Native. Cost Management. Frequency Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- Locale
string | Pulumi.
Azure Native. Cost Management. Culture Code Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- Threshold
Type string | Pulumi.Azure Native. Cost Management. Threshold Type The type of threshold.
Supported for CategoryType(s): Cost.
- Contact
Emails []string Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Operator
string | Budget
Notification Operator Type The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- Threshold float64
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- Contact
Groups []string Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- Contact
Roles []string Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- Frequency string | Frequency
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- Locale
string | Culture
Code Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- Threshold
Type string | ThresholdType The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails List<String> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled Boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator
String | Budget
Notification Operator Type The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold Double
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups List<String> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles List<String> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency String | Frequency
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale
String | Culture
Code Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type String | ThresholdType The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails string[] Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator
string | Budget
Notification Operator Type The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold number
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups string[] Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles string[] Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency string | Frequency
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale
string | Culture
Code Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type string | ThresholdType The type of threshold.
Supported for CategoryType(s): Cost.
- contact_
emails Sequence[str] Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator
str | Budget
Notification Operator Type The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold float
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact_
groups Sequence[str] Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact_
roles Sequence[str] Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency str | Frequency
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale
str | Culture
Code Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold_
type str | ThresholdType The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails List<String> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled Boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator
String | "Equal
To" | "Greater Than" | "Greater Than Or Equal To" | "Less Than" The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold Number
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups List<String> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles List<String> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency String | "Daily" | "Weekly" | "Monthly"
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale String | "en-us" | "ja-jp" | "zh-cn" | "de-de" | "es-es" | "fr-fr" | "it-it" | "ko-kr" | "pt-br" | "ru-ru" | "zh-tw" | "cs-cz" | "pl-pl" | "tr-tr" | "da-dk" | "en-gb" | "hu-hu" | "nb-no" | "nl-nl" | "pt-pt" | "sv-se"
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type String | "Actual" | "Forecasted" The type of threshold.
Supported for CategoryType(s): Cost.
NotificationResponse, NotificationResponseArgs
The notification associated with a budget.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Contact
Emails List<string> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Operator string
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- Threshold double
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- Contact
Groups List<string> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- Contact
Roles List<string> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- Frequency string
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- Locale string
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- Threshold
Type string The type of threshold.
Supported for CategoryType(s): Cost.
- Contact
Emails []string Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- Operator string
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- Threshold float64
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- Contact
Groups []string Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- Contact
Roles []string Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- Frequency string
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- Locale string
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- Threshold
Type string The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails List<String> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled Boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator String
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold Double
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups List<String> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles List<String> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency String
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale String
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type String The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails string[] Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator string
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold number
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups string[] Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles string[] Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency string
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale string
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type string The type of threshold.
Supported for CategoryType(s): Cost.
- contact_
emails Sequence[str] Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled bool
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator str
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold float
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact_
groups Sequence[str] Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact_
roles Sequence[str] Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency str
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale str
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold_
type str The type of threshold.
Supported for CategoryType(s): Cost.
- contact
Emails List<String> Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.
Supported for CategoryType(s): Cost, ReservationUtilization.
- enabled Boolean
The notification is enabled or not.
Supported for CategoryType(s): Cost, ReservationUtilization.
- operator String
The comparison operator.
Supported for CategoryType(s): Cost, ReservationUtilization.
Supported operators for CategoryType: Cost
- GreaterThan
- GreaterThanOrEqualTo
Supported operators for CategoryType: ReservationUtilization
- LessThan
- threshold Number
Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places.
Supported for CategoryType(s): Cost, ReservationUtilization.
CategoryType: Cost - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold.
CategoryType: ReservationUtilization - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold.
- contact
Groups List<String> Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id.
Supported for CategoryType(s): Cost.
- contact
Roles List<String> Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached.
Supported for CategoryType(s): Cost.
- frequency String
Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days).
Supported for CategoryType(s): ReservationUtilization.
- locale String
Language in which the recipient will receive the notification,
Supported for CategoryType(s): Cost, ReservationUtilization.
- threshold
Type String The type of threshold.
Supported for CategoryType(s): Cost.
ThresholdType, ThresholdTypeArgs
- Actual
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- Forecasted
ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
- Threshold
Type Actual ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- Threshold
Type Forecasted ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
- Actual
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- Forecasted
ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
- Actual
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- Forecasted
ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
- ACTUAL
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- FORECASTED
ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
- "Actual"
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.- "Forecasted"
ForecastedForecasted costs budget alerts provide advanced notification that your spending trends are likely to exceed your allocated budget, as it relies on forecasted cost predictions.
TimeGrainType, TimeGrainTypeArgs
- Monthly
MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- Quarterly
QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- Annually
AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- Billing
Month BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Quarter BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Annual BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Last7Days
Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Last30Days
Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Time
Grain Type Monthly MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- Time
Grain Type Quarterly QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- Time
Grain Type Annually AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- Time
Grain Type Billing Month BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Time
Grain Type Billing Quarter BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Time
Grain Type Billing Annual BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Time
Grain Type Last7Days Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Time
Grain Type Last30Days Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Monthly
MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- Quarterly
QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- Annually
AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- Billing
Month BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Quarter BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Annual BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Last7Days
Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Last30Days
Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Monthly
MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- Quarterly
QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- Annually
AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- Billing
Month BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Quarter BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Billing
Annual BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- Last7Days
Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- Last30Days
Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- MONTHLY
MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- QUARTERLY
QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- ANNUALLY
AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- BILLING_MONTH
BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- BILLING_QUARTER
BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- BILLING_ANNUAL
BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- LAST7_DAYS
Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- LAST30_DAYS
Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- "Monthly"
MonthlyThe budget will track costs in the current calendar month against the amount.
Supported for CategoryType: Cost only.
- "Quarterly"
QuarterlyThe budget will track costs in the current calendar quarter against the amount.
Supported for CategoryType: Cost only.
- "Annually"
AnnuallyThe budget will track costs in the current calendar year against the amount.
Supported for CategoryType: Cost only.
- "Billing
Month" BillingMonthThe budget will track costs in the current billing month against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- "Billing
Quarter" BillingQuarterThe budget will track costs in the current billing quarter against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- "Billing
Annual" BillingAnnualThe budget will track costs in the current billing year against the amount.
Supported for CategoryType: Cost and Web Direct customers only.
- "Last7Days"
Last7DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
- "Last30Days"
Last30DaysThe Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.
Supported for CategoryType: ReservationUtilization only.
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:costmanagement:Budget TestAlertRule /{scope}/providers/Microsoft.CostManagement/budgets/{budgetName}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0
