1. Packages
  2. Azure Native
  3. API Docs
  4. costmanagement
  5. Budget
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi

azure-native.costmanagement.Budget

Explore with Pulumi AI

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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",
        },
    });

});
Copy
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
	})
}
Copy
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());

    }
}
Copy
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",
    },
});
Copy
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",
    })
Copy
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
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. BudgetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. BudgetArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. BudgetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
        } },
    },
});
Copy
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"),
		},
	},
})
Copy
var azure_nativeBudgetResource = new Budget("azure-nativeBudgetResource", BudgetArgs.builder()
    .category("string")
    .scope("string")
    .timeGrain("string")
    .timePeriod(BudgetTimePeriodArgs.builder()
        .startDate("string")
        .endDate("string")
        .build())
    .amount(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", Map.ofEntries(
        Map.entry("contactEmails", "string"),
        Map.entry("enabled", false),
        Map.entry("operator", "string"),
        Map.entry("threshold", 0),
        Map.entry("contactGroups", "string"),
        Map.entry("contactRoles", "string"),
        Map.entry("frequency", "string"),
        Map.entry("locale", "string"),
        Map.entry("thresholdType", "string")
    )))
    .build());
Copy
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",
        },
    })
Copy
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",
        },
    },
});
Copy
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
Copy

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 This property is required. string | Pulumi.AzureNative.CostManagement.CategoryType
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
Scope
This property is required.
Changes to this property will trigger replacement.
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)
TimeGrain This property is required. string | Pulumi.AzureNative.CostManagement.TimeGrainType

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.

TimePeriod This property is required. Pulumi.AzureNative.CostManagement.Inputs.BudgetTimePeriod

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.

BudgetName Changes to this property will trigger replacement. 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.AzureNative.CostManagement.Inputs.BudgetFilter

May be used to filter budgets by user-specified dimensions and/or tags.

Supported for CategoryType(s): Cost, ReservationUtilization.

Notifications Dictionary<string, Pulumi.AzureNative.CostManagement.Inputs.NotificationArgs>

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 This property is required. string | CategoryType
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
Scope
This property is required.
Changes to this property will trigger replacement.
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)
TimeGrain This property is required. string | TimeGrainType

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.

TimePeriod This property is required. 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.

Amount float64

The total amount of cost to track with the budget.

Supported for CategoryType(s): Cost.

Required for CategoryType(s): Cost.

BudgetName Changes to this property will trigger replacement. 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 BudgetFilterArgs

May be used to filter budgets by user-specified dimensions and/or tags.

Supported for CategoryType(s): Cost, ReservationUtilization.

Notifications map[string]NotificationArgs

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 This property is required. String | CategoryType
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
scope
This property is required.
Changes to this property will trigger replacement.
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)
timeGrain This property is required. String | TimeGrainType

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.

timePeriod This property is required. BudgetTimePeriod

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.

budgetName Changes to this property will trigger replacement. 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 BudgetFilter

May be used to filter budgets by user-specified dimensions and/or tags.

Supported for CategoryType(s): Cost, ReservationUtilization.

notifications Map<String,NotificationArgs>

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 This property is required. string | CategoryType
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
scope
This property is required.
Changes to this property will trigger replacement.
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)
timeGrain This property is required. string | TimeGrainType

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.

timePeriod This property is required. BudgetTimePeriod

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.

budgetName Changes to this property will trigger replacement. 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 BudgetFilter

May be used to filter budgets by user-specified dimensions and/or tags.

Supported for CategoryType(s): Cost, ReservationUtilization.

notifications {[key: string]: NotificationArgs}

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 This property is required. str | CategoryType
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
scope
This property is required.
Changes to this property will trigger replacement.
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 This property is required. str | TimeGrainType

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 This property is required. 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.

amount float

The total amount of cost to track with the budget.

Supported for CategoryType(s): Cost.

Required for CategoryType(s): Cost.

budget_name Changes to this property will trigger replacement. 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 BudgetFilterArgs

May be used to filter budgets by user-specified dimensions and/or tags.

Supported for CategoryType(s): Cost, ReservationUtilization.

notifications Mapping[str, NotificationArgs]

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 This property is required. String | "Cost" | "ReservationUtilization"
The category of the budget.

  • 'Cost' defines a Budget.
  • 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
scope
This property is required.
Changes to this property will trigger replacement.
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)
timeGrain This property is required. String | "Monthly" | "Quarterly" | "Annually" | "BillingMonth" | "BillingQuarter" | "BillingAnnual" | "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.

timePeriod This property is required. 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.

budgetName Changes to this property will trigger replacement. 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 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:

AzureApiVersion string
The Azure API version of the resource.
CurrentSpend Pulumi.AzureNative.CostManagement.Outputs.CurrentSpendResponse

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

ForecastSpend Pulumi.AzureNative.CostManagement.Outputs.ForecastSpendResponse

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.
AzureApiVersion string
The Azure API version of the resource.
CurrentSpend CurrentSpendResponse

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

ForecastSpend ForecastSpendResponse

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.
azureApiVersion String
The Azure API version of the resource.
currentSpend CurrentSpendResponse

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

forecastSpend ForecastSpendResponse

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.
azureApiVersion string
The Azure API version of the resource.
currentSpend CurrentSpendResponse

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

forecastSpend ForecastSpendResponse

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_version str
The Azure API version of the resource.
current_spend CurrentSpendResponse

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

forecast_spend ForecastSpendResponse

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.
azureApiVersion String
The Azure API version of the resource.
currentSpend Property Map

The current amount of cost which is being tracked for a budget.

Supported for CategoryType(s): Cost.

forecastSpend 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

Name This property is required. string
The name of the column to use in comparison.
Operator This property is required. string | Pulumi.AzureNative.CostManagement.BudgetOperatorType
The operator to use for comparison.
Values This property is required. List<string>
Array of values to use for comparison
Name This property is required. string
The name of the column to use in comparison.
Operator This property is required. string | BudgetOperatorType
The operator to use for comparison.
Values This property is required. []string
Array of values to use for comparison
name This property is required. String
The name of the column to use in comparison.
operator This property is required. String | BudgetOperatorType
The operator to use for comparison.
values This property is required. List<String>
Array of values to use for comparison
name This property is required. string
The name of the column to use in comparison.
operator This property is required. string | BudgetOperatorType
The operator to use for comparison.
values This property is required. string[]
Array of values to use for comparison
name This property is required. str
The name of the column to use in comparison.
operator This property is required. str | BudgetOperatorType
The operator to use for comparison.
values This property is required. Sequence[str]
Array of values to use for comparison
name This property is required. String
The name of the column to use in comparison.
operator This property is required. String | "In"
The operator to use for comparison.
values This property is required. List<String>
Array of values to use for comparison

BudgetComparisonExpressionResponse
, BudgetComparisonExpressionResponseArgs

Name This property is required. string
The name of the column to use in comparison.
Operator This property is required. string
The operator to use for comparison.
Values This property is required. List<string>
Array of values to use for comparison
Name This property is required. string
The name of the column to use in comparison.
Operator This property is required. string
The operator to use for comparison.
Values This property is required. []string
Array of values to use for comparison
name This property is required. String
The name of the column to use in comparison.
operator This property is required. String
The operator to use for comparison.
values This property is required. List<String>
Array of values to use for comparison
name This property is required. string
The name of the column to use in comparison.
operator This property is required. string
The operator to use for comparison.
values This property is required. string[]
Array of values to use for comparison
name This property is required. str
The name of the column to use in comparison.
operator This property is required. str
The operator to use for comparison.
values This property is required. Sequence[str]
Array of values to use for comparison
name This property is required. String
The name of the column to use in comparison.
operator This property is required. String
The operator to use for comparison.
values This property is required. List<String>
Array of values to use for comparison

BudgetFilter
, BudgetFilterArgs

And List<Pulumi.AzureNative.CostManagement.Inputs.BudgetFilterProperties>

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

Dimensions Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

And []BudgetFilterProperties

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

Dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and List<BudgetFilterProperties>

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and BudgetFilterProperties[]

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and_ Sequence[BudgetFilterProperties]

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

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
tags Property Map

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

BudgetFilterProperties
, BudgetFilterPropertiesArgs

Dimensions Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

Dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpression

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpression

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
tags Property Map

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

BudgetFilterPropertiesResponse
, BudgetFilterPropertiesResponseArgs

Dimensions Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

Dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

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
tags Property Map

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

BudgetFilterResponse
, BudgetFilterResponseArgs

And List<Pulumi.AzureNative.CostManagement.Inputs.BudgetFilterPropertiesResponse>

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

Dimensions Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags Pulumi.AzureNative.CostManagement.Inputs.BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

And []BudgetFilterPropertiesResponse

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

Dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
Tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and List<BudgetFilterPropertiesResponse>

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and BudgetFilterPropertiesResponse[]

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

and_ Sequence[BudgetFilterPropertiesResponse]

The logical "AND" expression. Must have at least 2 items.

Supported for CategoryType(s): Cost.

dimensions BudgetComparisonExpressionResponse

Has comparison expression for a dimension.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported dimension names for CategoryType: ReservationUtilization

  • ReservationId
  • ReservedResourceType
tags BudgetComparisonExpressionResponse

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
tags Property Map

Has comparison expression for a tag.

Supported for CategoryType(s): Cost.

BudgetNotificationOperatorType
, BudgetNotificationOperatorTypeArgs

EqualTo
EqualTo

Notification 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.

GreaterThan
GreaterThan

Notification 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.

GreaterThanOrEqualTo
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

LessThan
LessThan

Notification 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.

BudgetNotificationOperatorTypeEqualTo
EqualTo

Notification 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.

BudgetNotificationOperatorTypeGreaterThan
GreaterThan

Notification 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.

BudgetNotificationOperatorTypeGreaterThanOrEqualTo
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

BudgetNotificationOperatorTypeLessThan
LessThan

Notification 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.

EqualTo
EqualTo

Notification 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.

GreaterThan
GreaterThan

Notification 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.

GreaterThanOrEqualTo
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

LessThan
LessThan

Notification 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.

EqualTo
EqualTo

Notification 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.

GreaterThan
GreaterThan

Notification 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.

GreaterThanOrEqualTo
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

LessThan
LessThan

Notification 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
EqualTo

Notification 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
GreaterThan

Notification 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
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

LESS_THAN
LessThan

Notification 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.

"EqualTo"
EqualTo

Notification 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.

"GreaterThan"
GreaterThan

Notification 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.

"GreaterThanOrEqualTo"
GreaterThanOrEqualTo

Notification will be triggered if the evaluated cost is greater than or equal to the threshold value.

Supported for CategoryType(s): Cost.

"LessThan"
LessThan

Notification 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
BudgetOperatorTypeIn
In
In
In
In
In
IN_
In
"In"
In

BudgetTimePeriod
, BudgetTimePeriodArgs

StartDate This property is required. 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.

EndDate 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.

StartDate This property is required. 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.

EndDate 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.

startDate This property is required. 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.

endDate 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.

startDate This property is required. 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.

endDate 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 This property is required. 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.

startDate This property is required. 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.

endDate 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

StartDate This property is required. 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.

EndDate 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.

StartDate This property is required. 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.

EndDate 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.

startDate This property is required. 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.

endDate 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.

startDate This property is required. 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.

endDate 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 This property is required. 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.

startDate This property is required. 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.

endDate 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.
ReservationUtilization
ReservationUtilizationAn Alert Rule that evaluates the utilization percentage of Azure Reservations, and alerts based on a configured notification threshold.
CategoryTypeCost
CostA Budget that evaluates monetary cost of Azure resources against an amount, and alerts based on a configured notification threshold.
CategoryTypeReservationUtilization
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.
ReservationUtilization
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.
ReservationUtilization
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.
"ReservationUtilization"
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
CultureCode_En_Us
en-us
CultureCode_Ja_Jp
ja-jp
CultureCode_Zh_Cn
zh-cn
CultureCode_De_De
de-de
CultureCode_Es_Es
es-es
CultureCode_Fr_Fr
fr-fr
CultureCode_It_It
it-it
CultureCode_Ko_Kr
ko-kr
CultureCode_Pt_Br
pt-br
CultureCode_Ru_Ru
ru-ru
CultureCode_Zh_Tw
zh-tw
CultureCode_Cs_Cz
cs-cz
CultureCode_Pl_Pl
pl-pl
CultureCode_Tr_Tr
tr-tr
CultureCode_Da_Dk
da-dk
CultureCode_En_Gb
en-gb
CultureCode_Hu_Hu
hu-hu
CultureCode_Nb_No
nb-no
CultureCode_Nl_Nl
nl-nl
CultureCode_Pt_Pt
pt-pt
CultureCode_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

Amount This property is required. double
The total amount of cost which is being tracked by the budget.
Unit This property is required. string
The unit of measure for the budget amount.
Amount This property is required. float64
The total amount of cost which is being tracked by the budget.
Unit This property is required. string
The unit of measure for the budget amount.
amount This property is required. Double
The total amount of cost which is being tracked by the budget.
unit This property is required. String
The unit of measure for the budget amount.
amount This property is required. number
The total amount of cost which is being tracked by the budget.
unit This property is required. string
The unit of measure for the budget amount.
amount This property is required. float
The total amount of cost which is being tracked by the budget.
unit This property is required. str
The unit of measure for the budget amount.
amount This property is required. Number
The total amount of cost which is being tracked by the budget.
unit This property is required. String
The unit of measure for the budget amount.

ForecastSpendResponse
, ForecastSpendResponseArgs

Amount This property is required. double
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
Unit This property is required. string
The unit of measure for the budget amount.
Amount This property is required. float64
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
Unit This property is required. string
The unit of measure for the budget amount.
amount This property is required. Double
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
unit This property is required. String
The unit of measure for the budget amount.
amount This property is required. number
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
unit This property is required. string
The unit of measure for the budget amount.
amount This property is required. float
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
unit This property is required. str
The unit of measure for the budget amount.
amount This property is required. Number
The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.
unit This property is required. String
The unit of measure for the budget amount.

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.
FrequencyDaily
DailyAfter the threshold breaches and an Alert is fired, no further alerts will be sent until the next calendar day.
FrequencyWeekly
WeeklyAfter the threshold breaches and an Alert is fired, no further alerts will be sent for 7 calendar days.
FrequencyMonthly
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

ContactEmails This property is required. 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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

Operator This property is required. string | Pulumi.AzureNative.CostManagement.BudgetNotificationOperatorType

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
Threshold This property is required. 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.

ContactGroups 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.

ContactRoles 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.AzureNative.CostManagement.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.AzureNative.CostManagement.CultureCode

Language in which the recipient will receive the notification,

Supported for CategoryType(s): Cost, ReservationUtilization.

ThresholdType string | Pulumi.AzureNative.CostManagement.ThresholdType

The type of threshold.

Supported for CategoryType(s): Cost.

ContactEmails This property is required. []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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

Operator This property is required. string | BudgetNotificationOperatorType

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
Threshold This property is required. 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.

ContactGroups []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.

ContactRoles []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 | CultureCode

Language in which the recipient will receive the notification,

Supported for CategoryType(s): Cost, ReservationUtilization.

ThresholdType string | ThresholdType

The type of threshold.

Supported for CategoryType(s): Cost.

contactEmails This property is required. 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 This property is required. Boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. String | BudgetNotificationOperatorType

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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 | CultureCode

Language in which the recipient will receive the notification,

Supported for CategoryType(s): Cost, ReservationUtilization.

thresholdType String | ThresholdType

The type of threshold.

Supported for CategoryType(s): Cost.

contactEmails This property is required. 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 This property is required. boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. string | BudgetNotificationOperatorType

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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 | CultureCode

Language in which the recipient will receive the notification,

Supported for CategoryType(s): Cost, ReservationUtilization.

thresholdType string | ThresholdType

The type of threshold.

Supported for CategoryType(s): Cost.

contact_emails This property is required. 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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. str | BudgetNotificationOperatorType

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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 | CultureCode

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.

contactEmails This property is required. 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 This property is required. Boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. String | "EqualTo" | "GreaterThan" | "GreaterThanOrEqualTo" | "LessThan"

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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.

thresholdType String | "Actual" | "Forecasted"

The type of threshold.

Supported for CategoryType(s): Cost.

NotificationResponse
, NotificationResponseArgs

ContactEmails This property is required. 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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

Operator This property is required. string

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
Threshold This property is required. 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.

ContactGroups 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.

ContactRoles 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.

ThresholdType string

The type of threshold.

Supported for CategoryType(s): Cost.

ContactEmails This property is required. []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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

Operator This property is required. string

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
Threshold This property is required. 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.

ContactGroups []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.

ContactRoles []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.

ThresholdType string

The type of threshold.

Supported for CategoryType(s): Cost.

contactEmails This property is required. 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 This property is required. Boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. String

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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.

thresholdType String

The type of threshold.

Supported for CategoryType(s): Cost.

contactEmails This property is required. 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 This property is required. boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. string

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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.

thresholdType string

The type of threshold.

Supported for CategoryType(s): Cost.

contact_emails This property is required. 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 This property is required. bool

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. str

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactEmails This property is required. 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 This property is required. Boolean

The notification is enabled or not.

Supported for CategoryType(s): Cost, ReservationUtilization.

operator This property is required. String

The comparison operator.

Supported for CategoryType(s): Cost, ReservationUtilization.

Supported operators for CategoryType: Cost

  • GreaterThan
  • GreaterThanOrEqualTo

Supported operators for CategoryType: ReservationUtilization

  • LessThan
threshold This property is required. 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.

contactGroups 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.

contactRoles 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.

thresholdType 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.
ThresholdTypeActual
ActualActual costs budget alerts notify when the actual accrued cost exceeds the allocated budget.
ThresholdTypeForecasted
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
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

Quarterly
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

Annually
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

BillingMonth
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingQuarter
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingAnnual
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

Last7Days
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

Last30Days
Last30Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

TimeGrainTypeMonthly
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

TimeGrainTypeQuarterly
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

TimeGrainTypeAnnually
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

TimeGrainTypeBillingMonth
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

TimeGrainTypeBillingQuarter
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

TimeGrainTypeBillingAnnual
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

TimeGrainTypeLast7Days
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

TimeGrainTypeLast30Days
Last30Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

Monthly
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

Quarterly
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

Annually
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

BillingMonth
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingQuarter
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingAnnual
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

Last7Days
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

Last30Days
Last30Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

Monthly
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

Quarterly
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

Annually
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

BillingMonth
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingQuarter
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BillingAnnual
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

Last7Days
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

Last30Days
Last30Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

MONTHLY
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

QUARTERLY
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

ANNUALLY
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

BILLING_MONTH
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BILLING_QUARTER
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

BILLING_ANNUAL
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

LAST7_DAYS
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

LAST30_DAYS
Last30Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 30-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

"Monthly"
Monthly

The budget will track costs in the current calendar month against the amount.

Supported for CategoryType: Cost only.

"Quarterly"
Quarterly

The budget will track costs in the current calendar quarter against the amount.

Supported for CategoryType: Cost only.

"Annually"
Annually

The budget will track costs in the current calendar year against the amount.

Supported for CategoryType: Cost only.

"BillingMonth"
BillingMonth

The budget will track costs in the current billing month against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

"BillingQuarter"
BillingQuarter

The budget will track costs in the current billing quarter against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

"BillingAnnual"
BillingAnnual

The budget will track costs in the current billing year against the amount.

Supported for CategoryType: Cost and Web Direct customers only.

"Last7Days"
Last7Days

The Reservation Utilization Alert Rule will evaluate reservations based on their 7-Day utilization percentage.

Supported for CategoryType: ReservationUtilization only.

"Last30Days"
Last30Days

The 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} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0