diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRule.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRule.java index e2155aa2..ad21a998 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRule.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRule.java @@ -22,9 +22,8 @@ * * *
- * AllUpdatesRule defines notifications that are sent on every update to the
- * billing account's spend, regardless of the thresholds defined using
- * threshold rules.
+ * AllUpdatesRule defines notifications that are sent based on budget spend
+ * and thresholds.
  * 
* * Protobuf type {@code google.cloud.billing.budgets.v1beta1.AllUpdatesRule} @@ -42,6 +41,7 @@ private AllUpdatesRule(com.google.protobuf.GeneratedMessageV3.Builder builder private AllUpdatesRule() { pubsubTopic_ = ""; schemaVersion_ = ""; + monitoringNotificationChannels_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @@ -63,6 +63,7 @@ private AllUpdatesRule( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -87,6 +88,16 @@ private AllUpdatesRule( schemaVersion_ = s; break; } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + monitoringNotificationChannels_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + monitoringNotificationChannels_.add(s); + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -101,6 +112,9 @@ private AllUpdatesRule( } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + monitoringNotificationChannels_ = monitoringNotificationChannels_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -127,10 +141,10 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * 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
@@ -160,10 +174,10 @@ public java.lang.String getPubsubTopic() {
    *
    *
    * 
-   * 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
@@ -196,7 +210,7 @@ public com.google.protobuf.ByteString getPubsubTopicBytes() {
    *
    *
    * 
-   * 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
    * 
@@ -221,7 +235,7 @@ public java.lang.String getSchemaVersion() { * * *
-   * 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
    * 
@@ -243,6 +257,95 @@ public com.google.protobuf.ByteString getSchemaVersionBytes() { } } + public static final int MONITORING_NOTIFICATION_CHANNELS_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList monitoringNotificationChannels_; + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the monitoringNotificationChannels. + */ + public com.google.protobuf.ProtocolStringList getMonitoringNotificationChannelsList() { + return monitoringNotificationChannels_; + } + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of monitoringNotificationChannels. + */ + public int getMonitoringNotificationChannelsCount() { + return monitoringNotificationChannels_.size(); + } + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The monitoringNotificationChannels at the given index. + */ + public java.lang.String getMonitoringNotificationChannels(int index) { + return monitoringNotificationChannels_.get(index); + } + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the monitoringNotificationChannels at the given index. + */ + public com.google.protobuf.ByteString getMonitoringNotificationChannelsBytes(int index) { + return monitoringNotificationChannels_.getByteString(index); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -263,6 +366,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!getSchemaVersionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaVersion_); } + for (int i = 0; i < monitoringNotificationChannels_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString( + output, 3, monitoringNotificationChannels_.getRaw(i)); + } unknownFields.writeTo(output); } @@ -278,6 +385,14 @@ public int getSerializedSize() { if (!getSchemaVersionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaVersion_); } + { + int dataSize = 0; + for (int i = 0; i < monitoringNotificationChannels_.size(); i++) { + dataSize += computeStringSizeNoTag(monitoringNotificationChannels_.getRaw(i)); + } + size += dataSize; + size += 1 * getMonitoringNotificationChannelsList().size(); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -296,6 +411,8 @@ public boolean equals(final java.lang.Object obj) { if (!getPubsubTopic().equals(other.getPubsubTopic())) return false; if (!getSchemaVersion().equals(other.getSchemaVersion())) return false; + if (!getMonitoringNotificationChannelsList() + .equals(other.getMonitoringNotificationChannelsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -311,6 +428,10 @@ public int hashCode() { hash = (53 * hash) + getPubsubTopic().hashCode(); hash = (37 * hash) + SCHEMA_VERSION_FIELD_NUMBER; hash = (53 * hash) + getSchemaVersion().hashCode(); + if (getMonitoringNotificationChannelsCount() > 0) { + hash = (37 * hash) + MONITORING_NOTIFICATION_CHANNELS_FIELD_NUMBER; + hash = (53 * hash) + getMonitoringNotificationChannelsList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -416,9 +537,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * AllUpdatesRule defines notifications that are sent on every update to the
-   * billing account's spend, regardless of the thresholds defined using
-   * threshold rules.
+   * AllUpdatesRule defines notifications that are sent based on budget spend
+   * and thresholds.
    * 
* * Protobuf type {@code google.cloud.billing.budgets.v1beta1.AllUpdatesRule} @@ -463,6 +583,8 @@ public Builder clear() { schemaVersion_ = ""; + monitoringNotificationChannels_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -490,8 +612,14 @@ public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule build() { public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule buildPartial() { com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule result = new com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule(this); + int from_bitField0_ = bitField0_; result.pubsubTopic_ = pubsubTopic_; result.schemaVersion_ = schemaVersion_; + if (((bitField0_ & 0x00000001) != 0)) { + monitoringNotificationChannels_ = monitoringNotificationChannels_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.monitoringNotificationChannels_ = monitoringNotificationChannels_; onBuilt(); return result; } @@ -550,6 +678,16 @@ public Builder mergeFrom(com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule schemaVersion_ = other.schemaVersion_; onChanged(); } + if (!other.monitoringNotificationChannels_.isEmpty()) { + if (monitoringNotificationChannels_.isEmpty()) { + monitoringNotificationChannels_ = other.monitoringNotificationChannels_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureMonitoringNotificationChannelsIsMutable(); + monitoringNotificationChannels_.addAll(other.monitoringNotificationChannels_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -580,15 +718,17 @@ public Builder mergeFrom( return this; } + private int bitField0_; + private java.lang.Object pubsubTopic_ = ""; /** * * *
-     * 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
@@ -617,10 +757,10 @@ public java.lang.String getPubsubTopic() {
      *
      *
      * 
-     * 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
@@ -649,10 +789,10 @@ public com.google.protobuf.ByteString getPubsubTopicBytes() {
      *
      *
      * 
-     * 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
@@ -680,10 +820,10 @@ public Builder setPubsubTopic(java.lang.String value) {
      *
      *
      * 
-     * 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
@@ -707,10 +847,10 @@ public Builder clearPubsubTopic() {
      *
      *
      * 
-     * 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
@@ -741,7 +881,7 @@ public Builder setPubsubTopicBytes(com.google.protobuf.ByteString value) {
      *
      *
      * 
-     * 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
      * 
@@ -765,7 +905,7 @@ public java.lang.String getSchemaVersion() { * * *
-     * 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
      * 
@@ -789,7 +929,7 @@ public com.google.protobuf.ByteString getSchemaVersionBytes() { * * *
-     * 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
      * 
@@ -812,7 +952,7 @@ public Builder setSchemaVersion(java.lang.String value) { * * *
-     * 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
      * 
@@ -831,7 +971,7 @@ public Builder clearSchemaVersion() { * * *
-     * 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
      * 
@@ -852,6 +992,240 @@ public Builder setSchemaVersionBytes(com.google.protobuf.ByteString value) { return this; } + private com.google.protobuf.LazyStringList monitoringNotificationChannels_ = + com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureMonitoringNotificationChannelsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + monitoringNotificationChannels_ = + new com.google.protobuf.LazyStringArrayList(monitoringNotificationChannels_); + bitField0_ |= 0x00000001; + } + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the monitoringNotificationChannels. + */ + public com.google.protobuf.ProtocolStringList getMonitoringNotificationChannelsList() { + return monitoringNotificationChannels_.getUnmodifiableView(); + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of monitoringNotificationChannels. + */ + public int getMonitoringNotificationChannelsCount() { + return monitoringNotificationChannels_.size(); + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The monitoringNotificationChannels at the given index. + */ + public java.lang.String getMonitoringNotificationChannels(int index) { + return monitoringNotificationChannels_.get(index); + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the value to return. + * @return The bytes of the monitoringNotificationChannels at the given index. + */ + public com.google.protobuf.ByteString getMonitoringNotificationChannelsBytes(int index) { + return monitoringNotificationChannels_.getByteString(index); + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index to set the value at. + * @param value The monitoringNotificationChannels to set. + * @return This builder for chaining. + */ + public Builder setMonitoringNotificationChannels(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMonitoringNotificationChannelsIsMutable(); + monitoringNotificationChannels_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The monitoringNotificationChannels to add. + * @return This builder for chaining. + */ + public Builder addMonitoringNotificationChannels(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMonitoringNotificationChannelsIsMutable(); + monitoringNotificationChannels_.add(value); + onChanged(); + return this; + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param values The monitoringNotificationChannels to add. + * @return This builder for chaining. + */ + public Builder addAllMonitoringNotificationChannels( + java.lang.Iterable values) { + ensureMonitoringNotificationChannelsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, monitoringNotificationChannels_); + onChanged(); + return this; + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearMonitoringNotificationChannels() { + monitoringNotificationChannels_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * + * + *
+     * 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.
+     * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The bytes of the monitoringNotificationChannels to add. + * @return This builder for chaining. + */ + public Builder addMonitoringNotificationChannelsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureMonitoringNotificationChannelsIsMutable(); + monitoringNotificationChannels_.add(value); + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRuleOrBuilder.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRuleOrBuilder.java index f52b40d6..bcd7d0fb 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRuleOrBuilder.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/AllUpdatesRuleOrBuilder.java @@ -27,10 +27,10 @@ public interface AllUpdatesRuleOrBuilder * * *
-   * 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
@@ -49,10 +49,10 @@ public interface AllUpdatesRuleOrBuilder
    *
    *
    * 
-   * 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
@@ -72,7 +72,7 @@ public interface AllUpdatesRuleOrBuilder
    *
    *
    * 
-   * 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
    * 
@@ -86,7 +86,7 @@ public interface AllUpdatesRuleOrBuilder * * *
-   * 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
    * 
@@ -96,4 +96,83 @@ public interface AllUpdatesRuleOrBuilder * @return The bytes for schemaVersion. */ com.google.protobuf.ByteString getSchemaVersionBytes(); + + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return A list containing the monitoringNotificationChannels. + */ + java.util.List getMonitoringNotificationChannelsList(); + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The count of monitoringNotificationChannels. + */ + int getMonitoringNotificationChannelsCount(); + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param index The index of the element to return. + * @return The monitoringNotificationChannels at the given index. + */ + java.lang.String getMonitoringNotificationChannels(int index); + /** + * + * + *
+   * 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.
+   * 
+ * + * + * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @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); } diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Budget.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Budget.java index 7785f59c..ad65034b 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Budget.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Budget.java @@ -507,8 +507,8 @@ public com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresh * * *
-   * 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.
    * 
* * @@ -525,8 +525,8 @@ public boolean hasAllUpdatesRule() { * * *
-   * 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.
    * 
* * @@ -545,8 +545,8 @@ public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule getAllUpdatesRule * * *
-   * 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.
    * 
* * @@ -2179,8 +2179,8 @@ public com.google.cloud.billing.budgets.v1beta1.ThresholdRule.Builder addThresho * * *
-     * 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.
      * 
* * @@ -2196,8 +2196,8 @@ public boolean hasAllUpdatesRule() { * * *
-     * 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.
      * 
* * @@ -2219,8 +2219,8 @@ public com.google.cloud.billing.budgets.v1beta1.AllUpdatesRule getAllUpdatesRule * * *
-     * 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.
      * 
* * @@ -2245,8 +2245,8 @@ public Builder setAllUpdatesRule( * * *
-     * 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.
      * 
* * @@ -2268,8 +2268,8 @@ public Builder setAllUpdatesRule( * * *
-     * 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.
      * 
* * @@ -2298,8 +2298,8 @@ public Builder mergeAllUpdatesRule( * * *
-     * 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.
      * 
* * @@ -2321,8 +2321,8 @@ public Builder clearAllUpdatesRule() { * * *
-     * 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.
      * 
* * @@ -2339,8 +2339,8 @@ public Builder clearAllUpdatesRule() { * * *
-     * 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.
      * 
* * @@ -2361,8 +2361,8 @@ public Builder clearAllUpdatesRule() { * * *
-     * 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.
      * 
* * diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetModel.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetModel.java index 09e8e5cc..1e84b59f 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetModel.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetModel.java @@ -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( @@ -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); diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetOrBuilder.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetOrBuilder.java index 020b93c0..1b0ca7aa 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetOrBuilder.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/BudgetOrBuilder.java @@ -236,8 +236,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule * * *
-   * 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.
    * 
* * @@ -251,8 +251,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule * * *
-   * 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.
    * 
* * @@ -266,8 +266,8 @@ com.google.cloud.billing.budgets.v1beta1.ThresholdRuleOrBuilder getThresholdRule * * *
-   * 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.
    * 
* * diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Filter.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Filter.java index 3c9cad30..226df963 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Filter.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/Filter.java @@ -537,11 +537,12 @@ public com.google.protobuf.ByteString getServicesBytes(int index) { * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -555,11 +556,12 @@ public com.google.protobuf.ProtocolStringList getSubaccountsList() { * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -573,11 +575,12 @@ public int getSubaccountsCount() { * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -592,11 +595,12 @@ public java.lang.String getSubaccounts(int index) { * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -640,10 +644,10 @@ public int getLabelsCount() { * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -667,10 +671,10 @@ public java.util.Map getLabels( * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -685,10 +689,10 @@ public java.util.Map getLabelsM * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -709,10 +713,10 @@ public com.google.protobuf.ListValue getLabelsOrDefault( * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -1733,11 +1737,12 @@ private void ensureSubaccountsIsMutable() { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1751,11 +1756,12 @@ public com.google.protobuf.ProtocolStringList getSubaccountsList() { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1769,11 +1775,12 @@ public int getSubaccountsCount() { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1788,11 +1795,12 @@ public java.lang.String getSubaccounts(int index) { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1807,11 +1815,12 @@ public com.google.protobuf.ByteString getSubaccountsBytes(int index) { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1833,11 +1842,12 @@ public Builder setSubaccounts(int index, java.lang.String value) { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1858,11 +1868,12 @@ public Builder addSubaccounts(java.lang.String value) { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1880,11 +1891,12 @@ public Builder addAllSubaccounts(java.lang.Iterable values) { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1901,11 +1913,12 @@ public Builder clearSubaccounts() { * * *
-     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-     * that usage from only this set of subaccounts should be included in the
-     * budget. If a subaccount is set to the name of the master account, usage
-     * from the master account will be included. If omitted, the report will
-     * include usage from the master account and all subaccounts, if they exist.
+     * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+     * specifying that usage from only this set of subaccounts should be included
+     * in the budget. If a subaccount is set to the name of the reseller account,
+     * usage from the reseller account will be included. If omitted, the report
+     * will include usage from the reseller account and all subaccounts, if they
+     * exist.
      * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1954,10 +1967,10 @@ public int getLabelsCount() { * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -1981,10 +1994,10 @@ public java.util.Map getLabels( * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -1999,10 +2012,10 @@ public java.util.Map getLabelsM * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -2023,10 +2036,10 @@ public com.google.protobuf.ListValue getLabelsOrDefault( * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -2054,10 +2067,10 @@ public Builder clearLabels() { * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -2080,10 +2093,10 @@ public java.util.Map getMutable * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * @@ -2104,10 +2117,10 @@ public Builder putLabels(java.lang.String key, com.google.protobuf.ListValue val * * *
-     * Optional. A single label and value pair specifying that usage from only this set of
-     * labeled resources should be included in the budget. Multiple entries or
-     * multiple values per entry are not allowed. If omitted, the report will
-     * include all labeled and unlabeled usage.
+     * Optional. A single label and value pair specifying that usage from only
+     * this set of labeled resources should be included in the budget. Currently,
+     * multiple entries or multiple values per entry are not allowed. If omitted,
+     * the report will include all labeled and unlabeled usage.
      * 
* * diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/FilterOrBuilder.java b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/FilterOrBuilder.java index 2be852fe..09edf706 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/FilterOrBuilder.java +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/java/com/google/cloud/billing/budgets/v1beta1/FilterOrBuilder.java @@ -194,11 +194,12 @@ public interface FilterOrBuilder * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -210,11 +211,12 @@ public interface FilterOrBuilder * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -226,11 +228,12 @@ public interface FilterOrBuilder * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -243,11 +246,12 @@ public interface FilterOrBuilder * * *
-   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
-   * that usage from only this set of subaccounts should be included in the
-   * budget. If a subaccount is set to the name of the master account, usage
-   * from the master account will be included. If omitted, the report will
-   * include usage from the master account and all subaccounts, if they exist.
+   * Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
+   * specifying that usage from only this set of subaccounts should be included
+   * in the budget. If a subaccount is set to the name of the reseller account,
+   * usage from the reseller account will be included. If omitted, the report
+   * will include usage from the reseller account and all subaccounts, if they
+   * exist.
    * 
* * repeated string subaccounts = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -261,10 +265,10 @@ public interface FilterOrBuilder * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -276,10 +280,10 @@ public interface FilterOrBuilder * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -294,10 +298,10 @@ public interface FilterOrBuilder * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -309,10 +313,10 @@ public interface FilterOrBuilder * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * @@ -325,10 +329,10 @@ com.google.protobuf.ListValue getLabelsOrDefault( * * *
-   * Optional. A single label and value pair specifying that usage from only this set of
-   * labeled resources should be included in the budget. Multiple entries or
-   * multiple values per entry are not allowed. If omitted, the report will
-   * include all labeled and unlabeled usage.
+   * Optional. A single label and value pair specifying that usage from only
+   * this set of labeled resources should be included in the budget. Currently,
+   * multiple entries or multiple values per entry are not allowed. If omitted,
+   * the report will include all labeled and unlabeled usage.
    * 
* * diff --git a/proto-google-cloud-billingbudgets-v1beta1/src/main/proto/google/cloud/billing/budgets/v1beta1/budget_model.proto b/proto-google-cloud-billingbudgets-v1beta1/src/main/proto/google/cloud/billing/budgets/v1beta1/budget_model.proto index fb2f1cfb..9b563718 100644 --- a/proto-google-cloud-billingbudgets-v1beta1/src/main/proto/google/cloud/billing/budgets/v1beta1/budget_model.proto +++ b/proto-google-cloud-billingbudgets-v1beta1/src/main/proto/google/cloud/billing/budgets/v1beta1/budget_model.proto @@ -54,10 +54,11 @@ message Budget { // Optional. Rules that trigger alerts (notifications of thresholds // being crossed) when spend exceeds the specified percentages of the budget. - repeated ThresholdRule threshold_rules = 5 [(google.api.field_behavior) = OPTIONAL]; + repeated ThresholdRule threshold_rules = 5 + [(google.api.field_behavior) = OPTIONAL]; - // 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. AllUpdatesRule all_updates_rule = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. Etag to validate that the object is unchanged for a @@ -86,9 +87,7 @@ message BudgetAmount { // that is, there are no other options yet. // Future configuration will be described here (for example, configuring a // percentage of last period's spend). -message LastPeriodAmount { - -} +message LastPeriodAmount {} // ThresholdRule contains a definition of a threshold which triggers // an alert (a notification of a threshold being crossed) to be sent when @@ -121,14 +120,13 @@ message ThresholdRule { Basis spend_basis = 2 [(google.api.field_behavior) = OPTIONAL]; } -// AllUpdatesRule defines notifications that are sent on every update to the -// billing account's spend, regardless of the thresholds defined using -// threshold rules. +// AllUpdatesRule defines notifications that are sent based on budget spend +// and thresholds. message AllUpdatesRule { - // 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 @@ -138,10 +136,19 @@ message AllUpdatesRule { // Pub/Sub roles and permissions. string pubsub_topic = 1 [(google.api.field_behavior) = REQUIRED]; - // 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 string schema_version = 2 [(google.api.field_behavior) = REQUIRED]; + + // 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. + repeated string monitoring_notification_channels = 3 + [(google.api.field_behavior) = OPTIONAL]; } // A filter for a budget, limiting the scope of the cost to calculate. @@ -168,7 +175,8 @@ message Filter { repeated string projects = 1 [(google.api.field_behavior) = OPTIONAL]; // Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. - CreditTypesTreatment credit_types_treatment = 4 [(google.api.field_behavior) = OPTIONAL]; + CreditTypesTreatment credit_types_treatment = 4 + [(google.api.field_behavior) = OPTIONAL]; // Optional. A set of services of the form `services/{service_id}`, // specifying that usage from only this set of services should be @@ -178,16 +186,18 @@ message Filter { // https://cloud.google.com/billing/v1/how-tos/catalog-api. repeated string services = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying - // that usage from only this set of subaccounts should be included in the - // budget. If a subaccount is set to the name of the master account, usage - // from the master account will be included. If omitted, the report will - // include usage from the master account and all subaccounts, if they exist. + // Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, + // specifying that usage from only this set of subaccounts should be included + // in the budget. If a subaccount is set to the name of the reseller account, + // usage from the reseller account will be included. If omitted, the report + // will include usage from the reseller account and all subaccounts, if they + // exist. repeated string subaccounts = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A single label and value pair specifying that usage from only this set of - // labeled resources should be included in the budget. Multiple entries or - // multiple values per entry are not allowed. If omitted, the report will - // include all labeled and unlabeled usage. - map labels = 6 [(google.api.field_behavior) = OPTIONAL]; + // Optional. A single label and value pair specifying that usage from only + // this set of labeled resources should be included in the budget. Currently, + // multiple entries or multiple values per entry are not allowed. If omitted, + // the report will include all labeled and unlabeled usage. + map labels = 6 + [(google.api.field_behavior) = OPTIONAL]; } diff --git a/synth.metadata b/synth.metadata index eb44fff5..18be5fd5 100644 --- a/synth.metadata +++ b/synth.metadata @@ -11,15 +11,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-billingbudgets.git", - "sha": "b53752632561e43622d8801454b138f04e8a241a" + "sha": "3fb1ec013a861566e3a41242c94d05297e94484b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e569fc5ac999ed8b466e04253320c16d93491d01", - "internalRef": "318180691" + "sha": "50ae1c72fd94a3ae4269394b09e4b7fbb9251146", + "internalRef": "320484049" } }, {