Class GoogleCloudBillingBudgetsV1NotificationsRule
NotificationsRule defines notifications that are sent based on budget spend and thresholds.
Implements
Inherited Members
Namespace: Google.Apis.CloudBillingBudget.v1.Data
Assembly: Google.Apis.CloudBillingBudget.v1.dll
Syntax
public class GoogleCloudBillingBudgetsV1NotificationsRule : IDirectResponseSchema
Properties
DisableDefaultIamRecipients
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. Must be false (or unset) when spend_cap is set; default notifications cannot be
disabled for spend caps.
Declaration
[JsonProperty("disableDefaultIamRecipients")]
public virtual bool? DisableDefaultIamRecipients { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
EnableProjectLevelRecipients
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.
Must be set to true when spend_cap is set.
Declaration
[JsonProperty("enableProjectLevelRecipients")]
public virtual bool? EnableProjectLevelRecipients { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
MonitoringNotificationChannels
Optional. Email targets to send notifications to when a threshold is exceeded. This is in addition to the
DefaultIamRecipients who receive alert emails based on their billing account IAM role. The value is the
full REST resource name of a Cloud Monitoring email notification channel with the form
projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5 email notifications are allowed.
To customize budget alert email recipients with monitoring notification channels, you must create the
monitoring notification channels before you link them to a budget. For guidance on setting up notification
channels to use with budgets, see Customize budget alert email
recipients. For Cloud
Billing budget alerts, you must use email notification channels. The other types of notification channels
are not supported, such as Slack, SMS, or PagerDuty. If you want to send budget notifications to
Slack, use a pubsubTopic and
configure programmatic
notifications. Not
supported when spend_cap is set; must be empty.
Declaration
[JsonProperty("monitoringNotificationChannels")]
public virtual IList<string> MonitoringNotificationChannels { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
PubsubTopic
Optional. The name of the Pub/Sub topic where budget-related messages are published, in the form
projects/{project_id}/topics/{topic_id}. Updates are sent to the topic at regular intervals; the timing of
the updates is not dependent on the threshold rules you've set. Note that if you want your
Pub/Sub JSON
object
to contain data for alertThresholdExceeded, you need at least one alert threshold rule.
When you set threshold rules, you must also enable at least one of the email notification options, either
using the default IAM recipients or Cloud Monitoring email notification channels. To use Pub/Sub topics with
budgets, you must do the following: 1. Create the Pub/Sub topic before connecting it to your budget. For
guidance, see Manage programmatic budget alert
notifications. 2.
Grant the API caller the pubsub.topics.setIamPolicy permission on the Pub/Sub topic. If not set, the API
call fails with PERMISSION_DENIED. For additional details on Pub/Sub roles and permissions, see Permissions
required for this
task. Not
supported when spend_cap is set; must be empty.
Declaration
[JsonProperty("pubsubTopic")]
public virtual string PubsubTopic { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SchemaVersion
Optional. Required when NotificationsRule.pubsub_topic is set. The schema version of the notification sent to NotificationsRule.pubsub_topic. Only "1.0" is accepted. It represents the JSON schema as defined in https://docs.cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification-format.
Declaration
[JsonProperty("schemaVersion")]
public virtual string SchemaVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| string |