google-cloud-binary_authorization-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: 1e4b16f010779bbfe5febb58ecb62d3eac4333d6c1ea40eeda669bfd747d5a00
4
- data.tar.gz: db076f21fd420b43c07195be72d1ce3900180770700200009049da4e3049e24f
3
+ metadata.gz: 2b1c52a9b7ba0cdddc3ecd7c65c12c7e14f49ab139e855790efe937f582e6687
4
+ data.tar.gz: ec578d44cc78fe005563c54d58933eeaeea5ede9cdf2946c8582bceb2713ffb9
5
5
  SHA512:
6
- metadata.gz: a4dd41483b66a08f3b801abc57390a2747441cb449ed39cfe75ad0c032ced29c142e0ebde4773095bf808adf6c22b3f600021c93ff3521f01d64a8801672b37e
7
- data.tar.gz: 954d1fde550a669fc75e209e9b85e3f8f320bf27aecb2b3184c2f295f6d16449edf02a8b64a5191373f02cd6e58ffe042e21435bef8406183536fa3d06d768e7
6
+ metadata.gz: 7ebddcac096a67c204e161a4140ff5411309eb674cd5746156cbda1b76c790a093a18f7a70454edad8bb8c1a166876530c3a63427b340a7d2b7b2dee2187e199
7
+ data.tar.gz: 1d9d55ecad94a5c9860402aa03e7e64ad7678cabb2a6e604b116157bb1f9e1a3708dc71795b0e7f77b7ba2d0cbcb99df0b0d13adbd68981d9b40af5c27ccfd5b
data/README.md CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/binary-authorization/)
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/binary_authorization/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::BinaryAuthorization::V1::BinauthzManagementService::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
@@ -195,8 +195,28 @@ module Google
195
195
  universe_domain: @config.universe_domain,
196
196
  channel_args: @config.channel_args,
197
197
  interceptors: @config.interceptors,
198
- channel_pool_config: @config.channel_pool
198
+ channel_pool_config: @config.channel_pool,
199
+ logger: @config.logger
199
200
  )
201
+
202
+ @binauthz_management_service_stub.stub_logger&.info do |entry|
203
+ entry.set_system_name
204
+ entry.set_service
205
+ entry.message = "Created client for #{entry.service}"
206
+ entry.set_credentials_fields credentials
207
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
208
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
209
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
210
+ end
211
+ end
212
+
213
+ ##
214
+ # The logger used for request/response debug logging.
215
+ #
216
+ # @return [Logger]
217
+ #
218
+ def logger
219
+ @binauthz_management_service_stub.logger
200
220
  end
201
221
 
202
222
  # Service calls
@@ -288,7 +308,6 @@ module Google
288
308
 
289
309
  @binauthz_management_service_stub.call_rpc :get_policy, request, options: options do |response, operation|
290
310
  yield response, operation if block_given?
291
- return response
292
311
  end
293
312
  rescue ::GRPC::BadStatus => e
294
313
  raise ::Google::Cloud::Error.from_error(e)
@@ -380,7 +399,6 @@ module Google
380
399
 
381
400
  @binauthz_management_service_stub.call_rpc :update_policy, request, options: options do |response, operation|
382
401
  yield response, operation if block_given?
383
- return response
384
402
  end
385
403
  rescue ::GRPC::BadStatus => e
386
404
  raise ::Google::Cloud::Error.from_error(e)
@@ -475,7 +493,6 @@ module Google
475
493
 
476
494
  @binauthz_management_service_stub.call_rpc :create_attestor, request, options: options do |response, operation|
477
495
  yield response, operation if block_given?
478
- return response
479
496
  end
480
497
  rescue ::GRPC::BadStatus => e
481
498
  raise ::Google::Cloud::Error.from_error(e)
@@ -563,7 +580,6 @@ module Google
563
580
 
564
581
  @binauthz_management_service_stub.call_rpc :get_attestor, request, options: options do |response, operation|
565
582
  yield response, operation if block_given?
566
- return response
567
583
  end
568
584
  rescue ::GRPC::BadStatus => e
569
585
  raise ::Google::Cloud::Error.from_error(e)
@@ -652,7 +668,6 @@ module Google
652
668
 
653
669
  @binauthz_management_service_stub.call_rpc :update_attestor, request, options: options do |response, operation|
654
670
  yield response, operation if block_given?
655
- return response
656
671
  end
657
672
  rescue ::GRPC::BadStatus => e
658
673
  raise ::Google::Cloud::Error.from_error(e)
@@ -752,7 +767,7 @@ module Google
752
767
  @binauthz_management_service_stub.call_rpc :list_attestors, request, options: options do |response, operation|
753
768
  response = ::Gapic::PagedEnumerable.new @binauthz_management_service_stub, :list_attestors, request, response, operation, options
754
769
  yield response, operation if block_given?
755
- return response
770
+ throw :response, response
756
771
  end
757
772
  rescue ::GRPC::BadStatus => e
758
773
  raise ::Google::Cloud::Error.from_error(e)
@@ -840,7 +855,6 @@ module Google
840
855
 
841
856
  @binauthz_management_service_stub.call_rpc :delete_attestor, request, options: options do |response, operation|
842
857
  yield response, operation if block_given?
843
- return response
844
858
  end
845
859
  rescue ::GRPC::BadStatus => e
846
860
  raise ::Google::Cloud::Error.from_error(e)
@@ -890,6 +904,13 @@ module Google
890
904
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
891
905
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
892
906
  # * (`nil`) indicating no credentials
907
+ #
908
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
909
+ # external source for authentication to Google Cloud, you must validate it before
910
+ # providing it to a Google API client library. Providing an unvalidated credential
911
+ # configuration to Google APIs can compromise the security of your systems and data.
912
+ # For more information, refer to [Validate credential configurations from external
913
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
893
914
  # @return [::Object]
894
915
  # @!attribute [rw] scope
895
916
  # The OAuth scopes
@@ -929,6 +950,11 @@ module Google
929
950
  # default endpoint URL. The default value of nil uses the environment
930
951
  # universe (usually the default "googleapis.com" universe).
931
952
  # @return [::String,nil]
953
+ # @!attribute [rw] logger
954
+ # A custom logger to use for request/response debug logging, or the value
955
+ # `:default` (the default) to construct a default logger, or `nil` to
956
+ # explicitly disable logging.
957
+ # @return [::Logger,:default,nil]
932
958
  #
933
959
  class Configuration
934
960
  extend ::Gapic::Config
@@ -953,6 +979,7 @@ module Google
953
979
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
954
980
  config_attr :quota_project, nil, ::String, nil
955
981
  config_attr :universe_domain, nil, ::String, nil
982
+ config_attr :logger, :default, ::Logger, nil, :default
956
983
 
957
984
  # @private
958
985
  def initialize parent_config = nil
@@ -188,8 +188,28 @@ module Google
188
188
  endpoint: @config.endpoint,
189
189
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
190
190
  universe_domain: @config.universe_domain,
191
- credentials: credentials
191
+ credentials: credentials,
192
+ logger: @config.logger
192
193
  )
194
+
195
+ @binauthz_management_service_stub.logger(stub: true)&.info do |entry|
196
+ entry.set_system_name
197
+ entry.set_service
198
+ entry.message = "Created client for #{entry.service}"
199
+ entry.set_credentials_fields credentials
200
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
201
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
202
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
203
+ end
204
+ end
205
+
206
+ ##
207
+ # The logger used for request/response debug logging.
208
+ #
209
+ # @return [Logger]
210
+ #
211
+ def logger
212
+ @binauthz_management_service_stub.logger
193
213
  end
194
214
 
195
215
  # Service calls
@@ -274,7 +294,6 @@ module Google
274
294
 
275
295
  @binauthz_management_service_stub.get_policy request, options do |result, operation|
276
296
  yield result, operation if block_given?
277
- return result
278
297
  end
279
298
  rescue ::Gapic::Rest::Error => e
280
299
  raise ::Google::Cloud::Error.from_error(e)
@@ -359,7 +378,6 @@ module Google
359
378
 
360
379
  @binauthz_management_service_stub.update_policy request, options do |result, operation|
361
380
  yield result, operation if block_given?
362
- return result
363
381
  end
364
382
  rescue ::Gapic::Rest::Error => e
365
383
  raise ::Google::Cloud::Error.from_error(e)
@@ -447,7 +465,6 @@ module Google
447
465
 
448
466
  @binauthz_management_service_stub.create_attestor request, options do |result, operation|
449
467
  yield result, operation if block_given?
450
- return result
451
468
  end
452
469
  rescue ::Gapic::Rest::Error => e
453
470
  raise ::Google::Cloud::Error.from_error(e)
@@ -528,7 +545,6 @@ module Google
528
545
 
529
546
  @binauthz_management_service_stub.get_attestor request, options do |result, operation|
530
547
  yield result, operation if block_given?
531
- return result
532
548
  end
533
549
  rescue ::Gapic::Rest::Error => e
534
550
  raise ::Google::Cloud::Error.from_error(e)
@@ -610,7 +626,6 @@ module Google
610
626
 
611
627
  @binauthz_management_service_stub.update_attestor request, options do |result, operation|
612
628
  yield result, operation if block_given?
613
- return result
614
629
  end
615
630
  rescue ::Gapic::Rest::Error => e
616
631
  raise ::Google::Cloud::Error.from_error(e)
@@ -703,7 +718,7 @@ module Google
703
718
  @binauthz_management_service_stub.list_attestors request, options do |result, operation|
704
719
  result = ::Gapic::Rest::PagedEnumerable.new @binauthz_management_service_stub, :list_attestors, "attestors", request, result, options
705
720
  yield result, operation if block_given?
706
- return result
721
+ throw :response, result
707
722
  end
708
723
  rescue ::Gapic::Rest::Error => e
709
724
  raise ::Google::Cloud::Error.from_error(e)
@@ -784,7 +799,6 @@ module Google
784
799
 
785
800
  @binauthz_management_service_stub.delete_attestor request, options do |result, operation|
786
801
  yield result, operation if block_given?
787
- return result
788
802
  end
789
803
  rescue ::Gapic::Rest::Error => e
790
804
  raise ::Google::Cloud::Error.from_error(e)
@@ -832,6 +846,13 @@ module Google
832
846
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
833
847
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
834
848
  # * (`nil`) indicating no credentials
849
+ #
850
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
851
+ # external source for authentication to Google Cloud, you must validate it before
852
+ # providing it to a Google API client library. Providing an unvalidated credential
853
+ # configuration to Google APIs can compromise the security of your systems and data.
854
+ # For more information, refer to [Validate credential configurations from external
855
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
835
856
  # @return [::Object]
836
857
  # @!attribute [rw] scope
837
858
  # The OAuth scopes
@@ -864,6 +885,11 @@ module Google
864
885
  # default endpoint URL. The default value of nil uses the environment
865
886
  # universe (usually the default "googleapis.com" universe).
866
887
  # @return [::String,nil]
888
+ # @!attribute [rw] logger
889
+ # A custom logger to use for request/response debug logging, or the value
890
+ # `:default` (the default) to construct a default logger, or `nil` to
891
+ # explicitly disable logging.
892
+ # @return [::Logger,:default,nil]
867
893
  #
868
894
  class Configuration
869
895
  extend ::Gapic::Config
@@ -885,6 +911,7 @@ module Google
885
911
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
886
912
  config_attr :quota_project, nil, ::String, nil
887
913
  config_attr :universe_domain, nil, ::String, nil
914
+ config_attr :logger, :default, ::Logger, nil, :default
888
915
 
889
916
  # @private
890
917
  def initialize parent_config = nil
@@ -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 get_policy 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: "get_policy",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::BinaryAuthorization::V1::Policy.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: "update_policy",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::BinaryAuthorization::V1::Policy.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: "create_attestor",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::BinaryAuthorization::V1::Attestor.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: "get_attestor",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::BinaryAuthorization::V1::Attestor.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: "update_attestor",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Cloud::BinaryAuthorization::V1::Attestor.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: "list_attestors",
283
306
  options: options
284
307
  )
285
308
  operation = ::Gapic::Rest::TransportOperation.new response
286
309
  result = ::Google::Cloud::BinaryAuthorization::V1::ListAttestorsResponse.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
  ##
@@ -315,16 +339,18 @@ module Google
315
339
 
316
340
  response = @client_stub.make_http_request(
317
341
  verb,
318
- uri: uri,
319
- body: body || "",
320
- params: query_string_params,
342
+ uri: uri,
343
+ body: body || "",
344
+ params: query_string_params,
345
+ method_name: "delete_attestor",
321
346
  options: options
322
347
  )
323
348
  operation = ::Gapic::Rest::TransportOperation.new response
324
349
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
325
-
326
- yield result, operation if block_given?
327
- result
350
+ catch :response do
351
+ yield result, operation if block_given?
352
+ result
353
+ end
328
354
  end
329
355
 
330
356
  ##
@@ -157,8 +157,28 @@ module Google
157
157
  universe_domain: @config.universe_domain,
158
158
  channel_args: @config.channel_args,
159
159
  interceptors: @config.interceptors,
160
- channel_pool_config: @config.channel_pool
160
+ channel_pool_config: @config.channel_pool,
161
+ logger: @config.logger
161
162
  )
163
+
164
+ @system_policy_stub.stub_logger&.info do |entry|
165
+ entry.set_system_name
166
+ entry.set_service
167
+ entry.message = "Created client for #{entry.service}"
168
+ entry.set_credentials_fields credentials
169
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
170
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
171
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
172
+ end
173
+ end
174
+
175
+ ##
176
+ # The logger used for request/response debug logging.
177
+ #
178
+ # @return [Logger]
179
+ #
180
+ def logger
181
+ @system_policy_stub.logger
162
182
  end
163
183
 
164
184
  # Service calls
@@ -244,7 +264,6 @@ module Google
244
264
 
245
265
  @system_policy_stub.call_rpc :get_system_policy, request, options: options do |response, operation|
246
266
  yield response, operation if block_given?
247
- return response
248
267
  end
249
268
  rescue ::GRPC::BadStatus => e
250
269
  raise ::Google::Cloud::Error.from_error(e)
@@ -294,6 +313,13 @@ module Google
294
313
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
295
314
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
296
315
  # * (`nil`) indicating no credentials
316
+ #
317
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
318
+ # external source for authentication to Google Cloud, you must validate it before
319
+ # providing it to a Google API client library. Providing an unvalidated credential
320
+ # configuration to Google APIs can compromise the security of your systems and data.
321
+ # For more information, refer to [Validate credential configurations from external
322
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
297
323
  # @return [::Object]
298
324
  # @!attribute [rw] scope
299
325
  # The OAuth scopes
@@ -333,6 +359,11 @@ module Google
333
359
  # default endpoint URL. The default value of nil uses the environment
334
360
  # universe (usually the default "googleapis.com" universe).
335
361
  # @return [::String,nil]
362
+ # @!attribute [rw] logger
363
+ # A custom logger to use for request/response debug logging, or the value
364
+ # `:default` (the default) to construct a default logger, or `nil` to
365
+ # explicitly disable logging.
366
+ # @return [::Logger,:default,nil]
336
367
  #
337
368
  class Configuration
338
369
  extend ::Gapic::Config
@@ -357,6 +388,7 @@ module Google
357
388
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
358
389
  config_attr :quota_project, nil, ::String, nil
359
390
  config_attr :universe_domain, nil, ::String, nil
391
+ config_attr :logger, :default, ::Logger, nil, :default
360
392
 
361
393
  # @private
362
394
  def initialize parent_config = nil
@@ -150,8 +150,28 @@ module Google
150
150
  endpoint: @config.endpoint,
151
151
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
152
152
  universe_domain: @config.universe_domain,
153
- credentials: credentials
153
+ credentials: credentials,
154
+ logger: @config.logger
154
155
  )
156
+
157
+ @system_policy_stub.logger(stub: true)&.info do |entry|
158
+ entry.set_system_name
159
+ entry.set_service
160
+ entry.message = "Created client for #{entry.service}"
161
+ entry.set_credentials_fields credentials
162
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
163
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
164
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
165
+ end
166
+ end
167
+
168
+ ##
169
+ # The logger used for request/response debug logging.
170
+ #
171
+ # @return [Logger]
172
+ #
173
+ def logger
174
+ @system_policy_stub.logger
155
175
  end
156
176
 
157
177
  # Service calls
@@ -230,7 +250,6 @@ module Google
230
250
 
231
251
  @system_policy_stub.get_system_policy request, options do |result, operation|
232
252
  yield result, operation if block_given?
233
- return result
234
253
  end
235
254
  rescue ::Gapic::Rest::Error => e
236
255
  raise ::Google::Cloud::Error.from_error(e)
@@ -278,6 +297,13 @@ module Google
278
297
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
279
298
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
280
299
  # * (`nil`) indicating no credentials
300
+ #
301
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
302
+ # external source for authentication to Google Cloud, you must validate it before
303
+ # providing it to a Google API client library. Providing an unvalidated credential
304
+ # configuration to Google APIs can compromise the security of your systems and data.
305
+ # For more information, refer to [Validate credential configurations from external
306
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
281
307
  # @return [::Object]
282
308
  # @!attribute [rw] scope
283
309
  # The OAuth scopes
@@ -310,6 +336,11 @@ module Google
310
336
  # default endpoint URL. The default value of nil uses the environment
311
337
  # universe (usually the default "googleapis.com" universe).
312
338
  # @return [::String,nil]
339
+ # @!attribute [rw] logger
340
+ # A custom logger to use for request/response debug logging, or the value
341
+ # `:default` (the default) to construct a default logger, or `nil` to
342
+ # explicitly disable logging.
343
+ # @return [::Logger,:default,nil]
313
344
  #
314
345
  class Configuration
315
346
  extend ::Gapic::Config
@@ -331,6 +362,7 @@ module Google
331
362
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
332
363
  config_attr :quota_project, nil, ::String, nil
333
364
  config_attr :universe_domain, nil, ::String, nil
365
+ config_attr :logger, :default, ::Logger, nil, :default
334
366
 
335
367
  # @private
336
368
  def initialize parent_config = nil
@@ -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 get_system_policy 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: "get_system_policy",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::BinaryAuthorization::V1::Policy.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
  ##
@@ -155,8 +155,28 @@ module Google
155
155
  universe_domain: @config.universe_domain,
156
156
  channel_args: @config.channel_args,
157
157
  interceptors: @config.interceptors,
158
- channel_pool_config: @config.channel_pool
158
+ channel_pool_config: @config.channel_pool,
159
+ logger: @config.logger
159
160
  )
161
+
162
+ @validation_helper_stub.stub_logger&.info do |entry|
163
+ entry.set_system_name
164
+ entry.set_service
165
+ entry.message = "Created client for #{entry.service}"
166
+ entry.set_credentials_fields credentials
167
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
168
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
169
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
170
+ end
171
+ end
172
+
173
+ ##
174
+ # The logger used for request/response debug logging.
175
+ #
176
+ # @return [Logger]
177
+ #
178
+ def logger
179
+ @validation_helper_stub.logger
160
180
  end
161
181
 
162
182
  # Service calls
@@ -255,7 +275,6 @@ module Google
255
275
 
256
276
  @validation_helper_stub.call_rpc :validate_attestation_occurrence, request, options: options do |response, operation|
257
277
  yield response, operation if block_given?
258
- return response
259
278
  end
260
279
  rescue ::GRPC::BadStatus => e
261
280
  raise ::Google::Cloud::Error.from_error(e)
@@ -305,6 +324,13 @@ module Google
305
324
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
306
325
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
307
326
  # * (`nil`) indicating no credentials
327
+ #
328
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
329
+ # external source for authentication to Google Cloud, you must validate it before
330
+ # providing it to a Google API client library. Providing an unvalidated credential
331
+ # configuration to Google APIs can compromise the security of your systems and data.
332
+ # For more information, refer to [Validate credential configurations from external
333
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
308
334
  # @return [::Object]
309
335
  # @!attribute [rw] scope
310
336
  # The OAuth scopes
@@ -344,6 +370,11 @@ module Google
344
370
  # default endpoint URL. The default value of nil uses the environment
345
371
  # universe (usually the default "googleapis.com" universe).
346
372
  # @return [::String,nil]
373
+ # @!attribute [rw] logger
374
+ # A custom logger to use for request/response debug logging, or the value
375
+ # `:default` (the default) to construct a default logger, or `nil` to
376
+ # explicitly disable logging.
377
+ # @return [::Logger,:default,nil]
347
378
  #
348
379
  class Configuration
349
380
  extend ::Gapic::Config
@@ -368,6 +399,7 @@ module Google
368
399
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
369
400
  config_attr :quota_project, nil, ::String, nil
370
401
  config_attr :universe_domain, nil, ::String, nil
402
+ config_attr :logger, :default, ::Logger, nil, :default
371
403
 
372
404
  # @private
373
405
  def initialize parent_config = nil
@@ -148,8 +148,28 @@ module Google
148
148
  endpoint: @config.endpoint,
149
149
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
150
150
  universe_domain: @config.universe_domain,
151
- credentials: credentials
151
+ credentials: credentials,
152
+ logger: @config.logger
152
153
  )
154
+
155
+ @validation_helper_stub.logger(stub: true)&.info do |entry|
156
+ entry.set_system_name
157
+ entry.set_service
158
+ entry.message = "Created client for #{entry.service}"
159
+ entry.set_credentials_fields credentials
160
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
161
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
162
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
163
+ end
164
+ end
165
+
166
+ ##
167
+ # The logger used for request/response debug logging.
168
+ #
169
+ # @return [Logger]
170
+ #
171
+ def logger
172
+ @validation_helper_stub.logger
153
173
  end
154
174
 
155
175
  # Service calls
@@ -241,7 +261,6 @@ module Google
241
261
 
242
262
  @validation_helper_stub.validate_attestation_occurrence request, options do |result, operation|
243
263
  yield result, operation if block_given?
244
- return result
245
264
  end
246
265
  rescue ::Gapic::Rest::Error => e
247
266
  raise ::Google::Cloud::Error.from_error(e)
@@ -289,6 +308,13 @@ module Google
289
308
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
290
309
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
291
310
  # * (`nil`) indicating no credentials
311
+ #
312
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
313
+ # external source for authentication to Google Cloud, you must validate it before
314
+ # providing it to a Google API client library. Providing an unvalidated credential
315
+ # configuration to Google APIs can compromise the security of your systems and data.
316
+ # For more information, refer to [Validate credential configurations from external
317
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
292
318
  # @return [::Object]
293
319
  # @!attribute [rw] scope
294
320
  # The OAuth scopes
@@ -321,6 +347,11 @@ module Google
321
347
  # default endpoint URL. The default value of nil uses the environment
322
348
  # universe (usually the default "googleapis.com" universe).
323
349
  # @return [::String,nil]
350
+ # @!attribute [rw] logger
351
+ # A custom logger to use for request/response debug logging, or the value
352
+ # `:default` (the default) to construct a default logger, or `nil` to
353
+ # explicitly disable logging.
354
+ # @return [::Logger,:default,nil]
324
355
  #
325
356
  class Configuration
326
357
  extend ::Gapic::Config
@@ -342,6 +373,7 @@ module Google
342
373
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
343
374
  config_attr :quota_project, nil, ::String, nil
344
375
  config_attr :universe_domain, nil, ::String, nil
376
+ config_attr :logger, :default, ::Logger, nil, :default
345
377
 
346
378
  # @private
347
379
  def initialize parent_config = nil
@@ -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 validate_attestation_occurrence 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: "validate_attestation_occurrence",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::BinaryAuthorization::V1::ValidateAttestationOccurrenceResponse.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
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module BinaryAuthorization
23
23
  module V1
24
- VERSION = "1.0.1"
24
+ VERSION = "1.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
@@ -352,6 +352,8 @@ module Google
352
352
  # computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as
353
353
  # upper-case hex. If `id` is provided by the caller, it will be
354
354
  # overwritten by the API-calculated ID.
355
+ #
356
+ # Note: The following fields are mutually exclusive: `ascii_armored_pgp_public_key`, `pkix_public_key`. If a field in that set is populated, all other fields in the set will automatically be cleared.
355
357
  # @!attribute [rw] pkix_public_key
356
358
  # @return [::Google::Cloud::BinaryAuthorization::V1::PkixPublicKey]
357
359
  # A raw PKIX SubjectPublicKeyInfo format public key.
@@ -360,6 +362,8 @@ module Google
360
362
  # type of public key, but it MUST be a valid RFC3986 URI. If `id` is left
361
363
  # blank, a default one will be computed based on the digest of the DER
362
364
  # encoding of the public key.
365
+ #
366
+ # Note: The following fields are mutually exclusive: `pkix_public_key`, `ascii_armored_pgp_public_key`. If a field in that set is populated, all other fields in the set will automatically be cleared.
363
367
  class AttestorPublicKey
364
368
  include ::Google::Protobuf::MessageExts
365
369
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-binary_authorization-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
@@ -121,7 +120,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
121
120
  licenses:
122
121
  - Apache-2.0
123
122
  metadata: {}
124
- post_install_message:
125
123
  rdoc_options: []
126
124
  require_paths:
127
125
  - lib
@@ -129,15 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
127
  requirements:
130
128
  - - ">="
131
129
  - !ruby/object:Gem::Version
132
- version: '2.7'
130
+ version: '3.0'
133
131
  required_rubygems_version: !ruby/object:Gem::Requirement
134
132
  requirements:
135
133
  - - ">="
136
134
  - !ruby/object:Gem::Version
137
135
  version: '0'
138
136
  requirements: []
139
- rubygems_version: 3.5.6
140
- signing_key:
137
+ rubygems_version: 3.6.2
141
138
  specification_version: 4
142
139
  summary: The management interface for Binary Authorization, a system providing policy
143
140
  control for images deployed to Kubernetes Engine clusters, Anthos clusters on VMware,