google-cloud-service_usage-v1 1.0.1 → 1.2.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: 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