public bool DisableDefaultIamRecipients { get; set; }
Optional. When set to true, disables default notifications sent when a
threshold is exceeded. Default notifications are sent to those with Billing
Account Administrator and Billing Account User IAM roles for the target
account.
public bool EnableProjectLevelRecipients { get; set; }
Optional. When set to true, and when the budget has a single project
configured, notifications will be sent to project level recipients of that
project. This field will be ignored if the budget has multiple or no
project configured.
Currently, project level recipients are the users with Owner role on a
cloud project.
public RepeatedField<string> MonitoringNotificationChannels { get; }
Optional. Targets to send notifications to when a threshold is exceeded.
This is in addition to default recipients who have billing account IAM
roles. The value is the full REST resource name of a monitoring
notification channel with the form
projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5
channels are allowed. See
https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
for more details.
Optional. Required when
[AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic]
is set. The schema version of the notification sent to
[AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic].
Only "1.0" is accepted. It represents the JSON schema as defined in
https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
[[["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\u003eThe \u003ccode\u003eAllUpdatesRule\u003c/code\u003e class in the Google Cloud Billing Budget v1beta1 API defines notifications sent based on budget spend and thresholds, inheriting from \u003ccode\u003eobject\u003c/code\u003e and implementing several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThis class allows you to configure notifications to be sent when budget thresholds are exceeded, with options to disable default notifications sent to those with Billing Account Administrator and Billing Account User IAM roles.\u003c/p\u003e\n"],["\u003cp\u003eIt provides the ability to enable notifications to project-level recipients, specifically those with the \u003ccode\u003eOwner\u003c/code\u003e role, if a budget is configured for a single project.\u003c/p\u003e\n"],["\u003cp\u003eNotifications can be sent to up to 5 specified monitoring notification channels, identified by their REST resource names, in addition to default recipients.\u003c/p\u003e\n"],["\u003cp\u003eThe class supports sending budget-related messages to a designated Pub/Sub topic, with a required schema version of "1.0" for these notifications.\u003c/p\u003e\n"]]],[],null,["# Cloud Billing Budget v1beta1 API - Class AllUpdatesRule (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.AllUpdatesRule)\n- [2.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/2.0.0-beta05/Google.Cloud.Billing.Budgets.V1Beta1.AllUpdatesRule)\n- [1.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/1.0.0-beta05/Google.Cloud.Billing.Budgets.V1Beta1.AllUpdatesRule) \n\n public sealed class AllUpdatesRule : IMessage\u003cAllUpdatesRule\u003e, IEquatable\u003cAllUpdatesRule\u003e, IDeepCloneable\u003cAllUpdatesRule\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Billing Budget v1beta1 API class AllUpdatesRule.\n\nAllUpdatesRule defines notifications that are sent based on budget spend\nand thresholds. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AllUpdatesRule \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AllUpdatesRule](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.AllUpdatesRule), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AllUpdatesRule](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.AllUpdatesRule), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AllUpdatesRule](/dotnet/docs/reference/Google.Cloud.Billing.Budgets.V1Beta1/latest/Google.Cloud.Billing.Budgets.V1Beta1.AllUpdatesRule), [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### AllUpdatesRule()\n\n public AllUpdatesRule()\n\n### AllUpdatesRule(AllUpdatesRule)\n\n public AllUpdatesRule(AllUpdatesRule other)\n\nProperties\n----------\n\n### DisableDefaultIamRecipients\n\n public bool DisableDefaultIamRecipients { get; set; }\n\nOptional. When set to true, disables default notifications sent when a\nthreshold is exceeded. Default notifications are sent to those with Billing\nAccount Administrator and Billing Account User IAM roles for the target\naccount.\n\n### EnableProjectLevelRecipients\n\n public bool EnableProjectLevelRecipients { get; set; }\n\nOptional. When set to true, and when the budget has a single project\nconfigured, notifications will be sent to project level recipients of that\nproject. This field will be ignored if the budget has multiple or no\nproject configured.\n\nCurrently, project level recipients are the users with `Owner` role on a\ncloud project.\n\n### MonitoringNotificationChannels\n\n public RepeatedField\u003cstring\u003e MonitoringNotificationChannels { get; }\n\nOptional. Targets to send notifications to when a threshold is exceeded.\nThis is in addition to default recipients who have billing account IAM\nroles. The value is the full REST resource name of a monitoring\nnotification channel with the form\n`projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5\nchannels are allowed. See\n\u003chttps://cloud.google.com/billing/docs/how-to/budgets-notification-recipients\u003e\nfor more details.\n\n### PubsubTopic\n\n public string PubsubTopic { get; set; }\n\nOptional. The name of the Pub/Sub topic where budget related messages will\nbe published, in the form `projects/{project_id}/topics/{topic_id}`.\nUpdates are sent at regular intervals to the topic. The topic needs to be\ncreated before the budget is created; see\n\u003chttps://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications\u003e\nfor more details.\nCaller is expected to have\n`pubsub.topics.setIamPolicy` permission on the topic when it's set for a\nbudget, otherwise, the API call will fail with PERMISSION_DENIED. See\n\u003chttps://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task\u003e\nfor more details on Pub/Sub roles and permissions.\n\n### SchemaVersion\n\n public string SchemaVersion { get; set; }\n\nOptional. Required when\n\\[AllUpdatesRule.pubsub_topic\\]\\[google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic\\]\nis set. The schema version of the notification sent to\n\\[AllUpdatesRule.pubsub_topic\\]\\[google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic\\].\nOnly \"1.0\" is accepted. It represents the JSON schema as defined in\n\u003chttps://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format\u003e."]]