google-cloud-binary_authorization-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: 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,