google-cloud-service_usage-v1 1.0.1 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afce4e162c6a7531475fa561313bef587ebc09a7ae4688d915f1c6350fb35b8a
4
- data.tar.gz: ab44e5ce7d10178205c0b1c445c1bd2e76e2f132a78731ec111d149c9517cf3e
3
+ metadata.gz: 400448523db10c12b4c947f569b3892e3a11df07b2aa5af0e791b9ba4f9789a1
4
+ data.tar.gz: cd8614c7ed9030ee9883b4613b760a094200f9e478524b6084693e84012e5cc3
5
5
  SHA512:
6
- metadata.gz: 2746fced8cff37ae440616451ce7cd7b742fb5141a6bb3c075d99d55e6ab988a2a9c7428aebfdeaf5e5542f988e600e0a56de1919ad9a1ce3617b638cddb4440
7
- data.tar.gz: a9c426770d257f3cfe24fc54e378d2f1c5229bfe4df72f8372dde7a6d1bebb09aa0d466978f6ff41d496c72199f2785cb253ce0412520c54c9c10119cb4cce87
6
+ metadata.gz: ebf0ff518c7a311a2658029c4a05ef30f50d025a68b315c1a1b0150c5a0630eb55dbc32bcc4ee4fd9ad9191b646f46b86a3ad9e19faacb617b4fc11a93bb3e8e
7
+ data.tar.gz: eef2522ac3843f8a0b26d68984b60f760431ab5b5a7b135b8d9250d6ea4bc7b0598280068eca01e831a13809af76a90cce67d9c56616af7e9a7974e2d146e533
data/README.md CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/service-usage/)
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/service_usage/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::ServiceUsage::V1::ServiceUsage::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
@@ -168,8 +168,19 @@ module Google
168
168
  universe_domain: @config.universe_domain,
169
169
  channel_args: @config.channel_args,
170
170
  interceptors: @config.interceptors,
171
- channel_pool_config: @config.channel_pool
171
+ channel_pool_config: @config.channel_pool,
172
+ logger: @config.logger
172
173
  )
174
+
175
+ @service_usage_stub.stub_logger&.info do |entry|
176
+ entry.set_system_name
177
+ entry.set_service
178
+ entry.message = "Created client for #{entry.service}"
179
+ entry.set_credentials_fields credentials
180
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
181
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
182
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
183
+ end
173
184
  end
174
185
 
175
186
  ##
@@ -179,6 +190,15 @@ module Google
179
190
  #
180
191
  attr_reader :operations_client
181
192
 
193
+ ##
194
+ # The logger used for request/response debug logging.
195
+ #
196
+ # @return [Logger]
197
+ #
198
+ def logger
199
+ @service_usage_stub.logger
200
+ end
201
+
182
202
  # Service calls
183
203
 
184
204
  ##
@@ -279,7 +299,7 @@ module Google
279
299
  @service_usage_stub.call_rpc :enable_service, request, options: options do |response, operation|
280
300
  response = ::Gapic::Operation.new response, @operations_client, options: options
281
301
  yield response, operation if block_given?
282
- return response
302
+ throw :response, response
283
303
  end
284
304
  rescue ::GRPC::BadStatus => e
285
305
  raise ::Google::Cloud::Error.from_error(e)
@@ -393,7 +413,7 @@ module Google
393
413
  @service_usage_stub.call_rpc :disable_service, request, options: options do |response, operation|
394
414
  response = ::Gapic::Operation.new response, @operations_client, options: options
395
415
  yield response, operation if block_given?
396
- return response
416
+ throw :response, response
397
417
  end
398
418
  rescue ::GRPC::BadStatus => e
399
419
  raise ::Google::Cloud::Error.from_error(e)
@@ -483,7 +503,6 @@ module Google
483
503
 
484
504
  @service_usage_stub.call_rpc :get_service, request, options: options do |response, operation|
485
505
  yield response, operation if block_given?
486
- return response
487
506
  end
488
507
  rescue ::GRPC::BadStatus => e
489
508
  raise ::Google::Cloud::Error.from_error(e)
@@ -599,7 +618,7 @@ module Google
599
618
  @service_usage_stub.call_rpc :list_services, request, options: options do |response, operation|
600
619
  response = ::Gapic::PagedEnumerable.new @service_usage_stub, :list_services, request, response, operation, options
601
620
  yield response, operation if block_given?
602
- return response
621
+ throw :response, response
603
622
  end
604
623
  rescue ::GRPC::BadStatus => e
605
624
  raise ::Google::Cloud::Error.from_error(e)
@@ -712,7 +731,7 @@ module Google
712
731
  @service_usage_stub.call_rpc :batch_enable_services, request, options: options do |response, operation|
713
732
  response = ::Gapic::Operation.new response, @operations_client, options: options
714
733
  yield response, operation if block_given?
715
- return response
734
+ throw :response, response
716
735
  end
717
736
  rescue ::GRPC::BadStatus => e
718
737
  raise ::Google::Cloud::Error.from_error(e)
@@ -810,7 +829,6 @@ module Google
810
829
 
811
830
  @service_usage_stub.call_rpc :batch_get_services, request, options: options do |response, operation|
812
831
  yield response, operation if block_given?
813
- return response
814
832
  end
815
833
  rescue ::GRPC::BadStatus => e
816
834
  raise ::Google::Cloud::Error.from_error(e)
@@ -860,6 +878,13 @@ module Google
860
878
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
861
879
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
862
880
  # * (`nil`) indicating no credentials
881
+ #
882
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
883
+ # external source for authentication to Google Cloud, you must validate it before
884
+ # providing it to a Google API client library. Providing an unvalidated credential
885
+ # configuration to Google APIs can compromise the security of your systems and data.
886
+ # For more information, refer to [Validate credential configurations from external
887
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
863
888
  # @return [::Object]
864
889
  # @!attribute [rw] scope
865
890
  # The OAuth scopes
@@ -899,6 +924,11 @@ module Google
899
924
  # default endpoint URL. The default value of nil uses the environment
900
925
  # universe (usually the default "googleapis.com" universe).
901
926
  # @return [::String,nil]
927
+ # @!attribute [rw] logger
928
+ # A custom logger to use for request/response debug logging, or the value
929
+ # `:default` (the default) to construct a default logger, or `nil` to
930
+ # explicitly disable logging.
931
+ # @return [::Logger,:default,nil]
902
932
  #
903
933
  class Configuration
904
934
  extend ::Gapic::Config
@@ -923,6 +953,7 @@ module Google
923
953
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
924
954
  config_attr :quota_project, nil, ::String, nil
925
955
  config_attr :universe_domain, nil, ::String, nil
956
+ config_attr :logger, :default, ::Logger, nil, :default
926
957
 
927
958
  # @private
928
959
  def initialize parent_config = nil
@@ -124,14 +124,6 @@ module Google
124
124
  # Lists operations that match the specified filter in the request. If the
125
125
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
126
126
  #
127
- # NOTE: the `name` binding allows API services to override the binding
128
- # to use different resource name schemes, such as `users/*/operations`. To
129
- # override the binding, API services can add a binding such as
130
- # `"/v1/{name=users/*}/operations"` to their service configuration.
131
- # For backwards compatibility, the default name includes the operations
132
- # collection id, however overriding users must ensure the name binding
133
- # is the parent resource, without the operations collection id.
134
- #
135
127
  # @overload list_operations(request, options = nil)
136
128
  # Pass arguments to `list_operations` via a request object, either of type
137
129
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -213,7 +205,7 @@ module Google
213
205
  wrap_lro_operation = ->(op_response) { ::Gapic::Operation.new op_response, @operations_client }
214
206
  response = ::Gapic::PagedEnumerable.new @operations_stub, :list_operations, request, response, operation, options, format_resource: wrap_lro_operation
215
207
  yield response, operation if block_given?
216
- return response
208
+ throw :response, response
217
209
  end
218
210
  rescue ::GRPC::BadStatus => e
219
211
  raise ::Google::Cloud::Error.from_error(e)
@@ -309,7 +301,7 @@ module Google
309
301
  @operations_stub.call_rpc :get_operation, request, options: options do |response, operation|
310
302
  response = ::Gapic::Operation.new response, @operations_client, options: options
311
303
  yield response, operation if block_given?
312
- return response
304
+ throw :response, response
313
305
  end
314
306
  rescue ::GRPC::BadStatus => e
315
307
  raise ::Google::Cloud::Error.from_error(e)
@@ -398,7 +390,6 @@ module Google
398
390
 
399
391
  @operations_stub.call_rpc :delete_operation, request, options: options do |response, operation|
400
392
  yield response, operation if block_given?
401
- return response
402
393
  end
403
394
  rescue ::GRPC::BadStatus => e
404
395
  raise ::Google::Cloud::Error.from_error(e)
@@ -413,8 +404,9 @@ module Google
413
404
  # other methods to check whether the cancellation succeeded or whether the
414
405
  # operation completed despite cancellation. On successful cancellation,
415
406
  # the operation is not deleted; instead, it becomes an operation with
416
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
417
- # corresponding to `Code.CANCELLED`.
407
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
408
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
409
+ # `Code.CANCELLED`.
418
410
  #
419
411
  # @overload cancel_operation(request, options = nil)
420
412
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -493,7 +485,6 @@ module Google
493
485
 
494
486
  @operations_stub.call_rpc :cancel_operation, request, options: options do |response, operation|
495
487
  yield response, operation if block_given?
496
- return response
497
488
  end
498
489
  rescue ::GRPC::BadStatus => e
499
490
  raise ::Google::Cloud::Error.from_error(e)
@@ -591,7 +582,7 @@ module Google
591
582
  @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
592
583
  response = ::Gapic::Operation.new response, @operations_client, options: options
593
584
  yield response, operation if block_given?
594
- return response
585
+ throw :response, response
595
586
  end
596
587
  rescue ::GRPC::BadStatus => e
597
588
  raise ::Google::Cloud::Error.from_error(e)
@@ -641,6 +632,13 @@ module Google
641
632
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
642
633
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
643
634
  # * (`nil`) indicating no credentials
635
+ #
636
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
637
+ # external source for authentication to Google Cloud, you must validate it before
638
+ # providing it to a Google API client library. Providing an unvalidated credential
639
+ # configuration to Google APIs can compromise the security of your systems and data.
640
+ # For more information, refer to [Validate credential configurations from external
641
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
644
642
  # @return [::Object]
645
643
  # @!attribute [rw] scope
646
644
  # The OAuth scopes
@@ -680,6 +678,11 @@ module Google
680
678
  # default endpoint URL. The default value of nil uses the environment
681
679
  # universe (usually the default "googleapis.com" universe).
682
680
  # @return [::String,nil]
681
+ # @!attribute [rw] logger
682
+ # A custom logger to use for request/response debug logging, or the value
683
+ # `:default` (the default) to construct a default logger, or `nil` to
684
+ # explicitly disable logging.
685
+ # @return [::Logger,:default,nil]
683
686
  #
684
687
  class Configuration
685
688
  extend ::Gapic::Config
@@ -704,6 +707,7 @@ module Google
704
707
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
705
708
  config_attr :quota_project, nil, ::String, nil
706
709
  config_attr :universe_domain, nil, ::String, nil
710
+ config_attr :logger, :default, ::Logger, nil, :default
707
711
 
708
712
  # @private
709
713
  def initialize parent_config = nil
@@ -161,8 +161,19 @@ module Google
161
161
  endpoint: @config.endpoint,
162
162
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
163
163
  universe_domain: @config.universe_domain,
164
- credentials: credentials
164
+ credentials: credentials,
165
+ logger: @config.logger
165
166
  )
167
+
168
+ @service_usage_stub.logger(stub: true)&.info do |entry|
169
+ entry.set_system_name
170
+ entry.set_service
171
+ entry.message = "Created client for #{entry.service}"
172
+ entry.set_credentials_fields credentials
173
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
174
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
175
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
176
+ end
166
177
  end
167
178
 
168
179
  ##
@@ -172,6 +183,15 @@ module Google
172
183
  #
173
184
  attr_reader :operations_client
174
185
 
186
+ ##
187
+ # The logger used for request/response debug logging.
188
+ #
189
+ # @return [Logger]
190
+ #
191
+ def logger
192
+ @service_usage_stub.logger
193
+ end
194
+
175
195
  # Service calls
176
196
 
177
197
  ##
@@ -265,7 +285,7 @@ module Google
265
285
  @service_usage_stub.enable_service request, options do |result, operation|
266
286
  result = ::Gapic::Operation.new result, @operations_client, options: options
267
287
  yield result, operation if block_given?
268
- return result
288
+ throw :response, result
269
289
  end
270
290
  rescue ::Gapic::Rest::Error => e
271
291
  raise ::Google::Cloud::Error.from_error(e)
@@ -372,7 +392,7 @@ module Google
372
392
  @service_usage_stub.disable_service request, options do |result, operation|
373
393
  result = ::Gapic::Operation.new result, @operations_client, options: options
374
394
  yield result, operation if block_given?
375
- return result
395
+ throw :response, result
376
396
  end
377
397
  rescue ::Gapic::Rest::Error => e
378
398
  raise ::Google::Cloud::Error.from_error(e)
@@ -455,7 +475,6 @@ module Google
455
475
 
456
476
  @service_usage_stub.get_service request, options do |result, operation|
457
477
  yield result, operation if block_given?
458
- return result
459
478
  end
460
479
  rescue ::Gapic::Rest::Error => e
461
480
  raise ::Google::Cloud::Error.from_error(e)
@@ -564,7 +583,7 @@ module Google
564
583
  @service_usage_stub.list_services request, options do |result, operation|
565
584
  result = ::Gapic::Rest::PagedEnumerable.new @service_usage_stub, :list_services, "services", request, result, options
566
585
  yield result, operation if block_given?
567
- return result
586
+ throw :response, result
568
587
  end
569
588
  rescue ::Gapic::Rest::Error => e
570
589
  raise ::Google::Cloud::Error.from_error(e)
@@ -670,7 +689,7 @@ module Google
670
689
  @service_usage_stub.batch_enable_services request, options do |result, operation|
671
690
  result = ::Gapic::Operation.new result, @operations_client, options: options
672
691
  yield result, operation if block_given?
673
- return result
692
+ throw :response, result
674
693
  end
675
694
  rescue ::Gapic::Rest::Error => e
676
695
  raise ::Google::Cloud::Error.from_error(e)
@@ -761,7 +780,6 @@ module Google
761
780
 
762
781
  @service_usage_stub.batch_get_services request, options do |result, operation|
763
782
  yield result, operation if block_given?
764
- return result
765
783
  end
766
784
  rescue ::Gapic::Rest::Error => e
767
785
  raise ::Google::Cloud::Error.from_error(e)
@@ -809,6 +827,13 @@ module Google
809
827
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
810
828
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
811
829
  # * (`nil`) indicating no credentials
830
+ #
831
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
832
+ # external source for authentication to Google Cloud, you must validate it before
833
+ # providing it to a Google API client library. Providing an unvalidated credential
834
+ # configuration to Google APIs can compromise the security of your systems and data.
835
+ # For more information, refer to [Validate credential configurations from external
836
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
812
837
  # @return [::Object]
813
838
  # @!attribute [rw] scope
814
839
  # The OAuth scopes
@@ -841,6 +866,11 @@ module Google
841
866
  # default endpoint URL. The default value of nil uses the environment
842
867
  # universe (usually the default "googleapis.com" universe).
843
868
  # @return [::String,nil]
869
+ # @!attribute [rw] logger
870
+ # A custom logger to use for request/response debug logging, or the value
871
+ # `:default` (the default) to construct a default logger, or `nil` to
872
+ # explicitly disable logging.
873
+ # @return [::Logger,:default,nil]
844
874
  #
845
875
  class Configuration
846
876
  extend ::Gapic::Config
@@ -862,6 +892,7 @@ module Google
862
892
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
863
893
  config_attr :quota_project, nil, ::String, nil
864
894
  config_attr :universe_domain, nil, ::String, nil
895
+ config_attr :logger, :default, ::Logger, nil, :default
865
896
 
866
897
  # @private
867
898
  def initialize parent_config = nil
@@ -115,14 +115,6 @@ module Google
115
115
  # Lists operations that match the specified filter in the request. If the
116
116
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
117
117
  #
118
- # NOTE: the `name` binding allows API services to override the binding
119
- # to use different resource name schemes, such as `users/*/operations`. To
120
- # override the binding, API services can add a binding such as
121
- # `"/v1/{name=users/*}/operations"` to their service configuration.
122
- # For backwards compatibility, the default name includes the operations
123
- # collection id, however overriding users must ensure the name binding
124
- # is the parent resource, without the operations collection id.
125
- #
126
118
  # @overload list_operations(request, options = nil)
127
119
  # Pass arguments to `list_operations` via a request object, either of type
128
120
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -204,7 +196,7 @@ module Google
204
196
  @operations_stub.list_operations request, options do |result, operation|
205
197
  result = ::Gapic::Rest::PagedEnumerable.new @operations_stub, :list_operations, "operations", request, result, options
206
198
  yield result, operation if block_given?
207
- return result
199
+ throw :response, result
208
200
  end
209
201
  rescue ::Gapic::Rest::Error => e
210
202
  raise ::Google::Cloud::Error.from_error(e)
@@ -293,7 +285,7 @@ module Google
293
285
  @operations_stub.get_operation request, options do |result, operation|
294
286
  result = ::Gapic::Operation.new result, @operations_client, options: options
295
287
  yield result, operation if block_given?
296
- return result
288
+ throw :response, result
297
289
  end
298
290
  rescue ::Gapic::Rest::Error => e
299
291
  raise ::Google::Cloud::Error.from_error(e)
@@ -375,7 +367,6 @@ module Google
375
367
 
376
368
  @operations_stub.delete_operation request, options do |result, operation|
377
369
  yield result, operation if block_given?
378
- return result
379
370
  end
380
371
  rescue ::Gapic::Rest::Error => e
381
372
  raise ::Google::Cloud::Error.from_error(e)
@@ -390,8 +381,9 @@ module Google
390
381
  # other methods to check whether the cancellation succeeded or whether the
391
382
  # operation completed despite cancellation. On successful cancellation,
392
383
  # the operation is not deleted; instead, it becomes an operation with
393
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
394
- # corresponding to `Code.CANCELLED`.
384
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
385
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
386
+ # `Code.CANCELLED`.
395
387
  #
396
388
  # @overload cancel_operation(request, options = nil)
397
389
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -463,7 +455,6 @@ module Google
463
455
 
464
456
  @operations_stub.cancel_operation request, options do |result, operation|
465
457
  yield result, operation if block_given?
466
- return result
467
458
  end
468
459
  rescue ::Gapic::Rest::Error => e
469
460
  raise ::Google::Cloud::Error.from_error(e)
@@ -511,6 +502,13 @@ module Google
511
502
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
512
503
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
513
504
  # * (`nil`) indicating no credentials
505
+ #
506
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
507
+ # external source for authentication to Google Cloud, you must validate it before
508
+ # providing it to a Google API client library. Providing an unvalidated credential
509
+ # configuration to Google APIs can compromise the security of your systems and data.
510
+ # For more information, refer to [Validate credential configurations from external
511
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
514
512
  # @return [::Object]
515
513
  # @!attribute [rw] scope
516
514
  # The OAuth scopes
@@ -543,6 +541,11 @@ module Google
543
541
  # default endpoint URL. The default value of nil uses the environment
544
542
  # universe (usually the default "googleapis.com" universe).
545
543
  # @return [::String,nil]
544
+ # @!attribute [rw] logger
545
+ # A custom logger to use for request/response debug logging, or the value
546
+ # `:default` (the default) to construct a default logger, or `nil` to
547
+ # explicitly disable logging.
548
+ # @return [::Logger,:default,nil]
546
549
  #
547
550
  class Configuration
548
551
  extend ::Gapic::Config
@@ -564,6 +567,7 @@ module Google
564
567
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
565
568
  config_attr :quota_project, nil, ::String, nil
566
569
  config_attr :universe_domain, nil, ::String, nil
570
+ config_attr :logger, :default, ::Logger, nil, :default
567
571
 
568
572
  # @private
569
573
  def initialize parent_config = nil
@@ -683,16 +687,18 @@ module Google
683
687
 
684
688
  response = @client_stub.make_http_request(
685
689
  verb,
686
- uri: uri,
687
- body: body || "",
688
- params: query_string_params,
690
+ uri: uri,
691
+ body: body || "",
692
+ params: query_string_params,
693
+ method_name: "list_operations",
689
694
  options: options
690
695
  )
691
696
  operation = ::Gapic::Rest::TransportOperation.new response
692
697
  result = ::Google::Longrunning::ListOperationsResponse.decode_json response.body, ignore_unknown_fields: true
693
-
694
- yield result, operation if block_given?
695
- result
698
+ catch :response do
699
+ yield result, operation if block_given?
700
+ result
701
+ end
696
702
  end
697
703
 
698
704
  ##
@@ -721,16 +727,18 @@ module Google
721
727
 
722
728
  response = @client_stub.make_http_request(
723
729
  verb,
724
- uri: uri,
725
- body: body || "",
726
- params: query_string_params,
730
+ uri: uri,
731
+ body: body || "",
732
+ params: query_string_params,
733
+ method_name: "get_operation",
727
734
  options: options
728
735
  )
729
736
  operation = ::Gapic::Rest::TransportOperation.new response
730
737
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
731
-
732
- yield result, operation if block_given?
733
- result
738
+ catch :response do
739
+ yield result, operation if block_given?
740
+ result
741
+ end
734
742
  end
735
743
 
736
744
  ##
@@ -759,16 +767,18 @@ module Google
759
767
 
760
768
  response = @client_stub.make_http_request(
761
769
  verb,
762
- uri: uri,
763
- body: body || "",
764
- params: query_string_params,
770
+ uri: uri,
771
+ body: body || "",
772
+ params: query_string_params,
773
+ method_name: "delete_operation",
765
774
  options: options
766
775
  )
767
776
  operation = ::Gapic::Rest::TransportOperation.new response
768
777
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
769
-
770
- yield result, operation if block_given?
771
- result
778
+ catch :response do
779
+ yield result, operation if block_given?
780
+ result
781
+ end
772
782
  end
773
783
 
774
784
  ##
@@ -797,16 +807,18 @@ module Google
797
807
 
798
808
  response = @client_stub.make_http_request(
799
809
  verb,
800
- uri: uri,
801
- body: body || "",
802
- params: query_string_params,
810
+ uri: uri,
811
+ body: body || "",
812
+ params: query_string_params,
813
+ method_name: "cancel_operation",
803
814
  options: options
804
815
  )
805
816
  operation = ::Gapic::Rest::TransportOperation.new response
806
817
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
807
-
808
- yield result, operation if block_given?
809
- result
818
+ catch :response do
819
+ yield result, operation if block_given?
820
+ result
821
+ end
810
822
  end
811
823
 
812
824
  ##
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the enable_service REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "enable_service",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "disable_service",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "get_service",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::ServiceUsage::V1::Service.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "list_services",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::ServiceUsage::V1::ListServicesResponse.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -239,16 +259,18 @@ module Google
239
259
 
240
260
  response = @client_stub.make_http_request(
241
261
  verb,
242
- uri: uri,
243
- body: body || "",
244
- params: query_string_params,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "batch_enable_services",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
249
-
250
- yield result, operation if block_given?
251
- result
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
252
274
  end
253
275
 
254
276
  ##
@@ -277,16 +299,18 @@ module Google
277
299
 
278
300
  response = @client_stub.make_http_request(
279
301
  verb,
280
- uri: uri,
281
- body: body || "",
282
- params: query_string_params,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "batch_get_services",
283
306
  options: options
284
307
  )
285
308
  operation = ::Gapic::Rest::TransportOperation.new response
286
309
  result = ::Google::Cloud::ServiceUsage::V1::BatchGetServicesResponse.decode_json response.body, ignore_unknown_fields: true
287
-
288
- yield result, operation if block_given?
289
- result
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
290
314
  end
291
315
 
292
316
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ServiceUsage
23
23
  module V1
24
- VERSION = "1.0.1"
24
+ VERSION = "1.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -84,12 +84,18 @@ module Google
84
84
  # @!attribute [rw] header
85
85
  # @return [::String]
86
86
  # Specifies HTTP header name to extract JWT token.
87
+ #
88
+ # Note: The following fields are mutually exclusive: `header`, `query`, `cookie`. If a field in that set is populated, all other fields in the set will automatically be cleared.
87
89
  # @!attribute [rw] query
88
90
  # @return [::String]
89
91
  # Specifies URL query parameter name to extract JWT token.
92
+ #
93
+ # Note: The following fields are mutually exclusive: `query`, `header`, `cookie`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
94
  # @!attribute [rw] cookie
91
95
  # @return [::String]
92
96
  # Specifies cookie name to extract JWT token.
97
+ #
98
+ # Note: The following fields are mutually exclusive: `cookie`, `header`, `query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
93
99
  # @!attribute [rw] value_prefix
94
100
  # @return [::String]
95
101
  # The value prefix. The value format is "value_prefix\\{token}"
@@ -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
@@ -172,8 +172,8 @@ module Google
172
172
  # @!attribute [rw] unit
173
173
  # @return [::String]
174
174
  # Specify the unit of the quota limit. It uses the same syntax as
175
- # [Metric.unit][]. The supported unit kinds are determined by the quota
176
- # backend system.
175
+ # [MetricDescriptor.unit][google.api.MetricDescriptor.unit]. The supported
176
+ # unit kinds are determined by the quota backend system.
177
177
  #
178
178
  # Here are some examples:
179
179
  # * "1/min/\\{project}" for quota per minute per project.
@@ -40,9 +40,11 @@ module Google
40
40
  # @!attribute [rw] error
41
41
  # @return [::Google::Rpc::Status]
42
42
  # The error result of the operation in case of failure or cancellation.
43
+ #
44
+ # Note: The following fields are mutually exclusive: `error`, `response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
43
45
  # @!attribute [rw] response
44
46
  # @return [::Google::Protobuf::Any]
45
- # The normal response of the operation in case of success. If the original
47
+ # The normal, successful response of the operation. If the original
46
48
  # method returns no data on success, such as `Delete`, the response is
47
49
  # `google.protobuf.Empty`. If the original method is standard
48
50
  # `Get`/`Create`/`Update`, the response should be the resource. For other
@@ -50,12 +52,15 @@ module Google
50
52
  # is the original method name. For example, if the original method name
51
53
  # is `TakeSnapshot()`, the inferred response type is
52
54
  # `TakeSnapshotResponse`.
55
+ #
56
+ # Note: The following fields are mutually exclusive: `response`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
53
57
  class Operation
54
58
  include ::Google::Protobuf::MessageExts
55
59
  extend ::Google::Protobuf::MessageExts::ClassMethods
56
60
  end
57
61
 
58
- # The request message for Operations.GetOperation.
62
+ # The request message for
63
+ # Operations.GetOperation.
59
64
  # @!attribute [rw] name
60
65
  # @return [::String]
61
66
  # The name of the operation resource.
@@ -64,7 +69,8 @@ module Google
64
69
  extend ::Google::Protobuf::MessageExts::ClassMethods
65
70
  end
66
71
 
67
- # The request message for Operations.ListOperations.
72
+ # The request message for
73
+ # Operations.ListOperations.
68
74
  # @!attribute [rw] name
69
75
  # @return [::String]
70
76
  # The name of the operation's parent resource.
@@ -82,7 +88,8 @@ module Google
82
88
  extend ::Google::Protobuf::MessageExts::ClassMethods
83
89
  end
84
90
 
85
- # The response message for Operations.ListOperations.
91
+ # The response message for
92
+ # Operations.ListOperations.
86
93
  # @!attribute [rw] operations
87
94
  # @return [::Array<::Google::Longrunning::Operation>]
88
95
  # A list of operations that matches the specified filter in the request.
@@ -94,7 +101,8 @@ module Google
94
101
  extend ::Google::Protobuf::MessageExts::ClassMethods
95
102
  end
96
103
 
97
- # The request message for Operations.CancelOperation.
104
+ # The request message for
105
+ # Operations.CancelOperation.
98
106
  # @!attribute [rw] name
99
107
  # @return [::String]
100
108
  # The name of the operation resource to be cancelled.
@@ -103,7 +111,8 @@ module Google
103
111
  extend ::Google::Protobuf::MessageExts::ClassMethods
104
112
  end
105
113
 
106
- # The request message for Operations.DeleteOperation.
114
+ # The request message for
115
+ # Operations.DeleteOperation.
107
116
  # @!attribute [rw] name
108
117
  # @return [::String]
109
118
  # The name of the operation resource to be deleted.
@@ -112,7 +121,8 @@ module Google
112
121
  extend ::Google::Protobuf::MessageExts::ClassMethods
113
122
  end
114
123
 
115
- # The request message for Operations.WaitOperation.
124
+ # The request message for
125
+ # Operations.WaitOperation.
116
126
  # @!attribute [rw] name
117
127
  # @return [::String]
118
128
  # The name of the operation resource to wait on.
@@ -130,13 +140,12 @@ module Google
130
140
  #
131
141
  # Example:
132
142
  #
133
- # rpc LongRunningRecognize(LongRunningRecognizeRequest)
134
- # returns (google.longrunning.Operation) {
135
- # option (google.longrunning.operation_info) = {
136
- # response_type: "LongRunningRecognizeResponse"
137
- # metadata_type: "LongRunningRecognizeMetadata"
138
- # };
139
- # }
143
+ # rpc Export(ExportRequest) returns (google.longrunning.Operation) {
144
+ # option (google.longrunning.operation_info) = {
145
+ # response_type: "ExportResponse"
146
+ # metadata_type: "ExportMetadata"
147
+ # };
148
+ # }
140
149
  # @!attribute [rw] response_type
141
150
  # @return [::String]
142
151
  # Required. The message name of the primary return type for this
@@ -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-service_usage-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.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
@@ -101,7 +100,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
101
100
  licenses:
102
101
  - Apache-2.0
103
102
  metadata: {}
104
- post_install_message:
105
103
  rdoc_options: []
106
104
  require_paths:
107
105
  - lib
@@ -109,15 +107,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
107
  requirements:
110
108
  - - ">="
111
109
  - !ruby/object:Gem::Version
112
- version: '2.7'
110
+ version: '3.0'
113
111
  required_rubygems_version: !ruby/object:Gem::Requirement
114
112
  requirements:
115
113
  - - ">="
116
114
  - !ruby/object:Gem::Version
117
115
  version: '0'
118
116
  requirements: []
119
- rubygems_version: 3.5.6
120
- signing_key:
117
+ rubygems_version: 3.6.2
121
118
  specification_version: 4
122
119
  summary: Enables services that service consumers want to use on Google Cloud Platform,
123
120
  lists the available or enabled services, or disables services that service consumers