Skip to content
This repository has been archived by the owner on Sep 18, 2023. It is now read-only.

feat(v1beta1): added monitoring_notification_channels field to allow configuration of additional budget alert recipients #203

Merged
merged 1 commit into from Jul 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view

Large diffs are not rendered by default.

Expand Up @@ -27,10 +27,10 @@ public interface AllUpdatesRuleOrBuilder
*
*
* <pre>
* Required. The name of the Cloud Pub/Sub topic where budget related messages will be
* published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
* are sent at regular intervals to the topic.
* The topic needs to be created before the budget is created; see
* Required. The name of the Cloud Pub/Sub topic where budget related messages
* will be published, in the form `projects/{project_id}/topics/{topic_id}`.
* Updates are sent at regular intervals to the topic. The topic needs to be
* created before the budget is created; see
* https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
* for more details.
* Caller is expected to have
Expand All @@ -49,10 +49,10 @@ public interface AllUpdatesRuleOrBuilder
*
*
* <pre>
* Required. The name of the Cloud Pub/Sub topic where budget related messages will be
* published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
* are sent at regular intervals to the topic.
* The topic needs to be created before the budget is created; see
* Required. The name of the Cloud Pub/Sub topic where budget related messages
* will be published, in the form `projects/{project_id}/topics/{topic_id}`.
* Updates are sent at regular intervals to the topic. The topic needs to be
* created before the budget is created; see
* https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
* for more details.
* Caller is expected to have
Expand All @@ -72,7 +72,7 @@ public interface AllUpdatesRuleOrBuilder
*
*
* <pre>
* Required. The schema version of the notification.
* Required. The schema version of the notification sent to `pubsub_topic`.
* Only "1.0" is accepted. It represents the JSON schema as defined in
* https://cloud.google.com/billing/docs/how-to/budgets#notification_format
* </pre>
Expand All @@ -86,7 +86,7 @@ public interface AllUpdatesRuleOrBuilder
*
*
* <pre>
* Required. The schema version of the notification.
* Required. The schema version of the notification sent to `pubsub_topic`.
* Only "1.0" is accepted. It represents the JSON schema as defined in
* https://cloud.google.com/billing/docs/how-to/budgets#notification_format
* </pre>
Expand All @@ -96,4 +96,83 @@ public interface AllUpdatesRuleOrBuilder
* @return The bytes for schemaVersion.
*/
com.google.protobuf.ByteString getSchemaVersionBytes();

/**
*
*
* <pre>
* Optional. Targets to send notifications to when a threshold is exceeded.
* This is in addition to default recipients who have billing account 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.
* </pre>
*
* <code>
* repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
* </code>
*
* @return A list containing the monitoringNotificationChannels.
*/
java.util.List<java.lang.String> getMonitoringNotificationChannelsList();
/**
*
*
* <pre>
* Optional. Targets to send notifications to when a threshold is exceeded.
* This is in addition to default recipients who have billing account 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.
* </pre>
*
* <code>
* repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
* </code>
*
* @return The count of monitoringNotificationChannels.
*/
int getMonitoringNotificationChannelsCount();
/**
*
*
* <pre>
* Optional. Targets to send notifications to when a threshold is exceeded.
* This is in addition to default recipients who have billing account 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.
* </pre>
*
* <code>
* repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
* </code>
*
* @param index The index of the element to return.
* @return The monitoringNotificationChannels at the given index.
*/
java.lang.String getMonitoringNotificationChannels(int index);
/**
*
*
* <pre>
* Optional. Targets to send notifications to when a threshold is exceeded.
* This is in addition to default recipients who have billing account 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.
* </pre>
*
* <code>
* repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
* </code>
*
* @param index The index of the value to return.
* @return The bytes of the monitoringNotificationChannels at the given index.
*/
com.google.protobuf.ByteString getMonitoringNotificationChannelsBytes(int index);
}
Expand Up @@ -507,8 +507,8 @@ public com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresh
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -525,8 +525,8 @@ public boolean hasAllUpdatesRule() {
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -545,8 +545,8 @@ public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule getAllUpdatesRule
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand Down Expand Up @@ -2179,8 +2179,8 @@ public com.google.cloud.billing.budgets.v1beta1.ThresholdRule.Builder addThresho
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2196,8 +2196,8 @@ public boolean hasAllUpdatesRule() {
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2219,8 +2219,8 @@ public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule getAllUpdatesRule
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2245,8 +2245,8 @@ public Builder setAllUpdatesRule(
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2268,8 +2268,8 @@ public Builder setAllUpdatesRule(
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand Down Expand Up @@ -2298,8 +2298,8 @@ public Builder mergeAllUpdatesRule(
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2321,8 +2321,8 @@ public Builder clearAllUpdatesRule() {
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2339,8 +2339,8 @@ public Builder clearAllUpdatesRule() {
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -2361,8 +2361,8 @@ public Builder clearAllUpdatesRule() {
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand Down
Expand Up @@ -91,23 +91,24 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "cloud.billing.budgets.v1beta1.ThresholdR"
+ "ule.BasisB\003\340A\001\"G\n\005Basis\022\025\n\021BASIS_UNSPECI"
+ "FIED\020\000\022\021\n\rCURRENT_SPEND\020\001\022\024\n\020FORECASTED_"
+ "SPEND\020\002\"H\n\016AllUpdatesRule\022\031\n\014pubsub_topi"
+ "SPEND\020\002\"w\n\016AllUpdatesRule\022\031\n\014pubsub_topi"
+ "c\030\001 \001(\tB\003\340A\002\022\033\n\016schema_version\030\002 \001(\tB\003\340A"
+ "\002\"\304\003\n\006Filter\022\025\n\010projects\030\001 \003(\tB\003\340A\001\022f\n\026c"
+ "redit_types_treatment\030\004 \001(\0162A.google.clo"
+ "ud.billing.budgets.v1beta1.Filter.Credit"
+ "TypesTreatmentB\003\340A\001\022\025\n\010services\030\003 \003(\tB\003\340"
+ "A\001\022\030\n\013subaccounts\030\005 \003(\tB\003\340A\001\022M\n\006labels\030\006"
+ " \003(\01328.google.cloud.billing.budgets.v1be"
+ "ta1.Filter.LabelsEntryB\003\340A\001\032I\n\013LabelsEnt"
+ "ry\022\013\n\003key\030\001 \001(\t\022)\n\005value\030\002 \001(\0132\032.google."
+ "protobuf.ListValue:\0028\001\"p\n\024CreditTypesTre"
+ "atment\022&\n\"CREDIT_TYPES_TREATMENT_UNSPECI"
+ "FIED\020\000\022\027\n\023INCLUDE_ALL_CREDITS\020\001\022\027\n\023EXCLU"
+ "DE_ALL_CREDITS\020\002By\n(com.google.cloud.bil"
+ "ling.budgets.v1beta1P\001ZKgoogle.golang.or"
+ "g/genproto/googleapis/cloud/billing/budg"
+ "ets/v1beta1;budgetsb\006proto3"
+ "\002\022-\n monitoring_notification_channels\030\003 "
+ "\003(\tB\003\340A\001\"\304\003\n\006Filter\022\025\n\010projects\030\001 \003(\tB\003\340"
+ "A\001\022f\n\026credit_types_treatment\030\004 \001(\0162A.goo"
+ "gle.cloud.billing.budgets.v1beta1.Filter"
+ ".CreditTypesTreatmentB\003\340A\001\022\025\n\010services\030\003"
+ " \003(\tB\003\340A\001\022\030\n\013subaccounts\030\005 \003(\tB\003\340A\001\022M\n\006l"
+ "abels\030\006 \003(\01328.google.cloud.billing.budge"
+ "ts.v1beta1.Filter.LabelsEntryB\003\340A\001\032I\n\013La"
+ "belsEntry\022\013\n\003key\030\001 \001(\t\022)\n\005value\030\002 \001(\0132\032."
+ "google.protobuf.ListValue:\0028\001\"p\n\024CreditT"
+ "ypesTreatment\022&\n\"CREDIT_TYPES_TREATMENT_"
+ "UNSPECIFIED\020\000\022\027\n\023INCLUDE_ALL_CREDITS\020\001\022\027"
+ "\n\023EXCLUDE_ALL_CREDITS\020\002By\n(com.google.cl"
+ "oud.billing.budgets.v1beta1P\001ZKgoogle.go"
+ "lang.org/genproto/googleapis/cloud/billi"
+ "ng/budgets/v1beta1;budgetsb\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
Expand Down Expand Up @@ -160,7 +161,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_descriptor,
new java.lang.String[] {
"PubsubTopic", "SchemaVersion",
"PubsubTopic", "SchemaVersion", "MonitoringNotificationChannels",
});
internal_static_google_cloud_billing_budgets_v1beta1_Filter_descriptor =
getDescriptor().getMessageTypes().get(5);
Expand Down
Expand Up @@ -236,8 +236,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -251,8 +251,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand All @@ -266,8 +266,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule
*
*
* <pre>
* Optional. Rules to apply to all updates to the actual spend, regardless
* of the thresholds set in `threshold_rules`.
* Optional. Rules to apply to notifications sent based on budget spend and
* thresholds.
* </pre>
*
* <code>
Expand Down