google-cloud-billing-budgets-v1 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e791480fef306bc42b45c6f54581e97cbffbba678d72e38053f18ab974ef029b
4
- data.tar.gz: 7ce2909b8309a6abc78c0b454c74e7b7fa2d0ee47b925339b21106cfcf695573
3
+ metadata.gz: 4e56f8a9d4e83db16a52f731d019545a524b80393f1039501148ba4e6ba7b452
4
+ data.tar.gz: 846bf279ab4cb52418e6b2ccf4e5df4f29d0eb807eb531a2ac08e11ee11d4eb5
5
5
  SHA512:
6
- metadata.gz: 881be401b0a02dbee1ff52a274aff4e79092dc33c40368092aa968f5778b756b33fc03505a0eeeef9def9c15213ec6eaf935c9e5bb546cb63d84319de6508817
7
- data.tar.gz: ab032faa23d0f21129b34d4e9d0179d48f0ece2609fa8b923eee53df12d53ded53808f653ba25d796e981405c5fd1b1cc4549a8ebfa6077ed1990ebbc8624d87
6
+ metadata.gz: 479f1dcee8336e2b812dca1a14a66c930ade34a914b08a3b859e1646df46cea0da18970c61f2eb66bcdabd0de9fc07a7f056d9142bc1243f35ca8aae7e54b208
7
+ data.tar.gz: f29930ab38d49b4fff7e3f66b9fd3614ed207955db81fac2130d79e57460b103ec4b93257d9b210621267a19164887acde8e2c32ade391f83c792e0638172d9d
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/billing/docs/how-to/budget-api-overview)
44
44
  for general usage information.
45
45
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/billing/budgets/v1"
57
76
  require "logger"
58
77
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
78
+ client = ::Google::Cloud::Billing::Budgets::V1::BudgetService::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
@@ -181,8 +181,28 @@ module Google
181
181
  universe_domain: @config.universe_domain,
182
182
  channel_args: @config.channel_args,
183
183
  interceptors: @config.interceptors,
184
- channel_pool_config: @config.channel_pool
184
+ channel_pool_config: @config.channel_pool,
185
+ logger: @config.logger
185
186
  )
187
+
188
+ @budget_service_stub.stub_logger&.info do |entry|
189
+ entry.set_system_name
190
+ entry.set_service
191
+ entry.message = "Created client for #{entry.service}"
192
+ entry.set_credentials_fields credentials
193
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
194
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
195
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
196
+ end
197
+ end
198
+
199
+ ##
200
+ # The logger used for request/response debug logging.
201
+ #
202
+ # @return [Logger]
203
+ #
204
+ def logger
205
+ @budget_service_stub.logger
186
206
  end
187
207
 
188
208
  # Service calls
@@ -272,7 +292,6 @@ module Google
272
292
 
273
293
  @budget_service_stub.call_rpc :create_budget, request, options: options do |response, operation|
274
294
  yield response, operation if block_given?
275
- return response
276
295
  end
277
296
  rescue ::GRPC::BadStatus => e
278
297
  raise ::Google::Cloud::Error.from_error(e)
@@ -370,7 +389,6 @@ module Google
370
389
 
371
390
  @budget_service_stub.call_rpc :update_budget, request, options: options do |response, operation|
372
391
  yield response, operation if block_given?
373
- return response
374
392
  end
375
393
  rescue ::GRPC::BadStatus => e
376
394
  raise ::Google::Cloud::Error.from_error(e)
@@ -462,7 +480,6 @@ module Google
462
480
 
463
481
  @budget_service_stub.call_rpc :get_budget, request, options: options do |response, operation|
464
482
  yield response, operation if block_given?
465
- return response
466
483
  end
467
484
  rescue ::GRPC::BadStatus => e
468
485
  raise ::Google::Cloud::Error.from_error(e)
@@ -573,7 +590,7 @@ module Google
573
590
  @budget_service_stub.call_rpc :list_budgets, request, options: options do |response, operation|
574
591
  response = ::Gapic::PagedEnumerable.new @budget_service_stub, :list_budgets, request, response, operation, options
575
592
  yield response, operation if block_given?
576
- return response
593
+ throw :response, response
577
594
  end
578
595
  rescue ::GRPC::BadStatus => e
579
596
  raise ::Google::Cloud::Error.from_error(e)
@@ -660,7 +677,6 @@ module Google
660
677
 
661
678
  @budget_service_stub.call_rpc :delete_budget, request, options: options do |response, operation|
662
679
  yield response, operation if block_given?
663
- return response
664
680
  end
665
681
  rescue ::GRPC::BadStatus => e
666
682
  raise ::Google::Cloud::Error.from_error(e)
@@ -749,6 +765,11 @@ module Google
749
765
  # default endpoint URL. The default value of nil uses the environment
750
766
  # universe (usually the default "googleapis.com" universe).
751
767
  # @return [::String,nil]
768
+ # @!attribute [rw] logger
769
+ # A custom logger to use for request/response debug logging, or the value
770
+ # `:default` (the default) to construct a default logger, or `nil` to
771
+ # explicitly disable logging.
772
+ # @return [::Logger,:default,nil]
752
773
  #
753
774
  class Configuration
754
775
  extend ::Gapic::Config
@@ -773,6 +794,7 @@ module Google
773
794
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
774
795
  config_attr :quota_project, nil, ::String, nil
775
796
  config_attr :universe_domain, nil, ::String, nil
797
+ config_attr :logger, :default, ::Logger, nil, :default
776
798
 
777
799
  # @private
778
800
  def initialize parent_config = nil
@@ -174,8 +174,28 @@ module Google
174
174
  endpoint: @config.endpoint,
175
175
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
176
176
  universe_domain: @config.universe_domain,
177
- credentials: credentials
177
+ credentials: credentials,
178
+ logger: @config.logger
178
179
  )
180
+
181
+ @budget_service_stub.logger(stub: true)&.info do |entry|
182
+ entry.set_system_name
183
+ entry.set_service
184
+ entry.message = "Created client for #{entry.service}"
185
+ entry.set_credentials_fields credentials
186
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
187
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
188
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
189
+ end
190
+ end
191
+
192
+ ##
193
+ # The logger used for request/response debug logging.
194
+ #
195
+ # @return [Logger]
196
+ #
197
+ def logger
198
+ @budget_service_stub.logger
179
199
  end
180
200
 
181
201
  # Service calls
@@ -258,7 +278,6 @@ module Google
258
278
 
259
279
  @budget_service_stub.create_budget request, options do |result, operation|
260
280
  yield result, operation if block_given?
261
- return result
262
281
  end
263
282
  rescue ::Gapic::Rest::Error => e
264
283
  raise ::Google::Cloud::Error.from_error(e)
@@ -349,7 +368,6 @@ module Google
349
368
 
350
369
  @budget_service_stub.update_budget request, options do |result, operation|
351
370
  yield result, operation if block_given?
352
- return result
353
371
  end
354
372
  rescue ::Gapic::Rest::Error => e
355
373
  raise ::Google::Cloud::Error.from_error(e)
@@ -434,7 +452,6 @@ module Google
434
452
 
435
453
  @budget_service_stub.get_budget request, options do |result, operation|
436
454
  yield result, operation if block_given?
437
- return result
438
455
  end
439
456
  rescue ::Gapic::Rest::Error => e
440
457
  raise ::Google::Cloud::Error.from_error(e)
@@ -538,7 +555,7 @@ module Google
538
555
  @budget_service_stub.list_budgets request, options do |result, operation|
539
556
  result = ::Gapic::Rest::PagedEnumerable.new @budget_service_stub, :list_budgets, "budgets", request, result, options
540
557
  yield result, operation if block_given?
541
- return result
558
+ throw :response, result
542
559
  end
543
560
  rescue ::Gapic::Rest::Error => e
544
561
  raise ::Google::Cloud::Error.from_error(e)
@@ -618,7 +635,6 @@ module Google
618
635
 
619
636
  @budget_service_stub.delete_budget request, options do |result, operation|
620
637
  yield result, operation if block_given?
621
- return result
622
638
  end
623
639
  rescue ::Gapic::Rest::Error => e
624
640
  raise ::Google::Cloud::Error.from_error(e)
@@ -698,6 +714,11 @@ module Google
698
714
  # default endpoint URL. The default value of nil uses the environment
699
715
  # universe (usually the default "googleapis.com" universe).
700
716
  # @return [::String,nil]
717
+ # @!attribute [rw] logger
718
+ # A custom logger to use for request/response debug logging, or the value
719
+ # `:default` (the default) to construct a default logger, or `nil` to
720
+ # explicitly disable logging.
721
+ # @return [::Logger,:default,nil]
701
722
  #
702
723
  class Configuration
703
724
  extend ::Gapic::Config
@@ -719,6 +740,7 @@ module Google
719
740
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
720
741
  config_attr :quota_project, nil, ::String, nil
721
742
  config_attr :universe_domain, nil, ::String, nil
743
+ config_attr :logger, :default, ::Logger, nil, :default
722
744
 
723
745
  # @private
724
746
  def initialize parent_config = nil
@@ -31,7 +31,8 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # @private
35
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
36
  # These require statements are intentionally placed here to initialize
36
37
  # the REST modules only when it's required.
37
38
  require "gapic/rest"
@@ -41,7 +42,9 @@ module Google
41
42
  universe_domain: universe_domain,
42
43
  credentials: credentials,
43
44
  numeric_enums: true,
44
- raise_faraday_errors: false
45
+ service_name: self.class,
46
+ raise_faraday_errors: false,
47
+ logger: logger
45
48
  end
46
49
 
47
50
  ##
@@ -62,6 +65,15 @@ module Google
62
65
  @client_stub.endpoint
63
66
  end
64
67
 
68
+ ##
69
+ # The logger used for request/response debug logging.
70
+ #
71
+ # @return [Logger]
72
+ #
73
+ def logger stub: false
74
+ stub ? @client_stub.stub_logger : @client_stub.logger
75
+ end
76
+
65
77
  ##
66
78
  # Baseline implementation for the create_budget REST call
67
79
  #
@@ -88,16 +100,18 @@ module Google
88
100
 
89
101
  response = @client_stub.make_http_request(
90
102
  verb,
91
- uri: uri,
92
- body: body || "",
93
- params: query_string_params,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ method_name: "create_budget",
94
107
  options: options
95
108
  )
96
109
  operation = ::Gapic::Rest::TransportOperation.new response
97
110
  result = ::Google::Cloud::Billing::Budgets::V1::Budget.decode_json response.body, ignore_unknown_fields: true
98
-
99
- yield result, operation if block_given?
100
- result
111
+ catch :response do
112
+ yield result, operation if block_given?
113
+ result
114
+ end
101
115
  end
102
116
 
103
117
  ##
@@ -126,16 +140,18 @@ module Google
126
140
 
127
141
  response = @client_stub.make_http_request(
128
142
  verb,
129
- uri: uri,
130
- body: body || "",
131
- params: query_string_params,
143
+ uri: uri,
144
+ body: body || "",
145
+ params: query_string_params,
146
+ method_name: "update_budget",
132
147
  options: options
133
148
  )
134
149
  operation = ::Gapic::Rest::TransportOperation.new response
135
150
  result = ::Google::Cloud::Billing::Budgets::V1::Budget.decode_json response.body, ignore_unknown_fields: true
136
-
137
- yield result, operation if block_given?
138
- result
151
+ catch :response do
152
+ yield result, operation if block_given?
153
+ result
154
+ end
139
155
  end
140
156
 
141
157
  ##
@@ -164,16 +180,18 @@ module Google
164
180
 
165
181
  response = @client_stub.make_http_request(
166
182
  verb,
167
- uri: uri,
168
- body: body || "",
169
- params: query_string_params,
183
+ uri: uri,
184
+ body: body || "",
185
+ params: query_string_params,
186
+ method_name: "get_budget",
170
187
  options: options
171
188
  )
172
189
  operation = ::Gapic::Rest::TransportOperation.new response
173
190
  result = ::Google::Cloud::Billing::Budgets::V1::Budget.decode_json response.body, ignore_unknown_fields: true
174
-
175
- yield result, operation if block_given?
176
- result
191
+ catch :response do
192
+ yield result, operation if block_given?
193
+ result
194
+ end
177
195
  end
178
196
 
179
197
  ##
@@ -202,16 +220,18 @@ module Google
202
220
 
203
221
  response = @client_stub.make_http_request(
204
222
  verb,
205
- uri: uri,
206
- body: body || "",
207
- params: query_string_params,
223
+ uri: uri,
224
+ body: body || "",
225
+ params: query_string_params,
226
+ method_name: "list_budgets",
208
227
  options: options
209
228
  )
210
229
  operation = ::Gapic::Rest::TransportOperation.new response
211
230
  result = ::Google::Cloud::Billing::Budgets::V1::ListBudgetsResponse.decode_json response.body, ignore_unknown_fields: true
212
-
213
- yield result, operation if block_given?
214
- result
231
+ catch :response do
232
+ yield result, operation if block_given?
233
+ result
234
+ end
215
235
  end
216
236
 
217
237
  ##
@@ -240,16 +260,18 @@ module Google
240
260
 
241
261
  response = @client_stub.make_http_request(
242
262
  verb,
243
- uri: uri,
244
- body: body || "",
245
- params: query_string_params,
263
+ uri: uri,
264
+ body: body || "",
265
+ params: query_string_params,
266
+ method_name: "delete_budget",
246
267
  options: options
247
268
  )
248
269
  operation = ::Gapic::Rest::TransportOperation.new response
249
270
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
250
-
251
- yield result, operation if block_given?
252
- result
271
+ catch :response do
272
+ yield result, operation if block_given?
273
+ result
274
+ end
253
275
  end
254
276
 
255
277
  ##
@@ -22,7 +22,7 @@ module Google
22
22
  module Billing
23
23
  module Budgets
24
24
  module V1
25
- VERSION = "1.0.1"
25
+ VERSION = "1.1.0"
26
26
  end
27
27
  end
28
28
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-billing-budgets-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-30 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.1
19
+ version: 0.24.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.21.1
29
+ version: 0.24.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubygems_version: 3.5.6
106
+ rubygems_version: 3.5.23
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: The Cloud Billing Budget API stores Cloud Billing budgets, which define a