public sealed class Budget : IMessage<Budget>, IEquatable<Budget>, IDeepCloneable<Budget>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Billing Budget v1beta1 API class Budget.
A budget is a plan that describes what you expect to spend on Cloud
projects, plus the rules to execute as spend is tracked against that plan,
(for example, send an alert when 90% of the target spend is met).
The budget time period is configurable, with options such as month (default),
quarter, year, or custom time period.
Optional. Filters that define which resources are used to compute the
actual spend against the budget amount, such as projects, services, and the
budget's time period, as well as other filters.
Optional. Etag to validate that the object is unchanged for a
read-modify-write operation.
An empty etag will cause an update to overwrite other changes.
Output only. Resource name of the budget.
The resource name implies the scope of a budget. Values are of the form
billingAccounts/{billingAccountId}/budgets/{budgetId}.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eBudget\u003c/code\u003e class within the Google Cloud Billing Budgets v1beta1 API, detailing its structure, functionalities, and properties.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBudget\u003c/code\u003e class represents a spending plan for Cloud projects, including rules for tracking spend and triggering actions, such as alerts when spending reaches a certain percentage.\u003c/p\u003e\n"],["\u003cp\u003eUsers can configure the budget's time period (e.g., month, quarter, year) and filter the resources used for calculating actual spend, enabling customization based on specific requirements.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes properties for setting the budget amount, defining notification rules, and managing the display name and resource name of the budget.\u003c/p\u003e\n"],["\u003cp\u003eDifferent versions of the \u003ccode\u003eBudget\u003c/code\u003e API class are available, with the latest version being \u003ccode\u003e2.0.0-beta06\u003c/code\u003e and can be found in the \u003ccode\u003eGoogle.Cloud.Billing.Budgets.V1Beta1\u003c/code\u003e namespace within the \u003ccode\u003eGoogle.Cloud.Billing.Budgets.V1Beta1.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"]]],[],null,["# Cloud Billing Budget v1beta1 API - Class Budget (2.0.0-beta06)\n\nVersion latestkeyboard_arrow_down\n\n- [2.0.0-beta06 (latest)](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.Budget)\n- [2.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/2.0.0-beta05/Google.Cloud.Billing.Budgets.V1Beta1.Budget)\n- [1.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/1.0.0-beta05/Google.Cloud.Billing.Budgets.V1Beta1.Budget) \n\n public sealed class Budget : IMessage\u003cBudget\u003e, IEquatable\u003cBudget\u003e, IDeepCloneable\u003cBudget\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Billing Budget v1beta1 API class Budget.\n\nA budget is a plan that describes what you expect to spend on Cloud\nprojects, plus the rules to execute as spend is tracked against that plan,\n(for example, send an alert when 90% of the target spend is met).\nThe budget time period is configurable, with options such as month (default),\nquarter, year, or custom time period. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Budget \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Budget](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.Budget), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Budget](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.Budget), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Budget](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.Budget), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Billing.Budgets.V1Beta1](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.Billing.Budgets.V1Beta1.dll\n\nConstructors\n------------\n\n### Budget()\n\n public Budget()\n\n### Budget(Budget)\n\n public Budget(Budget other)\n\nProperties\n----------\n\n### AllUpdatesRule\n\n public AllUpdatesRule AllUpdatesRule { get; set; }\n\nOptional. Rules to apply to notifications sent based on budget spend and\nthresholds.\n\n### Amount\n\n public BudgetAmount Amount { get; set; }\n\nRequired. Budgeted amount.\n\n### BudgetFilter\n\n public Filter BudgetFilter { get; set; }\n\nOptional. Filters that define which resources are used to compute the\nactual spend against the budget amount, such as projects, services, and the\nbudget's time period, as well as other filters.\n\n### BudgetName\n\n public BudgetName BudgetName { get; set; }\n\n[BudgetName](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.BudgetName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.Budget#Google_Cloud_Billing_Budgets_V1Beta1_Budget_Name) resource name property.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nUser data for display name in UI.\nValidation: \\\u003c= 60 chars.\n\n### Etag\n\n public string Etag { get; set; }\n\nOptional. Etag to validate that the object is unchanged for a\nread-modify-write operation.\nAn empty etag will cause an update to overwrite other changes.\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. Resource name of the budget.\nThe resource name implies the scope of a budget. Values are of the form\n`billingAccounts/{billingAccountId}/budgets/{budgetId}`.\n\n### ThresholdRules\n\n public RepeatedField\u003cThresholdRule\u003e ThresholdRules { get; }\n\nOptional. Rules that trigger alerts (notifications of thresholds\nbeing crossed) when spend exceeds the specified percentages of the budget.\n\nOptional for `pubsubTopic` notifications.\n\nRequired if using email notifications."]]