1. Packages
  2. Azure Native
  3. API Docs
  4. consumption
  5. Budget
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi

azure-native.consumption.Budget

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi

    A budget resource. Azure REST API version: 2023-05-01. Prior API version in Azure Native 1.x: 2019-10-01.

    Other available API versions: 2017-12-30-preview, 2018-10-01, 2019-05-01, 2019-06-01, 2023-11-01.

    Example Usage

    CreateOrUpdateBudget

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var budget = new AzureNative.Consumption.Budget("budget", new()
        {
            Amount = 100.65,
            BudgetName = "TestBudget",
            Category = AzureNative.Consumption.CategoryType.Cost,
            ETag = "\"1d34d016a593709\"",
            Filter = new AzureNative.Consumption.Inputs.BudgetFilterArgs
            {
                And = new[]
                {
                    new AzureNative.Consumption.Inputs.BudgetFilterPropertiesArgs
                    {
                        Dimensions = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
                        {
                            Name = "ResourceId",
                            Operator = AzureNative.Consumption.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.Consumption.Inputs.BudgetFilterPropertiesArgs
                    {
                        Tags = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
                        {
                            Name = "category",
                            Operator = AzureNative.Consumption.BudgetOperatorType.In,
                            Values = new[]
                            {
                                "Dev",
                                "Prod",
                            },
                        },
                    },
                    new AzureNative.Consumption.Inputs.BudgetFilterPropertiesArgs
                    {
                        Tags = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
                        {
                            Name = "department",
                            Operator = AzureNative.Consumption.BudgetOperatorType.In,
                            Values = new[]
                            {
                                "engineering",
                                "sales",
                            },
                        },
                    },
                },
            },
            Notifications = 
            {
                { "Actual_GreaterThan_80_Percent", new AzureNative.Consumption.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.Consumption.CultureCode.En_us,
                    Operator = AzureNative.Consumption.OperatorType.GreaterThan,
                    Threshold = 80,
                    ThresholdType = AzureNative.Consumption.ThresholdType.Actual,
                } },
            },
            Scope = "subscriptions/00000000-0000-0000-0000-000000000000",
            TimeGrain = AzureNative.Consumption.TimeGrainType.Monthly,
            TimePeriod = new AzureNative.Consumption.Inputs.BudgetTimePeriodArgs
            {
                EndDate = "2018-10-31T00:00:00Z",
                StartDate = "2017-10-01T00:00:00Z",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure-native-sdk/consumption/v2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := consumption.NewBudget(ctx, "budget", &consumption.BudgetArgs{
    			Amount:     pulumi.Float64(100.65),
    			BudgetName: pulumi.String("TestBudget"),
    			Category:   pulumi.String(consumption.CategoryTypeCost),
    			ETag:       pulumi.String("\"1d34d016a593709\""),
    			Filter: &consumption.BudgetFilterArgs{
    				And: consumption.BudgetFilterPropertiesArray{
    					&consumption.BudgetFilterPropertiesArgs{
    						Dimensions: &consumption.BudgetComparisonExpressionArgs{
    							Name:     pulumi.String("ResourceId"),
    							Operator: pulumi.String(consumption.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"),
    							},
    						},
    					},
    					&consumption.BudgetFilterPropertiesArgs{
    						Tags: &consumption.BudgetComparisonExpressionArgs{
    							Name:     pulumi.String("category"),
    							Operator: pulumi.String(consumption.BudgetOperatorTypeIn),
    							Values: pulumi.StringArray{
    								pulumi.String("Dev"),
    								pulumi.String("Prod"),
    							},
    						},
    					},
    					&consumption.BudgetFilterPropertiesArgs{
    						Tags: &consumption.BudgetComparisonExpressionArgs{
    							Name:     pulumi.String("department"),
    							Operator: pulumi.String(consumption.BudgetOperatorTypeIn),
    							Values: pulumi.StringArray{
    								pulumi.String("engineering"),
    								pulumi.String("sales"),
    							},
    						},
    					},
    				},
    			},
    			Notifications: consumption.NotificationMap{
    				"Actual_GreaterThan_80_Percent": &consumption.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(consumption.CultureCode_En_Us),
    					Operator:      pulumi.String(consumption.OperatorTypeGreaterThan),
    					Threshold:     pulumi.Float64(80),
    					ThresholdType: pulumi.String(consumption.ThresholdTypeActual),
    				},
    			},
    			Scope:     pulumi.String("subscriptions/00000000-0000-0000-0000-000000000000"),
    			TimeGrain: pulumi.String(consumption.TimeGrainTypeMonthly),
    			TimePeriod: &consumption.BudgetTimePeriodArgs{
    				EndDate:   pulumi.String("2018-10-31T00:00:00Z"),
    				StartDate: pulumi.String("2017-10-01T00:00:00Z"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.consumption.Budget;
    import com.pulumi.azurenative.consumption.BudgetArgs;
    import com.pulumi.azurenative.consumption.inputs.BudgetFilterArgs;
    import com.pulumi.azurenative.consumption.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", Map.ofEntries(
                    Map.entry("contactEmails",                 
                        "johndoe@contoso.com",
                        "janesmith@contoso.com"),
                    Map.entry("contactGroups", "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"),
                    Map.entry("contactRoles",                 
                        "Contributor",
                        "Reader"),
                    Map.entry("enabled", true),
                    Map.entry("locale", "en-us"),
                    Map.entry("operator", "GreaterThan"),
                    Map.entry("threshold", 80),
                    Map.entry("thresholdType", "Actual")
                )))
                .scope("subscriptions/00000000-0000-0000-0000-000000000000")
                .timeGrain("Monthly")
                .timePeriod(BudgetTimePeriodArgs.builder()
                    .endDate("2018-10-31T00:00:00Z")
                    .startDate("2017-10-01T00:00:00Z")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    budget = azure_native.consumption.Budget("budget",
        amount=100.65,
        budget_name="TestBudget",
        category=azure_native.consumption.CategoryType.COST,
        e_tag="\"1d34d016a593709\"",
        filter=azure_native.consumption.BudgetFilterArgs(
            and_=[
                azure_native.consumption.BudgetFilterPropertiesArgs(
                    dimensions=azure_native.consumption.BudgetComparisonExpressionArgs(
                        name="ResourceId",
                        operator=azure_native.consumption.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",
                        ],
                    ),
                ),
                azure_native.consumption.BudgetFilterPropertiesArgs(
                    tags=azure_native.consumption.BudgetComparisonExpressionArgs(
                        name="category",
                        operator=azure_native.consumption.BudgetOperatorType.IN_,
                        values=[
                            "Dev",
                            "Prod",
                        ],
                    ),
                ),
                azure_native.consumption.BudgetFilterPropertiesArgs(
                    tags=azure_native.consumption.BudgetComparisonExpressionArgs(
                        name="department",
                        operator=azure_native.consumption.BudgetOperatorType.IN_,
                        values=[
                            "engineering",
                            "sales",
                        ],
                    ),
                ),
            ],
        ),
        notifications={
            "Actual_GreaterThan_80_Percent": azure_native.consumption.NotificationArgs(
                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.consumption.CultureCode.EN_US,
                operator=azure_native.consumption.OperatorType.GREATER_THAN,
                threshold=80,
                threshold_type=azure_native.consumption.ThresholdType.ACTUAL,
            ),
        },
        scope="subscriptions/00000000-0000-0000-0000-000000000000",
        time_grain=azure_native.consumption.TimeGrainType.MONTHLY,
        time_period=azure_native.consumption.BudgetTimePeriodArgs(
            end_date="2018-10-31T00:00:00Z",
            start_date="2017-10-01T00:00:00Z",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const budget = new azure_native.consumption.Budget("budget", {
        amount: 100.65,
        budgetName: "TestBudget",
        category: azure_native.consumption.CategoryType.Cost,
        eTag: "\"1d34d016a593709\"",
        filter: {
            and: [
                {
                    dimensions: {
                        name: "ResourceId",
                        operator: azure_native.consumption.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.consumption.BudgetOperatorType.In,
                        values: [
                            "Dev",
                            "Prod",
                        ],
                    },
                },
                {
                    tags: {
                        name: "department",
                        operator: azure_native.consumption.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.consumption.CultureCode.En_us,
                operator: azure_native.consumption.OperatorType.GreaterThan,
                threshold: 80,
                thresholdType: azure_native.consumption.ThresholdType.Actual,
            },
        },
        scope: "subscriptions/00000000-0000-0000-0000-000000000000",
        timeGrain: azure_native.consumption.TimeGrainType.Monthly,
        timePeriod: {
            endDate: "2018-10-31T00:00:00Z",
            startDate: "2017-10-01T00:00:00Z",
        },
    });
    
    resources:
      budget:
        type: azure-native:consumption: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: 2018-10-31T00:00:00Z
            startDate: 2017-10-01T00:00:00Z
    

    Create Budget Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Budget(name: string, args: BudgetArgs, opts?: CustomResourceOptions);
    @overload
    def Budget(resource_name: str,
               args: BudgetArgs,
               opts: Optional[ResourceOptions] = None)
    
    @overload
    def Budget(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               amount: Optional[float] = None,
               category: Optional[Union[str, CategoryType]] = None,
               scope: Optional[str] = None,
               time_grain: Optional[Union[str, TimeGrainType]] = None,
               time_period: Optional[BudgetTimePeriodArgs] = 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:consumption:Budget
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args BudgetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args BudgetArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args BudgetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BudgetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args BudgetArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var budgetResource = new AzureNative.Consumption.Budget("budgetResource", new()
    {
        Amount = 0,
        Category = "string",
        Scope = "string",
        TimeGrain = "string",
        TimePeriod = new AzureNative.Consumption.Inputs.BudgetTimePeriodArgs
        {
            StartDate = "string",
            EndDate = "string",
        },
        BudgetName = "string",
        ETag = "string",
        Filter = new AzureNative.Consumption.Inputs.BudgetFilterArgs
        {
            And = new[]
            {
                new AzureNative.Consumption.Inputs.BudgetFilterPropertiesArgs
                {
                    Dimensions = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
                    {
                        Name = "string",
                        Operator = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                    Tags = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
                    {
                        Name = "string",
                        Operator = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
            },
            Dimensions = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
            {
                Name = "string",
                Operator = "string",
                Values = new[]
                {
                    "string",
                },
            },
            Tags = new AzureNative.Consumption.Inputs.BudgetComparisonExpressionArgs
            {
                Name = "string",
                Operator = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        Notifications = 
        {
            { "string", new AzureNative.Consumption.Inputs.NotificationArgs
            {
                ContactEmails = new[]
                {
                    "string",
                },
                Enabled = false,
                Operator = "string",
                Threshold = 0,
                ContactGroups = new[]
                {
                    "string",
                },
                ContactRoles = new[]
                {
                    "string",
                },
                Locale = "string",
                ThresholdType = "string",
            } },
        },
    });
    
    example, err := consumption.NewBudget(ctx, "budgetResource", &consumption.BudgetArgs{
    Amount: pulumi.Float64(0),
    Category: pulumi.String("string"),
    Scope: pulumi.String("string"),
    TimeGrain: pulumi.String("string"),
    TimePeriod: &consumption.BudgetTimePeriodArgs{
    StartDate: pulumi.String("string"),
    EndDate: pulumi.String("string"),
    },
    BudgetName: pulumi.String("string"),
    ETag: pulumi.String("string"),
    Filter: &consumption.BudgetFilterArgs{
    And: consumption.BudgetFilterPropertiesArray{
    &consumption.BudgetFilterPropertiesArgs{
    Dimensions: &consumption.BudgetComparisonExpressionArgs{
    Name: pulumi.String("string"),
    Operator: pulumi.String("string"),
    Values: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    Tags: &consumption.BudgetComparisonExpressionArgs{
    Name: pulumi.String("string"),
    Operator: pulumi.String("string"),
    Values: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    },
    },
    Dimensions: &consumption.BudgetComparisonExpressionArgs{
    Name: pulumi.String("string"),
    Operator: pulumi.String("string"),
    Values: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    Tags: &consumption.BudgetComparisonExpressionArgs{
    Name: pulumi.String("string"),
    Operator: pulumi.String("string"),
    Values: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    },
    Notifications: consumption.NotificationMap{
    "string": &consumption.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"),
    },
    Locale: pulumi.String("string"),
    ThresholdType: pulumi.String("string"),
    },
    },
    })
    
    var budgetResource = new Budget("budgetResource", BudgetArgs.builder()        
        .amount(0)
        .category("string")
        .scope("string")
        .timeGrain("string")
        .timePeriod(BudgetTimePeriodArgs.builder()
            .startDate("string")
            .endDate("string")
            .build())
        .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("locale", "string"),
            Map.entry("thresholdType", "string")
        )))
        .build());
    
    budget_resource = azure_native.consumption.Budget("budgetResource",
        amount=0,
        category="string",
        scope="string",
        time_grain="string",
        time_period=azure_native.consumption.BudgetTimePeriodArgs(
            start_date="string",
            end_date="string",
        ),
        budget_name="string",
        e_tag="string",
        filter=azure_native.consumption.BudgetFilterArgs(
            and_=[azure_native.consumption.BudgetFilterPropertiesArgs(
                dimensions=azure_native.consumption.BudgetComparisonExpressionArgs(
                    name="string",
                    operator="string",
                    values=["string"],
                ),
                tags=azure_native.consumption.BudgetComparisonExpressionArgs(
                    name="string",
                    operator="string",
                    values=["string"],
                ),
            )],
            dimensions=azure_native.consumption.BudgetComparisonExpressionArgs(
                name="string",
                operator="string",
                values=["string"],
            ),
            tags=azure_native.consumption.BudgetComparisonExpressionArgs(
                name="string",
                operator="string",
                values=["string"],
            ),
        ),
        notifications={
            "string": azure_native.consumption.NotificationArgs(
                contact_emails=["string"],
                enabled=False,
                operator="string",
                threshold=0,
                contact_groups=["string"],
                contact_roles=["string"],
                locale="string",
                threshold_type="string",
            ),
        })
    
    const budgetResource = new azure_native.consumption.Budget("budgetResource", {
        amount: 0,
        category: "string",
        scope: "string",
        timeGrain: "string",
        timePeriod: {
            startDate: "string",
            endDate: "string",
        },
        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"],
                locale: "string",
                thresholdType: "string",
            },
        },
    });
    
    type: azure-native:consumption: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
                locale: string
                operator: string
                threshold: 0
                thresholdType: string
        scope: string
        timeGrain: string
        timePeriod:
            endDate: string
            startDate: string
    

    Budget Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Budget resource accepts the following input properties:

    Amount double
    The total amount of cost to track with the budget
    Category string | Pulumi.AzureNative.Consumption.CategoryType
    The category of the budget, whether the budget tracks cost or usage.
    Scope string
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    TimeGrain string | Pulumi.AzureNative.Consumption.TimeGrainType
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    TimePeriod Pulumi.AzureNative.Consumption.Inputs.BudgetTimePeriod
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    BudgetName 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.Consumption.Inputs.BudgetFilter
    May be used to filter budgets by user-specified dimensions and/or tags.
    Notifications Dictionary<string, Pulumi.AzureNative.Consumption.Inputs.NotificationArgs>
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.
    Amount float64
    The total amount of cost to track with the budget
    Category string | CategoryType
    The category of the budget, whether the budget tracks cost or usage.
    Scope string
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    TimeGrain string | TimeGrainType
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    TimePeriod BudgetTimePeriodArgs
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    BudgetName 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.
    Notifications map[string]NotificationArgs
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.
    amount Double
    The total amount of cost to track with the budget
    category String | CategoryType
    The category of the budget, whether the budget tracks cost or usage.
    scope String
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    timeGrain String | TimeGrainType
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    timePeriod BudgetTimePeriod
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    budgetName 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.
    notifications Map<String,NotificationArgs>
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.
    amount number
    The total amount of cost to track with the budget
    category string | CategoryType
    The category of the budget, whether the budget tracks cost or usage.
    scope string
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    timeGrain string | TimeGrainType
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    timePeriod BudgetTimePeriod
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    budgetName 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.
    notifications {[key: string]: NotificationArgs}
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.
    amount float
    The total amount of cost to track with the budget
    category str | CategoryType
    The category of the budget, whether the budget tracks cost or usage.
    scope str
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    time_grain str | TimeGrainType
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    time_period BudgetTimePeriodArgs
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    budget_name str
    Budget Name.
    e_tag str
    eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
    filter BudgetFilterArgs
    May be used to filter budgets by user-specified dimensions and/or tags.
    notifications Mapping[str, NotificationArgs]
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.
    amount Number
    The total amount of cost to track with the budget
    category String | "Cost"
    The category of the budget, whether the budget tracks cost or usage.
    scope String
    The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/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, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.
    timeGrain String | "Monthly" | "Quarterly" | "Annually" | "BillingMonth" | "BillingQuarter" | "BillingAnnual"
    The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers
    timePeriod Property Map
    Has start and end date of the budget. The start date 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. There are no restrictions on the end date.
    budgetName 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.
    notifications Map<Property Map>
    Dictionary of notifications associated with the budget. Budget can have up to five notifications.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Budget resource produces the following output properties:

    CurrentSpend Pulumi.AzureNative.Consumption.Outputs.CurrentSpendResponse
    The current amount of cost which is being tracked for a budget.
    ForecastSpend Pulumi.AzureNative.Consumption.Outputs.ForecastSpendResponse
    The forecasted cost which is being tracked for a budget.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name.
    Type string
    Resource type.
    CurrentSpend CurrentSpendResponse
    The current amount of cost which is being tracked for a budget.
    ForecastSpend ForecastSpendResponse
    The forecasted cost which is being tracked for a budget.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name.
    Type string
    Resource type.
    currentSpend CurrentSpendResponse
    The current amount of cost which is being tracked for a budget.
    forecastSpend ForecastSpendResponse
    The forecasted cost which is being tracked for a budget.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name.
    type String
    Resource type.
    currentSpend CurrentSpendResponse
    The current amount of cost which is being tracked for a budget.
    forecastSpend ForecastSpendResponse
    The forecasted cost which is being tracked for a budget.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    Resource name.
    type string
    Resource type.
    current_spend CurrentSpendResponse
    The current amount of cost which is being tracked for a budget.
    forecast_spend ForecastSpendResponse
    The forecasted cost which is being tracked for a budget.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    Resource name.
    type str
    Resource type.
    currentSpend Property Map
    The current amount of cost which is being tracked for a budget.
    forecastSpend Property Map
    The forecasted cost which is being tracked for a budget.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name.
    type String
    Resource type.

    Supporting Types

    BudgetComparisonExpression, BudgetComparisonExpressionArgs

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

    BudgetComparisonExpressionResponse, BudgetComparisonExpressionResponseArgs

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

    BudgetFilter, BudgetFilterArgs

    And []BudgetFilterProperties
    The logical "AND" expression. Must have at least 2 items.
    Dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    Tags BudgetComparisonExpression
    Has comparison expression for a tag
    and List<BudgetFilterProperties>
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    and BudgetFilterProperties[]
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    and_ Sequence[BudgetFilterProperties]
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    and List<Property Map>
    The logical "AND" expression. Must have at least 2 items.
    dimensions Property Map
    Has comparison expression for a dimension
    tags Property Map
    Has comparison expression for a tag

    BudgetFilterProperties, BudgetFilterPropertiesArgs

    Dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    Tags BudgetComparisonExpression
    Has comparison expression for a tag
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    dimensions BudgetComparisonExpression
    Has comparison expression for a dimension
    tags BudgetComparisonExpression
    Has comparison expression for a tag
    dimensions Property Map
    Has comparison expression for a dimension
    tags Property Map
    Has comparison expression for a tag

    BudgetFilterPropertiesResponse, BudgetFilterPropertiesResponseArgs

    Dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    Tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    dimensions Property Map
    Has comparison expression for a dimension
    tags Property Map
    Has comparison expression for a tag

    BudgetFilterResponse, BudgetFilterResponseArgs

    And []BudgetFilterPropertiesResponse
    The logical "AND" expression. Must have at least 2 items.
    Dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    Tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    and List<BudgetFilterPropertiesResponse>
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    and BudgetFilterPropertiesResponse[]
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    and_ Sequence[BudgetFilterPropertiesResponse]
    The logical "AND" expression. Must have at least 2 items.
    dimensions BudgetComparisonExpressionResponse
    Has comparison expression for a dimension
    tags BudgetComparisonExpressionResponse
    Has comparison expression for a tag
    and List<Property Map>
    The logical "AND" expression. Must have at least 2 items.
    dimensions Property Map
    Has comparison expression for a dimension
    tags Property Map
    Has comparison expression for a tag

    BudgetOperatorType, BudgetOperatorTypeArgs

    In
    In
    BudgetOperatorTypeIn
    In
    In
    In
    In
    In
    IN_
    In
    "In"
    In

    BudgetTimePeriod, BudgetTimePeriodArgs

    StartDate string
    The start date for the budget.
    EndDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    StartDate string
    The start date for the budget.
    EndDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate String
    The start date for the budget.
    endDate String
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate string
    The start date for the budget.
    endDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    start_date str
    The start date for the budget.
    end_date str
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate String
    The start date for the budget.
    endDate String
    The end date for the budget. If not provided, we default this to 10 years from the start date.

    BudgetTimePeriodResponse, BudgetTimePeriodResponseArgs

    StartDate string
    The start date for the budget.
    EndDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    StartDate string
    The start date for the budget.
    EndDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate String
    The start date for the budget.
    endDate String
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate string
    The start date for the budget.
    endDate string
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    start_date str
    The start date for the budget.
    end_date str
    The end date for the budget. If not provided, we default this to 10 years from the start date.
    startDate String
    The start date for the budget.
    endDate String
    The end date for the budget. If not provided, we default this to 10 years from the start date.

    CategoryType, CategoryTypeArgs

    Cost
    Cost
    CategoryTypeCost
    Cost
    Cost
    Cost
    Cost
    Cost
    COST
    Cost
    "Cost"
    Cost

    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 double
    The total amount of cost which is being tracked by the budget.
    Unit string
    The unit of measure for the budget amount.
    Amount float64
    The total amount of cost which is being tracked by the budget.
    Unit string
    The unit of measure for the budget amount.
    amount Double
    The total amount of cost which is being tracked by the budget.
    unit String
    The unit of measure for the budget amount.
    amount number
    The total amount of cost which is being tracked by the budget.
    unit string
    The unit of measure for the budget amount.
    amount float
    The total amount of cost which is being tracked by the budget.
    unit str
    The unit of measure for the budget amount.
    amount Number
    The total amount of cost which is being tracked by the budget.
    unit String
    The unit of measure for the budget amount.

    ForecastSpendResponse, ForecastSpendResponseArgs

    Amount 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 string
    The unit of measure for the budget amount.
    Amount 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 string
    The unit of measure for the budget amount.
    amount 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 String
    The unit of measure for the budget amount.
    amount 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 string
    The unit of measure for the budget amount.
    amount 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 str
    The unit of measure for the budget amount.
    amount 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 String
    The unit of measure for the budget amount.

    Notification, NotificationArgs

    ContactEmails List<string>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    Enabled bool
    The notification is enabled or not.
    Operator string | Pulumi.AzureNative.Consumption.OperatorType
    The comparison operator.
    Threshold double
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    ContactGroups List<string>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    ContactRoles List<string>
    Contact roles to send the budget notification to when the threshold is exceeded.
    Locale string | Pulumi.AzureNative.Consumption.CultureCode
    Language in which the recipient will receive the notification
    ThresholdType string | Pulumi.AzureNative.Consumption.ThresholdType
    The type of threshold
    ContactEmails []string
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    Enabled bool
    The notification is enabled or not.
    Operator string | OperatorType
    The comparison operator.
    Threshold float64
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    ContactGroups []string
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    ContactRoles []string
    Contact roles to send the budget notification to when the threshold is exceeded.
    Locale string | CultureCode
    Language in which the recipient will receive the notification
    ThresholdType string | ThresholdType
    The type of threshold
    contactEmails List<String>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled Boolean
    The notification is enabled or not.
    operator String | OperatorType
    The comparison operator.
    threshold Double
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups List<String>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles List<String>
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale String | CultureCode
    Language in which the recipient will receive the notification
    thresholdType String | ThresholdType
    The type of threshold
    contactEmails string[]
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled boolean
    The notification is enabled or not.
    operator string | OperatorType
    The comparison operator.
    threshold number
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups string[]
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles string[]
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale string | CultureCode
    Language in which the recipient will receive the notification
    thresholdType string | ThresholdType
    The type of threshold
    contact_emails Sequence[str]
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled bool
    The notification is enabled or not.
    operator str | OperatorType
    The comparison operator.
    threshold float
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contact_groups Sequence[str]
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contact_roles Sequence[str]
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale str | CultureCode
    Language in which the recipient will receive the notification
    threshold_type str | ThresholdType
    The type of threshold
    contactEmails List<String>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled Boolean
    The notification is enabled or not.
    operator String | "EqualTo" | "GreaterThan" | "GreaterThanOrEqualTo"
    The comparison operator.
    threshold Number
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups List<String>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles List<String>
    Contact roles to send the budget notification to when the threshold is exceeded.
    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
    thresholdType String | "Actual" | "Forecasted"
    The type of threshold

    NotificationResponse, NotificationResponseArgs

    ContactEmails List<string>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    Enabled bool
    The notification is enabled or not.
    Operator string
    The comparison operator.
    Threshold double
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    ContactGroups List<string>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    ContactRoles List<string>
    Contact roles to send the budget notification to when the threshold is exceeded.
    Locale string
    Language in which the recipient will receive the notification
    ThresholdType string
    The type of threshold
    ContactEmails []string
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    Enabled bool
    The notification is enabled or not.
    Operator string
    The comparison operator.
    Threshold float64
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    ContactGroups []string
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    ContactRoles []string
    Contact roles to send the budget notification to when the threshold is exceeded.
    Locale string
    Language in which the recipient will receive the notification
    ThresholdType string
    The type of threshold
    contactEmails List<String>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled Boolean
    The notification is enabled or not.
    operator String
    The comparison operator.
    threshold Double
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups List<String>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles List<String>
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale String
    Language in which the recipient will receive the notification
    thresholdType String
    The type of threshold
    contactEmails string[]
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled boolean
    The notification is enabled or not.
    operator string
    The comparison operator.
    threshold number
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups string[]
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles string[]
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale string
    Language in which the recipient will receive the notification
    thresholdType string
    The type of threshold
    contact_emails Sequence[str]
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled bool
    The notification is enabled or not.
    operator str
    The comparison operator.
    threshold float
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contact_groups Sequence[str]
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contact_roles Sequence[str]
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale str
    Language in which the recipient will receive the notification
    threshold_type str
    The type of threshold
    contactEmails List<String>
    Email addresses to send the budget notification to when the threshold is exceeded. 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.
    enabled Boolean
    The notification is enabled or not.
    operator String
    The comparison operator.
    threshold Number
    Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.
    contactGroups List<String>
    Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.
    contactRoles List<String>
    Contact roles to send the budget notification to when the threshold is exceeded.
    locale String
    Language in which the recipient will receive the notification
    thresholdType String
    The type of threshold

    OperatorType, OperatorTypeArgs

    EqualTo
    EqualToAlert 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.
    GreaterThan
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    GreaterThanOrEqualTo
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.
    OperatorTypeEqualTo
    EqualToAlert 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.
    OperatorTypeGreaterThan
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    OperatorTypeGreaterThanOrEqualTo
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.
    EqualTo
    EqualToAlert 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.
    GreaterThan
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    GreaterThanOrEqualTo
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.
    EqualTo
    EqualToAlert 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.
    GreaterThan
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    GreaterThanOrEqualTo
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.
    EQUAL_TO
    EqualToAlert 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.
    GREATER_THAN
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    GREATER_THAN_OR_EQUAL_TO
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.
    "EqualTo"
    EqualToAlert 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.
    "GreaterThan"
    GreaterThanAlert will be triggered if the evaluated cost is greater than the threshold value. Note: This is the recommended OperatorType while configuring Budget Alert.
    "GreaterThanOrEqualTo"
    GreaterThanOrEqualToAlert will be triggered if the evaluated cost is greater than or equal to the threshold value.

    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
    Quarterly
    Quarterly
    Annually
    Annually
    BillingMonth
    BillingMonth
    BillingQuarter
    BillingQuarter
    BillingAnnual
    BillingAnnual
    TimeGrainTypeMonthly
    Monthly
    TimeGrainTypeQuarterly
    Quarterly
    TimeGrainTypeAnnually
    Annually
    TimeGrainTypeBillingMonth
    BillingMonth
    TimeGrainTypeBillingQuarter
    BillingQuarter
    TimeGrainTypeBillingAnnual
    BillingAnnual
    Monthly
    Monthly
    Quarterly
    Quarterly
    Annually
    Annually
    BillingMonth
    BillingMonth
    BillingQuarter
    BillingQuarter
    BillingAnnual
    BillingAnnual
    Monthly
    Monthly
    Quarterly
    Quarterly
    Annually
    Annually
    BillingMonth
    BillingMonth
    BillingQuarter
    BillingQuarter
    BillingAnnual
    BillingAnnual
    MONTHLY
    Monthly
    QUARTERLY
    Quarterly
    ANNUALLY
    Annually
    BILLING_MONTH
    BillingMonth
    BILLING_QUARTER
    BillingQuarter
    BILLING_ANNUAL
    BillingAnnual
    "Monthly"
    Monthly
    "Quarterly"
    Quarterly
    "Annually"
    Annually
    "BillingMonth"
    BillingMonth
    "BillingQuarter"
    BillingQuarter
    "BillingAnnual"
    BillingAnnual

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:consumption:Budget TestBudget /{scope}/providers/Microsoft.Consumption/budgets/{budgetName} 
    

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

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
    Azure Native v2.37.0 published on Monday, Apr 15, 2024 by Pulumi