google-cloud-billing-budgets-v1 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/README.md +3 -3
- data/lib/google/cloud/billing/budgets/v1/budget_model_pb.rb +27 -61
- data/lib/google/cloud/billing/budgets/v1/budget_service/client.rb +10 -10
- data/lib/google/cloud/billing/budgets/v1/budget_service/rest/client.rb +685 -0
- data/lib/google/cloud/billing/budgets/v1/budget_service/rest/service_stub.rb +347 -0
- data/lib/google/cloud/billing/budgets/v1/budget_service/rest.rb +55 -0
- data/lib/google/cloud/billing/budgets/v1/budget_service.rb +7 -1
- data/lib/google/cloud/billing/budgets/v1/budget_service_pb.rb +26 -24
- data/lib/google/cloud/billing/budgets/v1/rest.rb +39 -0
- data/lib/google/cloud/billing/budgets/v1/version.rb +1 -1
- data/lib/google/cloud/billing/budgets/v1.rb +7 -2
- data/proto_docs/google/api/client.rb +381 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/cloud/billing/budgets/v1/budget_model.rb +99 -40
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +0 -2
- data/proto_docs/google/protobuf/struct.rb +1 -1
- metadata +16 -8
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright 2022 Google LLC
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Api
|
|
22
|
+
# Required information for every language.
|
|
23
|
+
# @!attribute [rw] reference_docs_uri
|
|
24
|
+
# @return [::String]
|
|
25
|
+
# Link to automatically generated reference documentation. Example:
|
|
26
|
+
# https://cloud.google.com/nodejs/docs/reference/asset/latest
|
|
27
|
+
# @!attribute [rw] destinations
|
|
28
|
+
# @return [::Array<::Google::Api::ClientLibraryDestination>]
|
|
29
|
+
# The destination where API teams want this client library to be published.
|
|
30
|
+
class CommonLanguageSettings
|
|
31
|
+
include ::Google::Protobuf::MessageExts
|
|
32
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Details about how and where to publish client libraries.
|
|
36
|
+
# @!attribute [rw] version
|
|
37
|
+
# @return [::String]
|
|
38
|
+
# Version of the API to apply these settings to. This is the full protobuf
|
|
39
|
+
# package for the API, ending in the version element.
|
|
40
|
+
# Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
|
|
41
|
+
# @!attribute [rw] launch_stage
|
|
42
|
+
# @return [::Google::Api::LaunchStage]
|
|
43
|
+
# Launch stage of this version of the API.
|
|
44
|
+
# @!attribute [rw] rest_numeric_enums
|
|
45
|
+
# @return [::Boolean]
|
|
46
|
+
# When using transport=rest, the client request will encode enums as
|
|
47
|
+
# numbers rather than strings.
|
|
48
|
+
# @!attribute [rw] java_settings
|
|
49
|
+
# @return [::Google::Api::JavaSettings]
|
|
50
|
+
# Settings for legacy Java features, supported in the Service YAML.
|
|
51
|
+
# @!attribute [rw] cpp_settings
|
|
52
|
+
# @return [::Google::Api::CppSettings]
|
|
53
|
+
# Settings for C++ client libraries.
|
|
54
|
+
# @!attribute [rw] php_settings
|
|
55
|
+
# @return [::Google::Api::PhpSettings]
|
|
56
|
+
# Settings for PHP client libraries.
|
|
57
|
+
# @!attribute [rw] python_settings
|
|
58
|
+
# @return [::Google::Api::PythonSettings]
|
|
59
|
+
# Settings for Python client libraries.
|
|
60
|
+
# @!attribute [rw] node_settings
|
|
61
|
+
# @return [::Google::Api::NodeSettings]
|
|
62
|
+
# Settings for Node client libraries.
|
|
63
|
+
# @!attribute [rw] dotnet_settings
|
|
64
|
+
# @return [::Google::Api::DotnetSettings]
|
|
65
|
+
# Settings for .NET client libraries.
|
|
66
|
+
# @!attribute [rw] ruby_settings
|
|
67
|
+
# @return [::Google::Api::RubySettings]
|
|
68
|
+
# Settings for Ruby client libraries.
|
|
69
|
+
# @!attribute [rw] go_settings
|
|
70
|
+
# @return [::Google::Api::GoSettings]
|
|
71
|
+
# Settings for Go client libraries.
|
|
72
|
+
class ClientLibrarySettings
|
|
73
|
+
include ::Google::Protobuf::MessageExts
|
|
74
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# This message configures the settings for publishing [Google Cloud Client
|
|
78
|
+
# libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
|
|
79
|
+
# generated from the service config.
|
|
80
|
+
# @!attribute [rw] method_settings
|
|
81
|
+
# @return [::Array<::Google::Api::MethodSettings>]
|
|
82
|
+
# A list of API method settings, e.g. the behavior for methods that use the
|
|
83
|
+
# long-running operation pattern.
|
|
84
|
+
# @!attribute [rw] new_issue_uri
|
|
85
|
+
# @return [::String]
|
|
86
|
+
# Link to a *public* URI where users can report issues. Example:
|
|
87
|
+
# https://issuetracker.google.com/issues/new?component=190865&template=1161103
|
|
88
|
+
# @!attribute [rw] documentation_uri
|
|
89
|
+
# @return [::String]
|
|
90
|
+
# Link to product home page. Example:
|
|
91
|
+
# https://cloud.google.com/asset-inventory/docs/overview
|
|
92
|
+
# @!attribute [rw] api_short_name
|
|
93
|
+
# @return [::String]
|
|
94
|
+
# Used as a tracking tag when collecting data about the APIs developer
|
|
95
|
+
# relations artifacts like docs, packages delivered to package managers,
|
|
96
|
+
# etc. Example: "speech".
|
|
97
|
+
# @!attribute [rw] github_label
|
|
98
|
+
# @return [::String]
|
|
99
|
+
# GitHub label to apply to issues and pull requests opened for this API.
|
|
100
|
+
# @!attribute [rw] codeowner_github_teams
|
|
101
|
+
# @return [::Array<::String>]
|
|
102
|
+
# GitHub teams to be added to CODEOWNERS in the directory in GitHub
|
|
103
|
+
# containing source code for the client libraries for this API.
|
|
104
|
+
# @!attribute [rw] doc_tag_prefix
|
|
105
|
+
# @return [::String]
|
|
106
|
+
# A prefix used in sample code when demarking regions to be included in
|
|
107
|
+
# documentation.
|
|
108
|
+
# @!attribute [rw] organization
|
|
109
|
+
# @return [::Google::Api::ClientLibraryOrganization]
|
|
110
|
+
# For whom the client library is being published.
|
|
111
|
+
# @!attribute [rw] library_settings
|
|
112
|
+
# @return [::Array<::Google::Api::ClientLibrarySettings>]
|
|
113
|
+
# Client library settings. If the same version string appears multiple
|
|
114
|
+
# times in this list, then the last one wins. Settings from earlier
|
|
115
|
+
# settings with the same version string are discarded.
|
|
116
|
+
# @!attribute [rw] proto_reference_documentation_uri
|
|
117
|
+
# @return [::String]
|
|
118
|
+
# Optional link to proto reference documentation. Example:
|
|
119
|
+
# https://cloud.google.com/pubsub/lite/docs/reference/rpc
|
|
120
|
+
class Publishing
|
|
121
|
+
include ::Google::Protobuf::MessageExts
|
|
122
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Settings for Java client libraries.
|
|
126
|
+
# @!attribute [rw] library_package
|
|
127
|
+
# @return [::String]
|
|
128
|
+
# The package name to use in Java. Clobbers the java_package option
|
|
129
|
+
# set in the protobuf. This should be used **only** by APIs
|
|
130
|
+
# who have already set the language_settings.java.package_name" field
|
|
131
|
+
# in gapic.yaml. API teams should use the protobuf java_package option
|
|
132
|
+
# where possible.
|
|
133
|
+
#
|
|
134
|
+
# Example of a YAML configuration::
|
|
135
|
+
#
|
|
136
|
+
# publishing:
|
|
137
|
+
# java_settings:
|
|
138
|
+
# library_package: com.google.cloud.pubsub.v1
|
|
139
|
+
# @!attribute [rw] service_class_names
|
|
140
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
141
|
+
# Configure the Java class name to use instead of the service's for its
|
|
142
|
+
# corresponding generated GAPIC client. Keys are fully-qualified
|
|
143
|
+
# service names as they appear in the protobuf (including the full
|
|
144
|
+
# the language_settings.java.interface_names" field in gapic.yaml. API
|
|
145
|
+
# teams should otherwise use the service name as it appears in the
|
|
146
|
+
# protobuf.
|
|
147
|
+
#
|
|
148
|
+
# Example of a YAML configuration::
|
|
149
|
+
#
|
|
150
|
+
# publishing:
|
|
151
|
+
# java_settings:
|
|
152
|
+
# service_class_names:
|
|
153
|
+
# - google.pubsub.v1.Publisher: TopicAdmin
|
|
154
|
+
# - google.pubsub.v1.Subscriber: SubscriptionAdmin
|
|
155
|
+
# @!attribute [rw] common
|
|
156
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
157
|
+
# Some settings.
|
|
158
|
+
class JavaSettings
|
|
159
|
+
include ::Google::Protobuf::MessageExts
|
|
160
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
161
|
+
|
|
162
|
+
# @!attribute [rw] key
|
|
163
|
+
# @return [::String]
|
|
164
|
+
# @!attribute [rw] value
|
|
165
|
+
# @return [::String]
|
|
166
|
+
class ServiceClassNamesEntry
|
|
167
|
+
include ::Google::Protobuf::MessageExts
|
|
168
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Settings for C++ client libraries.
|
|
173
|
+
# @!attribute [rw] common
|
|
174
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
175
|
+
# Some settings.
|
|
176
|
+
class CppSettings
|
|
177
|
+
include ::Google::Protobuf::MessageExts
|
|
178
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# Settings for Php client libraries.
|
|
182
|
+
# @!attribute [rw] common
|
|
183
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
184
|
+
# Some settings.
|
|
185
|
+
class PhpSettings
|
|
186
|
+
include ::Google::Protobuf::MessageExts
|
|
187
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Settings for Python client libraries.
|
|
191
|
+
# @!attribute [rw] common
|
|
192
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
193
|
+
# Some settings.
|
|
194
|
+
class PythonSettings
|
|
195
|
+
include ::Google::Protobuf::MessageExts
|
|
196
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# Settings for Node client libraries.
|
|
200
|
+
# @!attribute [rw] common
|
|
201
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
202
|
+
# Some settings.
|
|
203
|
+
class NodeSettings
|
|
204
|
+
include ::Google::Protobuf::MessageExts
|
|
205
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Settings for Dotnet client libraries.
|
|
209
|
+
# @!attribute [rw] common
|
|
210
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
211
|
+
# Some settings.
|
|
212
|
+
# @!attribute [rw] renamed_services
|
|
213
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
214
|
+
# Map from original service names to renamed versions.
|
|
215
|
+
# This is used when the default generated types
|
|
216
|
+
# would cause a naming conflict. (Neither name is
|
|
217
|
+
# fully-qualified.)
|
|
218
|
+
# Example: Subscriber to SubscriberServiceApi.
|
|
219
|
+
# @!attribute [rw] renamed_resources
|
|
220
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
221
|
+
# Map from full resource types to the effective short name
|
|
222
|
+
# for the resource. This is used when otherwise resource
|
|
223
|
+
# named from different services would cause naming collisions.
|
|
224
|
+
# Example entry:
|
|
225
|
+
# "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
|
|
226
|
+
# @!attribute [rw] ignored_resources
|
|
227
|
+
# @return [::Array<::String>]
|
|
228
|
+
# List of full resource types to ignore during generation.
|
|
229
|
+
# This is typically used for API-specific Location resources,
|
|
230
|
+
# which should be handled by the generator as if they were actually
|
|
231
|
+
# the common Location resources.
|
|
232
|
+
# Example entry: "documentai.googleapis.com/Location"
|
|
233
|
+
# @!attribute [rw] forced_namespace_aliases
|
|
234
|
+
# @return [::Array<::String>]
|
|
235
|
+
# Namespaces which must be aliased in snippets due to
|
|
236
|
+
# a known (but non-generator-predictable) naming collision
|
|
237
|
+
# @!attribute [rw] handwritten_signatures
|
|
238
|
+
# @return [::Array<::String>]
|
|
239
|
+
# Method signatures (in the form "service.method(signature)")
|
|
240
|
+
# which are provided separately, so shouldn't be generated.
|
|
241
|
+
# Snippets *calling* these methods are still generated, however.
|
|
242
|
+
class DotnetSettings
|
|
243
|
+
include ::Google::Protobuf::MessageExts
|
|
244
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
245
|
+
|
|
246
|
+
# @!attribute [rw] key
|
|
247
|
+
# @return [::String]
|
|
248
|
+
# @!attribute [rw] value
|
|
249
|
+
# @return [::String]
|
|
250
|
+
class RenamedServicesEntry
|
|
251
|
+
include ::Google::Protobuf::MessageExts
|
|
252
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
# @!attribute [rw] key
|
|
256
|
+
# @return [::String]
|
|
257
|
+
# @!attribute [rw] value
|
|
258
|
+
# @return [::String]
|
|
259
|
+
class RenamedResourcesEntry
|
|
260
|
+
include ::Google::Protobuf::MessageExts
|
|
261
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
262
|
+
end
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
# Settings for Ruby client libraries.
|
|
266
|
+
# @!attribute [rw] common
|
|
267
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
268
|
+
# Some settings.
|
|
269
|
+
class RubySettings
|
|
270
|
+
include ::Google::Protobuf::MessageExts
|
|
271
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
# Settings for Go client libraries.
|
|
275
|
+
# @!attribute [rw] common
|
|
276
|
+
# @return [::Google::Api::CommonLanguageSettings]
|
|
277
|
+
# Some settings.
|
|
278
|
+
class GoSettings
|
|
279
|
+
include ::Google::Protobuf::MessageExts
|
|
280
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# Describes the generator configuration for a method.
|
|
284
|
+
# @!attribute [rw] selector
|
|
285
|
+
# @return [::String]
|
|
286
|
+
# The fully qualified name of the method, for which the options below apply.
|
|
287
|
+
# This is used to find the method to apply the options.
|
|
288
|
+
# @!attribute [rw] long_running
|
|
289
|
+
# @return [::Google::Api::MethodSettings::LongRunning]
|
|
290
|
+
# Describes settings to use for long-running operations when generating
|
|
291
|
+
# API methods for RPCs. Complements RPCs that use the annotations in
|
|
292
|
+
# google/longrunning/operations.proto.
|
|
293
|
+
#
|
|
294
|
+
# Example of a YAML configuration::
|
|
295
|
+
#
|
|
296
|
+
# publishing:
|
|
297
|
+
# method_settings:
|
|
298
|
+
# - selector: google.cloud.speech.v2.Speech.BatchRecognize
|
|
299
|
+
# long_running:
|
|
300
|
+
# initial_poll_delay:
|
|
301
|
+
# seconds: 60 # 1 minute
|
|
302
|
+
# poll_delay_multiplier: 1.5
|
|
303
|
+
# max_poll_delay:
|
|
304
|
+
# seconds: 360 # 6 minutes
|
|
305
|
+
# total_poll_timeout:
|
|
306
|
+
# seconds: 54000 # 90 minutes
|
|
307
|
+
class MethodSettings
|
|
308
|
+
include ::Google::Protobuf::MessageExts
|
|
309
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
310
|
+
|
|
311
|
+
# Describes settings to use when generating API methods that use the
|
|
312
|
+
# long-running operation pattern.
|
|
313
|
+
# All default values below are from those used in the client library
|
|
314
|
+
# generators (e.g.
|
|
315
|
+
# [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
|
|
316
|
+
# @!attribute [rw] initial_poll_delay
|
|
317
|
+
# @return [::Google::Protobuf::Duration]
|
|
318
|
+
# Initial delay after which the first poll request will be made.
|
|
319
|
+
# Default value: 5 seconds.
|
|
320
|
+
# @!attribute [rw] poll_delay_multiplier
|
|
321
|
+
# @return [::Float]
|
|
322
|
+
# Multiplier to gradually increase delay between subsequent polls until it
|
|
323
|
+
# reaches max_poll_delay.
|
|
324
|
+
# Default value: 1.5.
|
|
325
|
+
# @!attribute [rw] max_poll_delay
|
|
326
|
+
# @return [::Google::Protobuf::Duration]
|
|
327
|
+
# Maximum time between two subsequent poll requests.
|
|
328
|
+
# Default value: 45 seconds.
|
|
329
|
+
# @!attribute [rw] total_poll_timeout
|
|
330
|
+
# @return [::Google::Protobuf::Duration]
|
|
331
|
+
# Total polling timeout.
|
|
332
|
+
# Default value: 5 minutes.
|
|
333
|
+
class LongRunning
|
|
334
|
+
include ::Google::Protobuf::MessageExts
|
|
335
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# The organization for which the client libraries are being published.
|
|
340
|
+
# Affects the url where generated docs are published, etc.
|
|
341
|
+
module ClientLibraryOrganization
|
|
342
|
+
# Not useful.
|
|
343
|
+
CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
|
|
344
|
+
|
|
345
|
+
# Google Cloud Platform Org.
|
|
346
|
+
CLOUD = 1
|
|
347
|
+
|
|
348
|
+
# Ads (Advertising) Org.
|
|
349
|
+
ADS = 2
|
|
350
|
+
|
|
351
|
+
# Photos Org.
|
|
352
|
+
PHOTOS = 3
|
|
353
|
+
|
|
354
|
+
# Street View Org.
|
|
355
|
+
STREET_VIEW = 4
|
|
356
|
+
|
|
357
|
+
# Shopping Org.
|
|
358
|
+
SHOPPING = 5
|
|
359
|
+
|
|
360
|
+
# Geo Org.
|
|
361
|
+
GEO = 6
|
|
362
|
+
|
|
363
|
+
# Generative AI - https://developers.generativeai.google
|
|
364
|
+
GENERATIVE_AI = 7
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# To where should client libraries be published?
|
|
368
|
+
module ClientLibraryDestination
|
|
369
|
+
# Client libraries will neither be generated nor published to package
|
|
370
|
+
# managers.
|
|
371
|
+
CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
|
|
372
|
+
|
|
373
|
+
# Generate the client library in a repo under github.com/googleapis,
|
|
374
|
+
# but don't publish it to package managers.
|
|
375
|
+
GITHUB = 10
|
|
376
|
+
|
|
377
|
+
# Publish the library to package managers like nuget.org and npmjs.com.
|
|
378
|
+
PACKAGE_MANAGER = 20
|
|
379
|
+
end
|
|
380
|
+
end
|
|
381
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright 2022 Google LLC
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Api
|
|
22
|
+
# The launch stage as defined by [Google Cloud Platform
|
|
23
|
+
# Launch Stages](https://cloud.google.com/terms/launch-stages).
|
|
24
|
+
module LaunchStage
|
|
25
|
+
# Do not use this default value.
|
|
26
|
+
LAUNCH_STAGE_UNSPECIFIED = 0
|
|
27
|
+
|
|
28
|
+
# The feature is not yet implemented. Users can not use it.
|
|
29
|
+
UNIMPLEMENTED = 6
|
|
30
|
+
|
|
31
|
+
# Prelaunch features are hidden from users and are only visible internally.
|
|
32
|
+
PRELAUNCH = 7
|
|
33
|
+
|
|
34
|
+
# Early Access features are limited to a closed group of testers. To use
|
|
35
|
+
# these features, you must sign up in advance and sign a Trusted Tester
|
|
36
|
+
# agreement (which includes confidentiality provisions). These features may
|
|
37
|
+
# be unstable, changed in backward-incompatible ways, and are not
|
|
38
|
+
# guaranteed to be released.
|
|
39
|
+
EARLY_ACCESS = 1
|
|
40
|
+
|
|
41
|
+
# Alpha is a limited availability test for releases before they are cleared
|
|
42
|
+
# for widespread use. By Alpha, all significant design issues are resolved
|
|
43
|
+
# and we are in the process of verifying functionality. Alpha customers
|
|
44
|
+
# need to apply for access, agree to applicable terms, and have their
|
|
45
|
+
# projects allowlisted. Alpha releases don't have to be feature complete,
|
|
46
|
+
# no SLAs are provided, and there are no technical support obligations, but
|
|
47
|
+
# they will be far enough along that customers can actually use them in
|
|
48
|
+
# test environments or for limited-use tests -- just like they would in
|
|
49
|
+
# normal production cases.
|
|
50
|
+
ALPHA = 2
|
|
51
|
+
|
|
52
|
+
# Beta is the point at which we are ready to open a release for any
|
|
53
|
+
# customer to use. There are no SLA or technical support obligations in a
|
|
54
|
+
# Beta release. Products will be complete from a feature perspective, but
|
|
55
|
+
# may have some open outstanding issues. Beta releases are suitable for
|
|
56
|
+
# limited production use cases.
|
|
57
|
+
BETA = 3
|
|
58
|
+
|
|
59
|
+
# GA features are open to all developers and are considered stable and
|
|
60
|
+
# fully qualified for production use.
|
|
61
|
+
GA = 4
|
|
62
|
+
|
|
63
|
+
# Deprecated features are scheduled to be shut down and removed. For more
|
|
64
|
+
# information, see the "Deprecation Policy" section of our [Terms of
|
|
65
|
+
# Service](https://cloud.google.com/terms/)
|
|
66
|
+
# and the [Google Cloud Platform Subject to the Deprecation
|
|
67
|
+
# Policy](https://cloud.google.com/terms/deprecation) documentation.
|
|
68
|
+
DEPRECATED = 5
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -48,6 +48,10 @@ module Google
|
|
|
48
48
|
# @return [::Array<::Google::Cloud::Billing::Budgets::V1::ThresholdRule>]
|
|
49
49
|
# Optional. Rules that trigger alerts (notifications of thresholds
|
|
50
50
|
# being crossed) when spend exceeds the specified percentages of the budget.
|
|
51
|
+
#
|
|
52
|
+
# Optional for `pubsubTopic` notifications.
|
|
53
|
+
#
|
|
54
|
+
# Required if using email notifications.
|
|
51
55
|
# @!attribute [rw] notifications_rule
|
|
52
56
|
# @return [::Google::Cloud::Billing::Budgets::V1::NotificationsRule]
|
|
53
57
|
# Optional. Rules to apply to notifications sent based on budget spend and
|
|
@@ -56,7 +60,7 @@ module Google
|
|
|
56
60
|
# @return [::String]
|
|
57
61
|
# Optional. Etag to validate that the object is unchanged for a
|
|
58
62
|
# read-modify-write operation.
|
|
59
|
-
# An empty etag
|
|
63
|
+
# An empty etag causes an update to overwrite other changes.
|
|
60
64
|
class Budget
|
|
61
65
|
include ::Google::Protobuf::MessageExts
|
|
62
66
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -86,8 +90,6 @@ module Google
|
|
|
86
90
|
# {::Google::Cloud::Billing::Budgets::V1::Filter#calendar_period Filter.calendar_period}
|
|
87
91
|
# spend. At this time, the amount is automatically 100% of the last calendar
|
|
88
92
|
# period's spend; that is, there are no other options yet.
|
|
89
|
-
# Future configuration options will be described here (for example, configuring
|
|
90
|
-
# a percentage of last period's spend).
|
|
91
93
|
# LastPeriodAmount cannot be set for a budget configured with
|
|
92
94
|
# a
|
|
93
95
|
# {::Google::Cloud::Billing::Budgets::V1::Filter#custom_period Filter.custom_period}.
|
|
@@ -96,13 +98,28 @@ module Google
|
|
|
96
98
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
97
99
|
end
|
|
98
100
|
|
|
99
|
-
# ThresholdRule contains
|
|
100
|
-
#
|
|
101
|
-
# spend
|
|
102
|
-
#
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
#
|
|
101
|
+
# ThresholdRule contains the definition of a threshold. Threshold rules define
|
|
102
|
+
# the triggering events used to generate a budget notification email. When a
|
|
103
|
+
# threshold is crossed (spend exceeds the specified percentages of the
|
|
104
|
+
# budget), budget alert emails are sent to the email recipients you specify
|
|
105
|
+
# in the
|
|
106
|
+
# [NotificationsRule](#notificationsrule).
|
|
107
|
+
#
|
|
108
|
+
# Threshold rules also affect the fields included in the
|
|
109
|
+
# [JSON data
|
|
110
|
+
# object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format)
|
|
111
|
+
# sent to a Pub/Sub topic.
|
|
112
|
+
#
|
|
113
|
+
# Threshold rules are _required_ if using email notifications.
|
|
114
|
+
#
|
|
115
|
+
# Threshold rules are _optional_ if only setting a
|
|
116
|
+
# [`pubsubTopic` NotificationsRule](#NotificationsRule),
|
|
117
|
+
# unless you want your JSON data object to include data about the thresholds
|
|
118
|
+
# you set.
|
|
119
|
+
#
|
|
120
|
+
# For more information, see
|
|
121
|
+
# [set budget threshold rules and
|
|
122
|
+
# actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions).
|
|
106
123
|
# @!attribute [rw] threshold_percent
|
|
107
124
|
# @return [::Float]
|
|
108
125
|
# Required. Send an alert when this threshold is exceeded.
|
|
@@ -138,17 +155,32 @@ module Google
|
|
|
138
155
|
# and thresholds.
|
|
139
156
|
# @!attribute [rw] pubsub_topic
|
|
140
157
|
# @return [::String]
|
|
141
|
-
# Optional. The name of the Pub/Sub topic where budget
|
|
142
|
-
#
|
|
143
|
-
#
|
|
144
|
-
#
|
|
145
|
-
#
|
|
146
|
-
#
|
|
147
|
-
#
|
|
148
|
-
#
|
|
149
|
-
#
|
|
150
|
-
#
|
|
151
|
-
#
|
|
158
|
+
# Optional. The name of the Pub/Sub topic where budget-related messages are
|
|
159
|
+
# published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
|
|
160
|
+
# are sent to the topic at regular intervals; the timing of the updates is
|
|
161
|
+
# not dependent on the [threshold rules](#thresholdrule) you've set.
|
|
162
|
+
#
|
|
163
|
+
# Note that if you want your
|
|
164
|
+
# [Pub/Sub JSON
|
|
165
|
+
# object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format)
|
|
166
|
+
# to contain data for `alertThresholdExceeded`, you need at least one
|
|
167
|
+
# [alert threshold rule](#thresholdrule). When you set threshold rules, you
|
|
168
|
+
# must also enable at least one of the email notification options, either
|
|
169
|
+
# using the default IAM recipients or Cloud Monitoring email notification
|
|
170
|
+
# channels.
|
|
171
|
+
#
|
|
172
|
+
# To use Pub/Sub topics with budgets, you must do the following:
|
|
173
|
+
#
|
|
174
|
+
# 1. Create the Pub/Sub topic
|
|
175
|
+
# before connecting it to your budget. For guidance, see
|
|
176
|
+
# [Manage programmatic budget alert
|
|
177
|
+
# notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications).
|
|
178
|
+
#
|
|
179
|
+
# 2. Grant the API caller the `pubsub.topics.setIamPolicy` permission on
|
|
180
|
+
# the Pub/Sub topic. If not set, the API call fails with PERMISSION_DENIED.
|
|
181
|
+
# For additional details on Pub/Sub roles and permissions, see
|
|
182
|
+
# [Permissions required for this
|
|
183
|
+
# task](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task).
|
|
152
184
|
# @!attribute [rw] schema_version
|
|
153
185
|
# @return [::String]
|
|
154
186
|
# Optional. Required when
|
|
@@ -159,14 +191,28 @@ module Google
|
|
|
159
191
|
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
|
|
160
192
|
# @!attribute [rw] monitoring_notification_channels
|
|
161
193
|
# @return [::Array<::String>]
|
|
162
|
-
# Optional.
|
|
163
|
-
# This is in addition to
|
|
164
|
-
#
|
|
165
|
-
# notification channel with
|
|
166
|
-
# `projects/{project_id}/notificationChannels/{channel_id}`. A
|
|
167
|
-
#
|
|
168
|
-
#
|
|
169
|
-
#
|
|
194
|
+
# Optional. Email targets to send notifications to when a threshold is
|
|
195
|
+
# exceeded. This is in addition to the `DefaultIamRecipients` who receive
|
|
196
|
+
# alert emails based on their billing account IAM role. The value is the full
|
|
197
|
+
# REST resource name of a Cloud Monitoring email notification channel with
|
|
198
|
+
# the form `projects/{project_id}/notificationChannels/{channel_id}`. A
|
|
199
|
+
# maximum of 5 email notifications are allowed.
|
|
200
|
+
#
|
|
201
|
+
# To customize budget alert email recipients with monitoring notification
|
|
202
|
+
# channels, you _must create the monitoring notification channels before
|
|
203
|
+
# you link them to a budget_. For guidance on setting up notification
|
|
204
|
+
# channels to use with budgets, see
|
|
205
|
+
# [Customize budget alert email
|
|
206
|
+
# recipients](https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients).
|
|
207
|
+
#
|
|
208
|
+
# For Cloud Billing budget alerts, you _must use email notification
|
|
209
|
+
# channels_. The other types of notification channels are _not_
|
|
210
|
+
# supported, such as Slack, SMS, or PagerDuty. If you want to
|
|
211
|
+
# [send budget notifications to
|
|
212
|
+
# Slack](https://cloud.google.com/billing/docs/how-to/notify#send_notifications_to_slack),
|
|
213
|
+
# use a pubsubTopic and configure
|
|
214
|
+
# [programmatic
|
|
215
|
+
# notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications).
|
|
170
216
|
# @!attribute [rw] disable_default_iam_recipients
|
|
171
217
|
# @return [::Boolean]
|
|
172
218
|
# Optional. When set to true, disables default notifications sent when a
|
|
@@ -183,9 +229,15 @@ module Google
|
|
|
183
229
|
# @return [::Array<::String>]
|
|
184
230
|
# Optional. A set of projects of the form `projects/{project}`,
|
|
185
231
|
# specifying that usage from only this set of projects should be
|
|
186
|
-
# included in the budget. If omitted, the report
|
|
232
|
+
# included in the budget. If omitted, the report includes all usage for
|
|
187
233
|
# the billing account, regardless of which project the usage occurred on.
|
|
188
|
-
#
|
|
234
|
+
# @!attribute [rw] resource_ancestors
|
|
235
|
+
# @return [::Array<::String>]
|
|
236
|
+
# Optional. A set of folder and organization names of the form
|
|
237
|
+
# `folders/{folderId}` or `organizations/{organizationId}`, specifying that
|
|
238
|
+
# usage from only this set of folders and organizations should be included in
|
|
239
|
+
# the budget. If omitted, the report includes all usage for all
|
|
240
|
+
# organizations, regardless of which organization the usage occurred on.
|
|
189
241
|
# @!attribute [rw] credit_types
|
|
190
242
|
# @return [::Array<::String>]
|
|
191
243
|
# Optional. If
|
|
@@ -205,7 +257,7 @@ module Google
|
|
|
205
257
|
# @return [::Array<::String>]
|
|
206
258
|
# Optional. A set of services of the form `services/{service_id}`,
|
|
207
259
|
# specifying that usage from only this set of services should be
|
|
208
|
-
# included in the budget. If omitted, the report
|
|
260
|
+
# included in the budget. If omitted, the report includes usage for
|
|
209
261
|
# all the services.
|
|
210
262
|
# The service names are available through the Catalog API:
|
|
211
263
|
# https://cloud.google.com/billing/v1/how-tos/catalog-api.
|
|
@@ -214,21 +266,26 @@ module Google
|
|
|
214
266
|
# Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
|
|
215
267
|
# specifying that usage from only this set of subaccounts should be included
|
|
216
268
|
# in the budget. If a subaccount is set to the name of the parent account,
|
|
217
|
-
# usage from the parent account
|
|
218
|
-
# the report
|
|
269
|
+
# usage from the parent account is included. If the field is omitted,
|
|
270
|
+
# the report includes usage from the parent account and all subaccounts,
|
|
219
271
|
# if they exist.
|
|
220
272
|
# @!attribute [rw] labels
|
|
221
273
|
# @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::ListValue}]
|
|
222
274
|
# Optional. A single label and value pair specifying that usage from only
|
|
223
|
-
# this set of labeled resources should be included in the budget.
|
|
224
|
-
#
|
|
225
|
-
#
|
|
275
|
+
# this set of labeled resources should be included in the budget. If omitted,
|
|
276
|
+
# the report includes all labeled and unlabeled usage.
|
|
277
|
+
#
|
|
278
|
+
# An object containing a single `"key": value` pair. Example: `{ "name":
|
|
279
|
+
# "wrench" }`.
|
|
280
|
+
#
|
|
281
|
+
# _Currently, multiple entries or multiple values per entry are not
|
|
282
|
+
# allowed._
|
|
226
283
|
# @!attribute [rw] calendar_period
|
|
227
284
|
# @return [::Google::Cloud::Billing::Budgets::V1::CalendarPeriod]
|
|
228
285
|
# Optional. Specifies to track usage for recurring calendar period.
|
|
229
|
-
# For example, assume that CalendarPeriod.QUARTER is set. The budget
|
|
230
|
-
#
|
|
231
|
-
# April, May, June. After that, it
|
|
286
|
+
# For example, assume that CalendarPeriod.QUARTER is set. The budget
|
|
287
|
+
# tracks usage from April 1 to June 30, when the current calendar month is
|
|
288
|
+
# April, May, June. After that, it tracks usage from July 1 to
|
|
232
289
|
# September 30 when the current calendar month is July, August, September,
|
|
233
290
|
# so on.
|
|
234
291
|
# @!attribute [rw] custom_period
|
|
@@ -291,6 +348,8 @@ module Google
|
|
|
291
348
|
# `CalendarPeriod`". All calendar times begin at 12 AM US and Canadian
|
|
292
349
|
# Pacific Time (UTC-8).
|
|
293
350
|
module CalendarPeriod
|
|
351
|
+
# Calendar period is unset. This is the default if the budget is for a
|
|
352
|
+
# custom time period (CustomPeriod).
|
|
294
353
|
CALENDAR_PERIOD_UNSPECIFIED = 0
|
|
295
354
|
|
|
296
355
|
# A month. Month starts on the first day of each month, such as January 1,
|