google-cloud-speech-v1p1beta1 0.21.0 → 0.22.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.
@@ -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 create_phrase_set 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: "create_phrase_set",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Speech::V1p1beta1::PhraseSet.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: "get_phrase_set",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::Speech::V1p1beta1::PhraseSet.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: "list_phrase_set",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::Speech::V1p1beta1::ListPhraseSetResponse.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: "update_phrase_set",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::Speech::V1p1beta1::PhraseSet.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: "delete_phrase_set",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Protobuf::Empty.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: "create_custom_class",
283
306
  options: options
284
307
  )
285
308
  operation = ::Gapic::Rest::TransportOperation.new response
286
309
  result = ::Google::Cloud::Speech::V1p1beta1::CustomClass.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: "get_custom_class",
321
346
  options: options
322
347
  )
323
348
  operation = ::Gapic::Rest::TransportOperation.new response
324
349
  result = ::Google::Cloud::Speech::V1p1beta1::CustomClass.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
  ##
@@ -353,16 +379,18 @@ module Google
353
379
 
354
380
  response = @client_stub.make_http_request(
355
381
  verb,
356
- uri: uri,
357
- body: body || "",
358
- params: query_string_params,
382
+ uri: uri,
383
+ body: body || "",
384
+ params: query_string_params,
385
+ method_name: "list_custom_classes",
359
386
  options: options
360
387
  )
361
388
  operation = ::Gapic::Rest::TransportOperation.new response
362
389
  result = ::Google::Cloud::Speech::V1p1beta1::ListCustomClassesResponse.decode_json response.body, ignore_unknown_fields: true
363
-
364
- yield result, operation if block_given?
365
- result
390
+ catch :response do
391
+ yield result, operation if block_given?
392
+ result
393
+ end
366
394
  end
367
395
 
368
396
  ##
@@ -391,16 +419,18 @@ module Google
391
419
 
392
420
  response = @client_stub.make_http_request(
393
421
  verb,
394
- uri: uri,
395
- body: body || "",
396
- params: query_string_params,
422
+ uri: uri,
423
+ body: body || "",
424
+ params: query_string_params,
425
+ method_name: "update_custom_class",
397
426
  options: options
398
427
  )
399
428
  operation = ::Gapic::Rest::TransportOperation.new response
400
429
  result = ::Google::Cloud::Speech::V1p1beta1::CustomClass.decode_json response.body, ignore_unknown_fields: true
401
-
402
- yield result, operation if block_given?
403
- result
430
+ catch :response do
431
+ yield result, operation if block_given?
432
+ result
433
+ end
404
434
  end
405
435
 
406
436
  ##
@@ -429,16 +459,18 @@ module Google
429
459
 
430
460
  response = @client_stub.make_http_request(
431
461
  verb,
432
- uri: uri,
433
- body: body || "",
434
- params: query_string_params,
462
+ uri: uri,
463
+ body: body || "",
464
+ params: query_string_params,
465
+ method_name: "delete_custom_class",
435
466
  options: options
436
467
  )
437
468
  operation = ::Gapic::Rest::TransportOperation.new response
438
469
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
439
-
440
- yield result, operation if block_given?
441
- result
470
+ catch :response do
471
+ yield result, operation if block_given?
472
+ result
473
+ end
442
474
  end
443
475
 
444
476
  ##
@@ -30,6 +30,9 @@ module Google
30
30
  # Service that implements Google Cloud Speech API.
31
31
  #
32
32
  class Client
33
+ # @private
34
+ API_VERSION = ""
35
+
33
36
  # @private
34
37
  DEFAULT_ENDPOINT_TEMPLATE = "speech.$UNIVERSE_DOMAIN$"
35
38
 
@@ -173,8 +176,19 @@ module Google
173
176
  universe_domain: @config.universe_domain,
174
177
  channel_args: @config.channel_args,
175
178
  interceptors: @config.interceptors,
176
- channel_pool_config: @config.channel_pool
179
+ channel_pool_config: @config.channel_pool,
180
+ logger: @config.logger
177
181
  )
182
+
183
+ @speech_stub.stub_logger&.info do |entry|
184
+ entry.set_system_name
185
+ entry.set_service
186
+ entry.message = "Created client for #{entry.service}"
187
+ entry.set_credentials_fields credentials
188
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
189
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
190
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
191
+ end
178
192
  end
179
193
 
180
194
  ##
@@ -184,6 +198,15 @@ module Google
184
198
  #
185
199
  attr_reader :operations_client
186
200
 
201
+ ##
202
+ # The logger used for request/response debug logging.
203
+ #
204
+ # @return [Logger]
205
+ #
206
+ def logger
207
+ @speech_stub.logger
208
+ end
209
+
187
210
  # Service calls
188
211
 
189
212
  ##
@@ -245,10 +268,11 @@ module Google
245
268
  # Customize the options with defaults
246
269
  metadata = @config.rpcs.recognize.metadata.to_h
247
270
 
248
- # Set x-goog-api-client and x-goog-user-project headers
271
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
249
272
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
250
273
  lib_name: @config.lib_name, lib_version: @config.lib_version,
251
274
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
275
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
252
276
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
253
277
 
254
278
  options.apply_defaults timeout: @config.rpcs.recognize.timeout,
@@ -261,7 +285,6 @@ module Google
261
285
 
262
286
  @speech_stub.call_rpc :recognize, request, options: options do |response, operation|
263
287
  yield response, operation if block_given?
264
- return response
265
288
  end
266
289
  rescue ::GRPC::BadStatus => e
267
290
  raise ::Google::Cloud::Error.from_error(e)
@@ -339,10 +362,11 @@ module Google
339
362
  # Customize the options with defaults
340
363
  metadata = @config.rpcs.long_running_recognize.metadata.to_h
341
364
 
342
- # Set x-goog-api-client and x-goog-user-project headers
365
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
343
366
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
344
367
  lib_name: @config.lib_name, lib_version: @config.lib_version,
345
368
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
369
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
346
370
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
347
371
 
348
372
  options.apply_defaults timeout: @config.rpcs.long_running_recognize.timeout,
@@ -356,7 +380,7 @@ module Google
356
380
  @speech_stub.call_rpc :long_running_recognize, request, options: options do |response, operation|
357
381
  response = ::Gapic::Operation.new response, @operations_client, options: options
358
382
  yield response, operation if block_given?
359
- return response
383
+ throw :response, response
360
384
  end
361
385
  rescue ::GRPC::BadStatus => e
362
386
  raise ::Google::Cloud::Error.from_error(e)
@@ -419,10 +443,11 @@ module Google
419
443
  # Customize the options with defaults
420
444
  metadata = @config.rpcs.streaming_recognize.metadata.to_h
421
445
 
422
- # Set x-goog-api-client and x-goog-user-project headers
446
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
423
447
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
424
448
  lib_name: @config.lib_name, lib_version: @config.lib_version,
425
449
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
450
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
426
451
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
427
452
 
428
453
  options.apply_defaults timeout: @config.rpcs.streaming_recognize.timeout,
@@ -435,7 +460,6 @@ module Google
435
460
 
436
461
  @speech_stub.call_rpc :streaming_recognize, request, options: options do |response, operation|
437
462
  yield response, operation if block_given?
438
- return response
439
463
  end
440
464
  rescue ::GRPC::BadStatus => e
441
465
  raise ::Google::Cloud::Error.from_error(e)
@@ -524,6 +548,11 @@ module Google
524
548
  # default endpoint URL. The default value of nil uses the environment
525
549
  # universe (usually the default "googleapis.com" universe).
526
550
  # @return [::String,nil]
551
+ # @!attribute [rw] logger
552
+ # A custom logger to use for request/response debug logging, or the value
553
+ # `:default` (the default) to construct a default logger, or `nil` to
554
+ # explicitly disable logging.
555
+ # @return [::Logger,:default,nil]
527
556
  #
528
557
  class Configuration
529
558
  extend ::Gapic::Config
@@ -548,6 +577,7 @@ module Google
548
577
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
549
578
  config_attr :quota_project, nil, ::String, nil
550
579
  config_attr :universe_domain, nil, ::String, nil
580
+ config_attr :logger, :default, ::Logger, nil, :default
551
581
 
552
582
  # @private
553
583
  def initialize parent_config = nil
@@ -26,6 +26,9 @@ module Google
26
26
  module Speech
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ API_VERSION = ""
31
+
29
32
  # @private
30
33
  DEFAULT_ENDPOINT_TEMPLATE = "speech.$UNIVERSE_DOMAIN$"
31
34
 
@@ -121,14 +124,6 @@ module Google
121
124
  # Lists operations that match the specified filter in the request. If the
122
125
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
123
126
  #
124
- # NOTE: the `name` binding allows API services to override the binding
125
- # to use different resource name schemes, such as `users/*/operations`. To
126
- # override the binding, API services can add a binding such as
127
- # `"/v1/{name=users/*}/operations"` to their service configuration.
128
- # For backwards compatibility, the default name includes the operations
129
- # collection id, however overriding users must ensure the name binding
130
- # is the parent resource, without the operations collection id.
131
- #
132
127
  # @overload list_operations(request, options = nil)
133
128
  # Pass arguments to `list_operations` via a request object, either of type
134
129
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -191,10 +186,11 @@ module Google
191
186
  # Customize the options with defaults
192
187
  metadata = @config.rpcs.list_operations.metadata.to_h
193
188
 
194
- # Set x-goog-api-client and x-goog-user-project headers
189
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
195
190
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
196
191
  lib_name: @config.lib_name, lib_version: @config.lib_version,
197
192
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
193
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
198
194
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
199
195
 
200
196
  options.apply_defaults timeout: @config.rpcs.list_operations.timeout,
@@ -209,7 +205,7 @@ module Google
209
205
  wrap_lro_operation = ->(op_response) { ::Gapic::Operation.new op_response, @operations_client }
210
206
  response = ::Gapic::PagedEnumerable.new @operations_stub, :list_operations, request, response, operation, options, format_resource: wrap_lro_operation
211
207
  yield response, operation if block_given?
212
- return response
208
+ throw :response, response
213
209
  end
214
210
  rescue ::GRPC::BadStatus => e
215
211
  raise ::Google::Cloud::Error.from_error(e)
@@ -279,10 +275,11 @@ module Google
279
275
  # Customize the options with defaults
280
276
  metadata = @config.rpcs.get_operation.metadata.to_h
281
277
 
282
- # Set x-goog-api-client and x-goog-user-project headers
278
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
283
279
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
284
280
  lib_name: @config.lib_name, lib_version: @config.lib_version,
285
281
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
282
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
286
283
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
287
284
 
288
285
  header_params = {}
@@ -304,7 +301,7 @@ module Google
304
301
  @operations_stub.call_rpc :get_operation, request, options: options do |response, operation|
305
302
  response = ::Gapic::Operation.new response, @operations_client, options: options
306
303
  yield response, operation if block_given?
307
- return response
304
+ throw :response, response
308
305
  end
309
306
  rescue ::GRPC::BadStatus => e
310
307
  raise ::Google::Cloud::Error.from_error(e)
@@ -368,10 +365,11 @@ module Google
368
365
  # Customize the options with defaults
369
366
  metadata = @config.rpcs.delete_operation.metadata.to_h
370
367
 
371
- # Set x-goog-api-client and x-goog-user-project headers
368
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
372
369
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
373
370
  lib_name: @config.lib_name, lib_version: @config.lib_version,
374
371
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
372
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
375
373
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
376
374
 
377
375
  header_params = {}
@@ -392,7 +390,6 @@ module Google
392
390
 
393
391
  @operations_stub.call_rpc :delete_operation, request, options: options do |response, operation|
394
392
  yield response, operation if block_given?
395
- return response
396
393
  end
397
394
  rescue ::GRPC::BadStatus => e
398
395
  raise ::Google::Cloud::Error.from_error(e)
@@ -407,8 +404,9 @@ module Google
407
404
  # other methods to check whether the cancellation succeeded or whether the
408
405
  # operation completed despite cancellation. On successful cancellation,
409
406
  # the operation is not deleted; instead, it becomes an operation with
410
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
411
- # 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`.
412
410
  #
413
411
  # @overload cancel_operation(request, options = nil)
414
412
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -462,10 +460,11 @@ module Google
462
460
  # Customize the options with defaults
463
461
  metadata = @config.rpcs.cancel_operation.metadata.to_h
464
462
 
465
- # Set x-goog-api-client and x-goog-user-project headers
463
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
466
464
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
467
465
  lib_name: @config.lib_name, lib_version: @config.lib_version,
468
466
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
467
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
469
468
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
470
469
 
471
470
  header_params = {}
@@ -486,7 +485,6 @@ module Google
486
485
 
487
486
  @operations_stub.call_rpc :cancel_operation, request, options: options do |response, operation|
488
487
  yield response, operation if block_given?
489
- return response
490
488
  end
491
489
  rescue ::GRPC::BadStatus => e
492
490
  raise ::Google::Cloud::Error.from_error(e)
@@ -566,10 +564,11 @@ module Google
566
564
  # Customize the options with defaults
567
565
  metadata = @config.rpcs.wait_operation.metadata.to_h
568
566
 
569
- # Set x-goog-api-client and x-goog-user-project headers
567
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
570
568
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
571
569
  lib_name: @config.lib_name, lib_version: @config.lib_version,
572
570
  gapic_version: ::Google::Cloud::Speech::V1p1beta1::VERSION
571
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
573
572
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
574
573
 
575
574
  options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
@@ -583,7 +582,7 @@ module Google
583
582
  @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
584
583
  response = ::Gapic::Operation.new response, @operations_client, options: options
585
584
  yield response, operation if block_given?
586
- return response
585
+ throw :response, response
587
586
  end
588
587
  rescue ::GRPC::BadStatus => e
589
588
  raise ::Google::Cloud::Error.from_error(e)
@@ -672,6 +671,11 @@ module Google
672
671
  # default endpoint URL. The default value of nil uses the environment
673
672
  # universe (usually the default "googleapis.com" universe).
674
673
  # @return [::String,nil]
674
+ # @!attribute [rw] logger
675
+ # A custom logger to use for request/response debug logging, or the value
676
+ # `:default` (the default) to construct a default logger, or `nil` to
677
+ # explicitly disable logging.
678
+ # @return [::Logger,:default,nil]
675
679
  #
676
680
  class Configuration
677
681
  extend ::Gapic::Config
@@ -696,6 +700,7 @@ module Google
696
700
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
697
701
  config_attr :quota_project, nil, ::String, nil
698
702
  config_attr :universe_domain, nil, ::String, nil
703
+ config_attr :logger, :default, ::Logger, nil, :default
699
704
 
700
705
  # @private
701
706
  def initialize parent_config = nil