• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/billing/budgets/v1/budget_model.proto
18 
19 package com.google.cloud.billing.budgets.v1;
20 
21 public interface NotificationsRuleOrBuilder
22     extends
23     // @@protoc_insertion_point(interface_extends:google.cloud.billing.budgets.v1.NotificationsRule)
24     com.google.protobuf.MessageOrBuilder {
25 
26   /**
27    *
28    *
29    * <pre>
30    * Optional. The name of the Pub/Sub topic where budget related messages will
31    * be published, in the form `projects/{project_id}/topics/{topic_id}`.
32    * Updates are sent at regular intervals to the topic. The topic needs to be
33    * created before the budget is created; see
34    * https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
35    * for more details.
36    * Caller is expected to have
37    * `pubsub.topics.setIamPolicy` permission on the topic when it's set for a
38    * budget, otherwise, the API call will fail with PERMISSION_DENIED. See
39    * https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications
40    * for more details on Pub/Sub roles and permissions.
41    * </pre>
42    *
43    * <code>string pubsub_topic = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
44    *
45    * @return The pubsubTopic.
46    */
getPubsubTopic()47   java.lang.String getPubsubTopic();
48   /**
49    *
50    *
51    * <pre>
52    * Optional. The name of the Pub/Sub topic where budget related messages will
53    * be published, in the form `projects/{project_id}/topics/{topic_id}`.
54    * Updates are sent at regular intervals to the topic. The topic needs to be
55    * created before the budget is created; see
56    * https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
57    * for more details.
58    * Caller is expected to have
59    * `pubsub.topics.setIamPolicy` permission on the topic when it's set for a
60    * budget, otherwise, the API call will fail with PERMISSION_DENIED. See
61    * https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications
62    * for more details on Pub/Sub roles and permissions.
63    * </pre>
64    *
65    * <code>string pubsub_topic = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
66    *
67    * @return The bytes for pubsubTopic.
68    */
getPubsubTopicBytes()69   com.google.protobuf.ByteString getPubsubTopicBytes();
70 
71   /**
72    *
73    *
74    * <pre>
75    * Optional. Required when
76    * [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.pubsub_topic]
77    * is set. The schema version of the notification sent to
78    * [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.pubsub_topic].
79    * Only "1.0" is accepted. It represents the JSON schema as defined in
80    * https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
81    * </pre>
82    *
83    * <code>string schema_version = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
84    *
85    * @return The schemaVersion.
86    */
getSchemaVersion()87   java.lang.String getSchemaVersion();
88   /**
89    *
90    *
91    * <pre>
92    * Optional. Required when
93    * [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.pubsub_topic]
94    * is set. The schema version of the notification sent to
95    * [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.pubsub_topic].
96    * Only "1.0" is accepted. It represents the JSON schema as defined in
97    * https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
98    * </pre>
99    *
100    * <code>string schema_version = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
101    *
102    * @return The bytes for schemaVersion.
103    */
getSchemaVersionBytes()104   com.google.protobuf.ByteString getSchemaVersionBytes();
105 
106   /**
107    *
108    *
109    * <pre>
110    * Optional. Targets to send notifications to when a threshold is exceeded.
111    * This is in addition to default recipients who have billing account IAM
112    * roles. The value is the full REST resource name of a monitoring
113    * notification channel with the form
114    * `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
115    * channels are allowed. See
116    * https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
117    * for more details.
118    * </pre>
119    *
120    * <code>
121    * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
122    * </code>
123    *
124    * @return A list containing the monitoringNotificationChannels.
125    */
getMonitoringNotificationChannelsList()126   java.util.List<java.lang.String> getMonitoringNotificationChannelsList();
127   /**
128    *
129    *
130    * <pre>
131    * Optional. Targets to send notifications to when a threshold is exceeded.
132    * This is in addition to default recipients who have billing account IAM
133    * roles. The value is the full REST resource name of a monitoring
134    * notification channel with the form
135    * `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
136    * channels are allowed. See
137    * https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
138    * for more details.
139    * </pre>
140    *
141    * <code>
142    * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
143    * </code>
144    *
145    * @return The count of monitoringNotificationChannels.
146    */
getMonitoringNotificationChannelsCount()147   int getMonitoringNotificationChannelsCount();
148   /**
149    *
150    *
151    * <pre>
152    * Optional. Targets to send notifications to when a threshold is exceeded.
153    * This is in addition to default recipients who have billing account IAM
154    * roles. The value is the full REST resource name of a monitoring
155    * notification channel with the form
156    * `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
157    * channels are allowed. See
158    * https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
159    * for more details.
160    * </pre>
161    *
162    * <code>
163    * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
164    * </code>
165    *
166    * @param index The index of the element to return.
167    * @return The monitoringNotificationChannels at the given index.
168    */
getMonitoringNotificationChannels(int index)169   java.lang.String getMonitoringNotificationChannels(int index);
170   /**
171    *
172    *
173    * <pre>
174    * Optional. Targets to send notifications to when a threshold is exceeded.
175    * This is in addition to default recipients who have billing account IAM
176    * roles. The value is the full REST resource name of a monitoring
177    * notification channel with the form
178    * `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
179    * channels are allowed. See
180    * https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
181    * for more details.
182    * </pre>
183    *
184    * <code>
185    * repeated string monitoring_notification_channels = 3 [(.google.api.field_behavior) = OPTIONAL];
186    * </code>
187    *
188    * @param index The index of the value to return.
189    * @return The bytes of the monitoringNotificationChannels at the given index.
190    */
getMonitoringNotificationChannelsBytes(int index)191   com.google.protobuf.ByteString getMonitoringNotificationChannelsBytes(int index);
192 
193   /**
194    *
195    *
196    * <pre>
197    * Optional. When set to true, disables default notifications sent when a
198    * threshold is exceeded. Default notifications are sent to those with Billing
199    * Account Administrator and Billing Account User IAM roles for the target
200    * account.
201    * </pre>
202    *
203    * <code>bool disable_default_iam_recipients = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
204    *
205    * @return The disableDefaultIamRecipients.
206    */
getDisableDefaultIamRecipients()207   boolean getDisableDefaultIamRecipients();
208 }
209