Class: Google::Cloud::Tasks::V2::CloudTasks::Rest::ServiceStub

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb

Overview

REST service stub for the CloudTasks service. Service stub contains baseline method implementations including transcoding, making the REST call, and deserialing the response.

Instance Method Summary collapse

Constructor Details

#initialize(endpoint:, credentials:) ⇒ ServiceStub

Returns a new instance of ServiceStub.



33
34
35
36
37
38
39
40
41
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 33

def initialize endpoint:, credentials:
  # These require statements are intentionally placed here to initialize
  # the REST modules only when it's required.
  require "gapic/rest"

  @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
                                               numeric_enums: true,
                                               raise_faraday_errors: false
end

Instance Method Details

#create_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the create_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::CreateQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 133

def create_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_create_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#create_task(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Task

Baseline implementation for the create_task REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::CreateTaskRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 551

def create_task request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_create_task_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Task.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#delete_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Protobuf::Empty

Baseline implementation for the delete_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::DeleteQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 209

def delete_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_delete_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#delete_task(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Protobuf::Empty

Baseline implementation for the delete_task REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::DeleteTaskRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 589

def delete_task request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_delete_task_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#get_iam_policy(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Iam::V1::Policy

Baseline implementation for the get_iam_policy REST call

Parameters:

  • request_pb (::Google::Iam::V1::GetIamPolicyRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 361

def get_iam_policy request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_get_iam_policy_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Iam::V1::Policy.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#get_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the get_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::GetQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 95

def get_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_get_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#get_task(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Task

Baseline implementation for the get_task REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::GetTaskRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 513

def get_task request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_get_task_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Task.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#list_queues(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::ListQueuesResponse

Baseline implementation for the list_queues REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::ListQueuesRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 57

def list_queues request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_list_queues_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::ListQueuesResponse.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#list_tasks(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::ListTasksResponse

Baseline implementation for the list_tasks REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::ListTasksRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 475

def list_tasks request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_list_tasks_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::ListTasksResponse.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#pause_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the pause_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::PauseQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 285

def pause_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_pause_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#purge_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the purge_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::PurgeQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 247

def purge_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_purge_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#resume_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the resume_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::ResumeQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 323

def resume_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_resume_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#run_task(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Task

Baseline implementation for the run_task REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::RunTaskRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 627

def run_task request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_run_task_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Task.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#set_iam_policy(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Iam::V1::Policy

Baseline implementation for the set_iam_policy REST call

Parameters:

  • request_pb (::Google::Iam::V1::SetIamPolicyRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 399

def set_iam_policy request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_set_iam_policy_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Iam::V1::Policy.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#test_iam_permissions(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Iam::V1::TestIamPermissionsResponse

Baseline implementation for the test_iam_permissions REST call

Parameters:

  • request_pb (::Google::Iam::V1::TestIamPermissionsRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 437

def test_iam_permissions request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_test_iam_permissions_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Iam::V1::TestIamPermissionsResponse.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end

#update_queue(request_pb, options = nil) {|result, operation| ... } ⇒ ::Google::Cloud::Tasks::V2::Queue

Baseline implementation for the update_queue REST call

Parameters:

  • request_pb (::Google::Cloud::Tasks::V2::UpdateQueueRequest)

    A request object representing the call parameters. Required.

  • options (::Gapic::CallOptions) (defaults to: nil)

    Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::ArgumentError)


171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/google/cloud/tasks/v2/cloud_tasks/rest/service_stub.rb', line 171

def update_queue request_pb, options = nil
  raise ::ArgumentError, "request must be provided" if request_pb.nil?

  verb, uri, query_string_params, body = ServiceStub.transcode_update_queue_request request_pb
  query_string_params = if query_string_params.any?
                          query_string_params.to_h { |p| p.split("=", 2) }
                        else
                          {}
                        end

  response = @client_stub.make_http_request(
    verb,
    uri:     uri,
    body:    body || "",
    params:  query_string_params,
    options: options
  )
  operation = ::Gapic::Rest::TransportOperation.new response
  result = ::Google::Cloud::Tasks::V2::Queue.decode_json response.body, ignore_unknown_fields: true

  yield result, operation if block_given?
  result
end