google-cloud-billing-budgets-v1beta1 0.12.1 → 0.14.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: 1f4a0a0484fe81650002e69c40532079a1106727c40e3ba35d523ebfddc49938
4
- data.tar.gz: dd70bc455e887cd08c11405bf58b5f9a507e090df7920c56a9b6eb9d968d01f6
3
+ metadata.gz: 81576e1926ad91d7b0753ed42322a8b54f9738a045d572f980946cbb5c9692cf
4
+ data.tar.gz: 6f020d5b2cd8a4b0166c97a0aff5e2f934d883fd1bd35b045ddeda02a7f3cb28
5
5
  SHA512:
6
- metadata.gz: 443a65b87709fda3695a7314db26d7d61202b3cfd9c16e75b77e017aac270cec641c770453c3f6c28b5ec6b97d58c916451818e7aceedb6c61cbab28010a0075
7
- data.tar.gz: 1fce9f614dabae6340a9cfcc2aeea13e06027dfdeebcef3761da768dfa7dffaea0352c4cb3f79c35b9c3c4cb8ebcbeaa44c3249f5d46c32bc0d6da224cf8d09d
6
+ metadata.gz: 57e61c1a6c89cb0a3707faae35328ce0e2817d7a898a91e6661f1f10d091d050d50993fa6f1a8ef4dec5141860ce6e03fb5876b9d6fb69b18f86316cd22418d1
7
+ data.tar.gz: cc5982da03ad3055facee11f709b008f5c2a9c24150290fde74f0e244624e94869195c05264dfaaf601f0fe80c6c9fddc619e6ffc50b90befa3704d615287b4a
data/README.md CHANGED
@@ -43,40 +43,50 @@ 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/v1beta1"
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::V1beta1::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).
76
86
 
77
87
  ## Supported Ruby Versions
78
88
 
79
- This library is supported on Ruby 2.7+.
89
+ This library is supported on Ruby 3.0+.
80
90
 
81
91
  Google provides official support for Ruby versions that are actively supported
82
92
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -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)
@@ -710,6 +726,13 @@ module Google
710
726
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
711
727
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
712
728
  # * (`nil`) indicating no credentials
729
+ #
730
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
731
+ # external source for authentication to Google Cloud, you must validate it before
732
+ # providing it to a Google API client library. Providing an unvalidated credential
733
+ # configuration to Google APIs can compromise the security of your systems and data.
734
+ # For more information, refer to [Validate credential configurations from external
735
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
713
736
  # @return [::Object]
714
737
  # @!attribute [rw] scope
715
738
  # The OAuth scopes
@@ -749,6 +772,11 @@ module Google
749
772
  # default endpoint URL. The default value of nil uses the environment
750
773
  # universe (usually the default "googleapis.com" universe).
751
774
  # @return [::String,nil]
775
+ # @!attribute [rw] logger
776
+ # A custom logger to use for request/response debug logging, or the value
777
+ # `:default` (the default) to construct a default logger, or `nil` to
778
+ # explicitly disable logging.
779
+ # @return [::Logger,:default,nil]
752
780
  #
753
781
  class Configuration
754
782
  extend ::Gapic::Config
@@ -773,6 +801,7 @@ module Google
773
801
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
774
802
  config_attr :quota_project, nil, ::String, nil
775
803
  config_attr :universe_domain, nil, ::String, nil
804
+ config_attr :logger, :default, ::Logger, nil, :default
776
805
 
777
806
  # @private
778
807
  def initialize parent_config = nil
@@ -22,7 +22,7 @@ module Google
22
22
  module Billing
23
23
  module Budgets
24
24
  module V1beta1
25
- VERSION = "0.12.1"
25
+ VERSION = "0.14.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
@@ -74,6 +74,8 @@ module Google
74
74
  # match the currency of the billing account. If specified when updating a
75
75
  # budget, it must match the currency_code of the existing budget.
76
76
  # The `currency_code` is provided on output.
77
+ #
78
+ # Note: The following fields are mutually exclusive: `specified_amount`, `last_period_amount`. If a field in that set is populated, all other fields in the set will automatically be cleared.
77
79
  # @!attribute [rw] last_period_amount
78
80
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::LastPeriodAmount]
79
81
  # Use the last period's actual spend as the budget for the present period.
@@ -81,6 +83,8 @@ module Google
81
83
  # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}.
82
84
  # It cannot be set in combination with
83
85
  # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#custom_period Filter.custom_period}.
86
+ #
87
+ # Note: The following fields are mutually exclusive: `last_period_amount`, `specified_amount`. If a field in that set is populated, all other fields in the set will automatically be cleared.
84
88
  class BudgetAmount
85
89
  include ::Google::Protobuf::MessageExts
86
90
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -272,10 +276,14 @@ module Google
272
276
  # April, May, June. After that, it will track usage from July 1 to
273
277
  # September 30 when the current calendar month is July, August, September,
274
278
  # so on.
279
+ #
280
+ # Note: The following fields are mutually exclusive: `calendar_period`, `custom_period`. If a field in that set is populated, all other fields in the set will automatically be cleared.
275
281
  # @!attribute [rw] custom_period
276
282
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::CustomPeriod]
277
283
  # Optional. Specifies to track usage from any start date (required) to any
278
284
  # end date (optional). This time period is static, it does not recur.
285
+ #
286
+ # Note: The following fields are mutually exclusive: `custom_period`, `calendar_period`. If a field in that set is populated, all other fields in the set will automatically be cleared.
279
287
  class Filter
280
288
  include ::Google::Protobuf::MessageExts
281
289
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -53,21 +53,33 @@ module Google
53
53
  # @!attribute [rw] null_value
54
54
  # @return [::Google::Protobuf::NullValue]
55
55
  # Represents a null value.
56
+ #
57
+ # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
58
  # @!attribute [rw] number_value
57
59
  # @return [::Float]
58
60
  # Represents a double value.
61
+ #
62
+ # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
59
63
  # @!attribute [rw] string_value
60
64
  # @return [::String]
61
65
  # Represents a string value.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
62
68
  # @!attribute [rw] bool_value
63
69
  # @return [::Boolean]
64
70
  # Represents a boolean value.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
65
73
  # @!attribute [rw] struct_value
66
74
  # @return [::Google::Protobuf::Struct]
67
75
  # Represents a structured value.
76
+ #
77
+ # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
78
  # @!attribute [rw] list_value
69
79
  # @return [::Google::Protobuf::ListValue]
70
80
  # Represents a repeated `Value`.
81
+ #
82
+ # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
71
83
  class Value
72
84
  include ::Google::Protobuf::MessageExts
73
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-billing-budgets-v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-30 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.21.1
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.21.1
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -84,7 +83,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
84
83
  licenses:
85
84
  - Apache-2.0
86
85
  metadata: {}
87
- post_install_message:
88
86
  rdoc_options: []
89
87
  require_paths:
90
88
  - lib
@@ -92,15 +90,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
90
  requirements:
93
91
  - - ">="
94
92
  - !ruby/object:Gem::Version
95
- version: '2.7'
93
+ version: '3.0'
96
94
  required_rubygems_version: !ruby/object:Gem::Requirement
97
95
  requirements:
98
96
  - - ">="
99
97
  - !ruby/object:Gem::Version
100
98
  version: '0'
101
99
  requirements: []
102
- rubygems_version: 3.5.6
103
- signing_key:
100
+ rubygems_version: 3.6.2
104
101
  specification_version: 4
105
102
  summary: The Cloud Billing Budget API stores Cloud Billing budgets, which define a
106
103
  budget plan and the rules to execute as spend is tracked against that plan.