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.
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.
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.
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.
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://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 |