public sealed class Budget : IMessage<Budget>, IEquatable<Budget>, IDeepCloneable<Budget>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Billing Budget v1 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.
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 page provides documentation for the \u003ccode\u003eBudget\u003c/code\u003e class within the Google Cloud Billing Budgets v1 API, which is used to define and manage spending plans for cloud projects.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBudget\u003c/code\u003e class allows for configurable time periods (monthly, quarterly, yearly, or custom) and enables the setting of rules to trigger alerts when spend approaches or exceeds specified thresholds.\u003c/p\u003e\n"],["\u003cp\u003eUsers can set a budgeted amount, define filters to specify which resources contribute to the budget's actual spend, and set up notification rules.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports multiple versions, from version 1.1.0 to the latest version 2.6.0, and the documentation is structured to show information for the latest version.\u003c/p\u003e\n"]]],[],null,["# Cloud Billing Budget v1 API - Class Budget (2.6.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.6.0 (latest)](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/latest/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.5.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.4.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.3.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.2.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.1.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/2.0.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/1.2.0/Google.Cloud.Billing.Budgets.V1.Budget)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/1.1.0/Google.Cloud.Billing.Budgets.V1.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 v1 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.V1/latest/Google.Cloud.Billing.Budgets.V1.Budget), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Budget](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/latest/Google.Cloud.Billing.Budgets.V1.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.V1/latest/Google.Cloud.Billing.Budgets.V1.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.V1](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/latest/Google.Cloud.Billing.Budgets.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Billing.Budgets.V1.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### 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.V1/latest/Google.Cloud.Billing.Budgets.V1.BudgetName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1/latest/Google.Cloud.Billing.Budgets.V1.Budget#Google_Cloud_Billing_Budgets_V1_Budget_Name) resource name property.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nUser data for display name in UI. The name must be less than or equal to 60\ncharacters.\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 causes 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### NotificationsRule\n\n public NotificationsRule NotificationsRule { get; set; }\n\nOptional. Rules to apply to notifications sent based on budget spend and\nthresholds.\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."]]