public final class NotificationsRule extends GeneratedMessageV3 implements NotificationsRuleOrBuilder
NotificationsRule defines notifications that are sent based on budget spend
and thresholds.
Protobuf type google.cloud.billing.budgets.v1.NotificationsRule
Inherited Members
com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT)
com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT,int)
com.google.protobuf.GeneratedMessageV3.<T>emptyList(java.lang.Class<T>)
com.google.protobuf.GeneratedMessageV3.internalGetMapFieldReflection(int)
Static Fields
DISABLE_DEFAULT_IAM_RECIPIENTS_FIELD_NUMBER
public static final int DISABLE_DEFAULT_IAM_RECIPIENTS_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
ENABLE_PROJECT_LEVEL_RECIPIENTS_FIELD_NUMBER
public static final int ENABLE_PROJECT_LEVEL_RECIPIENTS_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
MONITORING_NOTIFICATION_CHANNELS_FIELD_NUMBER
public static final int MONITORING_NOTIFICATION_CHANNELS_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
PUBSUB_TOPIC_FIELD_NUMBER
public static final int PUBSUB_TOPIC_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
SCHEMA_VERSION_FIELD_NUMBER
public static final int SCHEMA_VERSION_FIELD_NUMBER
Field Value |
Type |
Description |
int |
|
Static Methods
getDefaultInstance()
public static NotificationsRule getDefaultInstance()
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
newBuilder()
public static NotificationsRule.Builder newBuilder()
newBuilder(NotificationsRule prototype)
public static NotificationsRule.Builder newBuilder(NotificationsRule prototype)
public static NotificationsRule parseDelimitedFrom(InputStream input)
public static NotificationsRule parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(byte[] data)
public static NotificationsRule parseFrom(byte[] data)
Parameter |
Name |
Description |
data |
byte[]
|
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static NotificationsRule parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteString data)
public static NotificationsRule parseFrom(ByteString data)
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static NotificationsRule parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static NotificationsRule parseFrom(CodedInputStream input)
public static NotificationsRule parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static NotificationsRule parseFrom(InputStream input)
public static NotificationsRule parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteBuffer data)
public static NotificationsRule parseFrom(ByteBuffer data)
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static NotificationsRule parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
parser()
public static Parser<NotificationsRule> parser()
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter |
Name |
Description |
obj |
Object
|
Overrides
getDefaultInstanceForType()
public NotificationsRule getDefaultInstanceForType()
getDisableDefaultIamRecipients()
public boolean getDisableDefaultIamRecipients()
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.
bool disable_default_iam_recipients = 4 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
boolean |
The disableDefaultIamRecipients.
|
getEnableProjectLevelRecipients()
public boolean getEnableProjectLevelRecipients()
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.
bool enable_project_level_recipients = 5 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
boolean |
The enableProjectLevelRecipients.
|
getMonitoringNotificationChannels(int index)
public String getMonitoringNotificationChannels(int index)
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.
repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
Parameter |
Name |
Description |
index |
int
The index of the element to return.
|
Returns |
Type |
Description |
String |
The monitoringNotificationChannels at the given index.
|
getMonitoringNotificationChannelsBytes(int index)
public ByteString getMonitoringNotificationChannelsBytes(int index)
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.
repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
Parameter |
Name |
Description |
index |
int
The index of the value to return.
|
Returns |
Type |
Description |
ByteString |
The bytes of the monitoringNotificationChannels at the given index.
|
getMonitoringNotificationChannelsCount()
public int getMonitoringNotificationChannelsCount()
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.
repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
int |
The count of monitoringNotificationChannels.
|
getMonitoringNotificationChannelsList()
public ProtocolStringList getMonitoringNotificationChannelsList()
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.
repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
ProtocolStringList |
A list containing the monitoringNotificationChannels.
|
getParserForType()
public Parser<NotificationsRule> getParserForType()
Overrides
getPubsubTopic()
public String getPubsubTopic()
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:
Create the Pub/Sub topic
before connecting it to your budget. For guidance, see
Manage programmatic budget alert
notifications.
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.
string pubsub_topic = 1 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
String |
The pubsubTopic.
|
getPubsubTopicBytes()
public ByteString getPubsubTopicBytes()
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:
Create the Pub/Sub topic
before connecting it to your budget. For guidance, see
Manage programmatic budget alert
notifications.
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.
string pubsub_topic = 1 [(.google.api.field_behavior) = OPTIONAL];
Returns |
Type |
Description |
ByteString |
The bytes for pubsubTopic.
|
getSchemaVersion()
public String getSchemaVersion()
Returns |
Type |
Description |
String |
The schemaVersion.
|
getSchemaVersionBytes()
public ByteString getSchemaVersionBytes()
Returns |
Type |
Description |
ByteString |
The bytes for schemaVersion.
|
getSerializedSize()
public int getSerializedSize()
Returns |
Type |
Description |
int |
|
Overrides
hashCode()
Returns |
Type |
Description |
int |
|
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Overrides
isInitialized()
public final boolean isInitialized()
Overrides
newBuilderForType()
public NotificationsRule.Builder newBuilderForType()
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected NotificationsRule.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Returns |
Type |
Description |
Object |
|
Overrides
toBuilder()
public NotificationsRule.Builder toBuilder()
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Overrides