google-cloud-tasks-v2beta3 0.10.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,6 +18,7 @@
18
18
 
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/tasks/v2beta3/cloudtasks_pb"
21
+ require "google/cloud/location"
21
22
 
22
23
  module Google
23
24
  module Cloud
@@ -121,6 +122,8 @@ module Google
121
122
 
122
123
  default_config.rpcs.run_task.timeout = 20.0
123
124
 
125
+ default_config.rpcs.buffer_task.timeout = 20.0
126
+
124
127
  default_config
125
128
  end
126
129
  yield @configure if block_given?
@@ -190,15 +193,29 @@ module Google
190
193
  @quota_project_id = @config.quota_project
191
194
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
192
195
 
196
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
197
+ config.credentials = credentials
198
+ config.quota_project = @quota_project_id
199
+ config.endpoint = @config.endpoint
200
+ end
201
+
193
202
  @cloud_tasks_stub = ::Gapic::ServiceStub.new(
194
203
  ::Google::Cloud::Tasks::V2beta3::CloudTasks::Stub,
195
204
  credentials: credentials,
196
205
  endpoint: @config.endpoint,
197
206
  channel_args: @config.channel_args,
198
- interceptors: @config.interceptors
207
+ interceptors: @config.interceptors,
208
+ channel_pool_config: @config.channel_pool
199
209
  )
200
210
  end
201
211
 
212
+ ##
213
+ # Get the associated client for mix-in of the Locations.
214
+ #
215
+ # @return [Google::Cloud::Location::Locations::Client]
216
+ #
217
+ attr_reader :location_client
218
+
202
219
  # Service calls
203
220
 
204
221
  ##
@@ -225,11 +242,10 @@ module Google
225
242
  # Required. The location name.
226
243
  # For example: `projects/PROJECT_ID/locations/LOCATION_ID`
227
244
  # @param filter [::String]
228
- # `filter` can be used to specify a subset of queues. Any {::Google::Cloud::Tasks::V2beta3::Queue Queue}
229
- # field can be used as a filter and several operators as supported.
230
- # For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as
231
- # described in
232
- # [Stackdriver's Advanced Logs
245
+ # `filter` can be used to specify a subset of queues. Any
246
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue} field can be used as a filter and
247
+ # several operators as supported. For example: `<=, <, >=, >, !=, =, :`. The
248
+ # filter syntax is the same as described in [Stackdriver's Advanced Logs
233
249
  # Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
234
250
  #
235
251
  # Sample filter "state: PAUSED".
@@ -242,20 +258,22 @@ module Google
242
258
  # The maximum page size is 9800. If unspecified, the page size will
243
259
  # be the maximum. Fewer queues than requested might be returned,
244
260
  # even if more queues exist; use the
245
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token} in the
246
- # response to determine if more queues exist.
261
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token}
262
+ # in the response to determine if more queues exist.
247
263
  # @param page_token [::String]
248
264
  # A token identifying the page of results to return.
249
265
  #
250
266
  # To request the first page results, page_token must be empty. To
251
267
  # request the next page of results, page_token must be the value of
252
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token} returned
253
- # from the previous call to {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#list_queues ListQueues}
254
- # method. It is an error to switch the value of the
255
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesRequest#filter filter} while iterating through pages.
268
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token}
269
+ # returned from the previous call to
270
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#list_queues ListQueues} method. It
271
+ # is an error to switch the value of the
272
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesRequest#filter filter} while
273
+ # iterating through pages.
256
274
  # @param read_mask [::Google::Protobuf::FieldMask, ::Hash]
257
- # Optional. Read mask is used for a more granular control over what the API returns.
258
- # If the mask is not present all fields will be returned except
275
+ # Optional. Read mask is used for a more granular control over what the API
276
+ # returns. If the mask is not present all fields will be returned except
259
277
  # [Queue.stats]. [Queue.stats] will be returned only if it was explicitly
260
278
  # specified in the mask.
261
279
  #
@@ -350,8 +368,8 @@ module Google
350
368
  # Required. The resource name of the queue. For example:
351
369
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
352
370
  # @param read_mask [::Google::Protobuf::FieldMask, ::Hash]
353
- # Optional. Read mask is used for a more granular control over what the API returns.
354
- # If the mask is not present all fields will be returned except
371
+ # Optional. Read mask is used for a more granular control over what the API
372
+ # returns. If the mask is not present all fields will be returned except
355
373
  # [Queue.stats]. [Queue.stats] will be returned only if it was explicitly
356
374
  # specified in the mask.
357
375
  #
@@ -423,8 +441,8 @@ module Google
423
441
  # Creates a queue.
424
442
  #
425
443
  # Queues created with this method allow tasks to live for a maximum of 31
426
- # days. After a task is 31 days old, the task will be deleted regardless of whether
427
- # it was dispatched or not.
444
+ # days. After a task is 31 days old, the task will be deleted regardless of
445
+ # whether it was dispatched or not.
428
446
  #
429
447
  # WARNING: Using this method may have unintended side effects if you are
430
448
  # using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
@@ -454,11 +472,12 @@ module Google
454
472
  #
455
473
  # The list of allowed locations can be obtained by calling Cloud
456
474
  # Tasks' implementation of
457
- # [ListLocations][google.cloud.location.Locations.ListLocations].
475
+ # `::Google::Cloud::Location::Locations::Client#list_locations`.
458
476
  # @param queue [::Google::Cloud::Tasks::V2beta3::Queue, ::Hash]
459
477
  # Required. The queue to create.
460
478
  #
461
- # [Queue's name][google.cloud.tasks.v2beta3.Queue.name] cannot be the same as an existing queue.
479
+ # [Queue's name][google.cloud.tasks.v2beta3.Queue.name] cannot be the same as
480
+ # an existing queue.
462
481
  #
463
482
  # @yield [response, operation] Access the result along with the RPC operation
464
483
  # @yieldparam response [::Google::Cloud::Tasks::V2beta3::Queue]
@@ -531,8 +550,8 @@ module Google
531
550
  # the queue if it does exist.
532
551
  #
533
552
  # Queues created with this method allow tasks to live for a maximum of 31
534
- # days. After a task is 31 days old, the task will be deleted regardless of whether
535
- # it was dispatched or not.
553
+ # days. After a task is 31 days old, the task will be deleted regardless of
554
+ # whether it was dispatched or not.
536
555
  #
537
556
  # WARNING: Using this method may have unintended side effects if you are
538
557
  # using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
@@ -559,11 +578,13 @@ module Google
559
578
  # @param queue [::Google::Cloud::Tasks::V2beta3::Queue, ::Hash]
560
579
  # Required. The queue to create or update.
561
580
  #
562
- # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} must be specified.
581
+ # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} must be
582
+ # specified.
563
583
  #
564
584
  # Output only fields cannot be modified using UpdateQueue.
565
585
  # Any value specified for an output only field will be ignored.
566
- # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} cannot be changed.
586
+ # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} cannot be
587
+ # changed.
567
588
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
568
589
  # A mask used to specify which fields of the queue are being updated.
569
590
  #
@@ -827,9 +848,10 @@ module Google
827
848
  #
828
849
  # If a queue is paused then the system will stop dispatching tasks
829
850
  # until the queue is resumed via
830
- # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#resume_queue ResumeQueue}. Tasks can still be added
831
- # when the queue is paused. A queue is paused if its
832
- # {::Google::Cloud::Tasks::V2beta3::Queue#state state} is {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
851
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#resume_queue ResumeQueue}. Tasks can
852
+ # still be added when the queue is paused. A queue is paused if its
853
+ # {::Google::Cloud::Tasks::V2beta3::Queue#state state} is
854
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
833
855
  #
834
856
  # @overload pause_queue(request, options = nil)
835
857
  # Pass arguments to `pause_queue` via a request object, either of type
@@ -919,9 +941,11 @@ module Google
919
941
  #
920
942
  # This method resumes a queue after it has been
921
943
  # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED} or
922
- # {::Google::Cloud::Tasks::V2beta3::Queue::State::DISABLED DISABLED}. The state of a queue is stored
923
- # in the queue's {::Google::Cloud::Tasks::V2beta3::Queue#state state}; after calling this method it
924
- # will be set to {::Google::Cloud::Tasks::V2beta3::Queue::State::RUNNING RUNNING}.
944
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::DISABLED DISABLED}. The state of a
945
+ # queue is stored in the queue's
946
+ # {::Google::Cloud::Tasks::V2beta3::Queue#state state}; after calling this method
947
+ # it will be set to
948
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::RUNNING RUNNING}.
925
949
  #
926
950
  # WARNING: Resuming many high-QPS queues at the same time can
927
951
  # lead to target overloading. If you are resuming high-QPS
@@ -1013,9 +1037,9 @@ module Google
1013
1037
  end
1014
1038
 
1015
1039
  ##
1016
- # Gets the access control policy for a {::Google::Cloud::Tasks::V2beta3::Queue Queue}.
1017
- # Returns an empty policy if the resource exists and does not have a policy
1018
- # set.
1040
+ # Gets the access control policy for a
1041
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Returns an empty policy if the
1042
+ # resource exists and does not have a policy set.
1019
1043
  #
1020
1044
  # Authorization requires the following
1021
1045
  # [Google IAM](https://cloud.google.com/iam) permission on the specified
@@ -1110,8 +1134,8 @@ module Google
1110
1134
  end
1111
1135
 
1112
1136
  ##
1113
- # Sets the access control policy for a {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Replaces any existing
1114
- # policy.
1137
+ # Sets the access control policy for a
1138
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Replaces any existing policy.
1115
1139
  #
1116
1140
  # Note: The Cloud Console does not check queue-level IAM permissions yet.
1117
1141
  # Project-level permissions are required to use the Cloud Console.
@@ -1217,9 +1241,10 @@ module Google
1217
1241
  end
1218
1242
 
1219
1243
  ##
1220
- # Returns permissions that a caller has on a {::Google::Cloud::Tasks::V2beta3::Queue Queue}.
1221
- # If the resource does not exist, this will return an empty set of
1222
- # permissions, not a [NOT_FOUND][google.rpc.Code.NOT_FOUND] error.
1244
+ # Returns permissions that a caller has on a
1245
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. If the resource does not exist,
1246
+ # this will return an empty set of permissions, not a
1247
+ # [NOT_FOUND][google.rpc.Code.NOT_FOUND] error.
1223
1248
  #
1224
1249
  # Note: This operation is designed to be used for building permission-aware
1225
1250
  # UIs and command-line tools, not for authorization checking. This operation
@@ -1316,10 +1341,10 @@ module Google
1316
1341
  ##
1317
1342
  # Lists the tasks in a queue.
1318
1343
  #
1319
- # By default, only the {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC} view is retrieved
1320
- # due to performance considerations;
1321
- # {::Google::Cloud::Tasks::V2beta3::ListTasksRequest#response_view response_view} controls the
1322
- # subset of information which is returned.
1344
+ # By default, only the {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}
1345
+ # view is retrieved due to performance considerations;
1346
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksRequest#response_view response_view}
1347
+ # controls the subset of information which is returned.
1323
1348
  #
1324
1349
  # The tasks may be returned in any order. The ordering may change at any
1325
1350
  # time.
@@ -1343,24 +1368,25 @@ module Google
1343
1368
  # Required. The queue name. For example:
1344
1369
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
1345
1370
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1346
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1347
- # returned.
1348
- #
1349
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1350
- # information is retrieved by default because some data, such as
1351
- # payloads, might be desirable to return only when needed because
1352
- # of its large size or because of the sensitivity of data that it
1353
- # contains.
1354
- #
1355
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1356
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1357
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1371
+ # The response_view specifies which subset of the
1372
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1373
+ #
1374
+ # By default response_view is
1375
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1376
+ # retrieved by default because some data, such as payloads, might be
1377
+ # desirable to return only when needed because of its large size or because
1378
+ # of the sensitivity of data that it contains.
1379
+ #
1380
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1381
+ # requires `cloudtasks.tasks.fullView` [Google
1382
+ # IAM](https://cloud.google.com/iam/) permission on the
1383
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1358
1384
  # @param page_size [::Integer]
1359
1385
  # Maximum page size.
1360
1386
  #
1361
1387
  # Fewer tasks than requested might be returned, even if more tasks exist; use
1362
- # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token} in the response to
1363
- # determine if more tasks exist.
1388
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token}
1389
+ # in the response to determine if more tasks exist.
1364
1390
  #
1365
1391
  # The maximum page size is 1000. If unspecified, the page size will be the
1366
1392
  # maximum.
@@ -1369,9 +1395,9 @@ module Google
1369
1395
  #
1370
1396
  # To request the first page results, page_token must be empty. To
1371
1397
  # request the next page of results, page_token must be the value of
1372
- # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token} returned
1373
- # from the previous call to {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#list_tasks ListTasks}
1374
- # method.
1398
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token}
1399
+ # returned from the previous call to
1400
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#list_tasks ListTasks} method.
1375
1401
  #
1376
1402
  # The page token is valid for only 2 hours.
1377
1403
  #
@@ -1466,18 +1492,19 @@ module Google
1466
1492
  # Required. The task name. For example:
1467
1493
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
1468
1494
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1469
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1470
- # returned.
1495
+ # The response_view specifies which subset of the
1496
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1471
1497
  #
1472
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1473
- # information is retrieved by default because some data, such as
1474
- # payloads, might be desirable to return only when needed because
1475
- # of its large size or because of the sensitivity of data that it
1476
- # contains.
1498
+ # By default response_view is
1499
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1500
+ # retrieved by default because some data, such as payloads, might be
1501
+ # desirable to return only when needed because of its large size or because
1502
+ # of the sensitivity of data that it contains.
1477
1503
  #
1478
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1479
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1480
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1504
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1505
+ # requires `cloudtasks.tasks.fullView` [Google
1506
+ # IAM](https://cloud.google.com/iam/) permission on the
1507
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1481
1508
  #
1482
1509
  # @yield [response, operation] Access the result along with the RPC operation
1483
1510
  # @yieldparam response [::Google::Cloud::Tasks::V2beta3::Task]
@@ -1575,13 +1602,13 @@ module Google
1575
1602
  #
1576
1603
  # Task names have the following format:
1577
1604
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.
1578
- # The user can optionally specify a task {::Google::Cloud::Tasks::V2beta3::Task#name name}. If a
1579
- # name is not specified then the system will generate a random
1580
- # unique task id, which will be set in the task returned in the
1581
- # {::Google::Cloud::Tasks::V2beta3::Task#name response}.
1605
+ # The user can optionally specify a task
1606
+ # {::Google::Cloud::Tasks::V2beta3::Task#name name}. If a name is not specified
1607
+ # then the system will generate a random unique task id, which will be set in
1608
+ # the task returned in the {::Google::Cloud::Tasks::V2beta3::Task#name response}.
1582
1609
  #
1583
- # If {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} is not set or is in the
1584
- # past then Cloud Tasks will set it to the current time.
1610
+ # If {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} is not
1611
+ # set or is in the past then Cloud Tasks will set it to the current time.
1585
1612
  #
1586
1613
  # Task De-duplication:
1587
1614
  #
@@ -1590,33 +1617,34 @@ module Google
1590
1617
  # that was deleted or executed recently then the call will fail
1591
1618
  # with [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS].
1592
1619
  # If the task's queue was created using Cloud Tasks, then another task with
1593
- # the same name can't be created for ~1hour after the original task was
1620
+ # the same name can't be created for ~1 hour after the original task was
1594
1621
  # deleted or executed. If the task's queue was created using queue.yaml or
1595
1622
  # queue.xml, then another task with the same name can't be created
1596
- # for ~9days after the original task was deleted or executed.
1623
+ # for ~9 days after the original task was deleted or executed.
1597
1624
  #
1598
1625
  # Because there is an extra lookup cost to identify duplicate task
1599
- # names, these {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#create_task CreateTask} calls have significantly
1600
- # increased latency. Using hashed strings for the task id or for
1601
- # the prefix of the task id is recommended. Choosing task ids that
1602
- # are sequential or have sequential prefixes, for example using a
1626
+ # names, these {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#create_task CreateTask}
1627
+ # calls have significantly increased latency. Using hashed strings for the
1628
+ # task id or for the prefix of the task id is recommended. Choosing task ids
1629
+ # that are sequential or have sequential prefixes, for example using a
1603
1630
  # timestamp, causes an increase in latency and error rates in all
1604
1631
  # task commands. The infrastructure relies on an approximately
1605
1632
  # uniform distribution of task ids to store and serve tasks
1606
1633
  # efficiently.
1607
1634
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1608
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1609
- # returned.
1635
+ # The response_view specifies which subset of the
1636
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1610
1637
  #
1611
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1612
- # information is retrieved by default because some data, such as
1613
- # payloads, might be desirable to return only when needed because
1614
- # of its large size or because of the sensitivity of data that it
1615
- # contains.
1638
+ # By default response_view is
1639
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1640
+ # retrieved by default because some data, such as payloads, might be
1641
+ # desirable to return only when needed because of its large size or because
1642
+ # of the sensitivity of data that it contains.
1616
1643
  #
1617
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1618
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1619
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1644
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1645
+ # requires `cloudtasks.tasks.fullView` [Google
1646
+ # IAM](https://cloud.google.com/iam/) permission on the
1647
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1620
1648
  #
1621
1649
  # @yield [response, operation] Access the result along with the RPC operation
1622
1650
  # @yieldparam response [::Google::Cloud::Tasks::V2beta3::Task]
@@ -1776,13 +1804,14 @@ module Google
1776
1804
  # Forces a task to run now.
1777
1805
  #
1778
1806
  # When this method is called, Cloud Tasks will dispatch the task, even if
1779
- # the task is already running, the queue has reached its {::Google::Cloud::Tasks::V2beta3::RateLimits RateLimits} or
1780
- # is {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
1807
+ # the task is already running, the queue has reached its
1808
+ # {::Google::Cloud::Tasks::V2beta3::RateLimits RateLimits} or is
1809
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
1781
1810
  #
1782
1811
  # This command is meant to be used for manual debugging. For
1783
- # example, {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#run_task RunTask} can be used to retry a failed
1784
- # task after a fix has been made or to manually force a task to be
1785
- # dispatched now.
1812
+ # example, {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#run_task RunTask} can be
1813
+ # used to retry a failed task after a fix has been made or to manually force
1814
+ # a task to be dispatched now.
1786
1815
  #
1787
1816
  # The dispatched task is returned. That is, the task that is returned
1788
1817
  # contains the [status][Task.status] after the task is dispatched but
@@ -1790,9 +1819,11 @@ module Google
1790
1819
  #
1791
1820
  # If Cloud Tasks receives a successful response from the task's
1792
1821
  # target, then the task will be deleted; otherwise the task's
1793
- # {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} will be reset to the time that
1794
- # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#run_task RunTask} was called plus the retry delay specified
1795
- # in the queue's {::Google::Cloud::Tasks::V2beta3::RetryConfig RetryConfig}.
1822
+ # {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} will be
1823
+ # reset to the time that
1824
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#run_task RunTask} was called plus
1825
+ # the retry delay specified in the queue's
1826
+ # {::Google::Cloud::Tasks::V2beta3::RetryConfig RetryConfig}.
1796
1827
  #
1797
1828
  # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Client#run_task RunTask} returns
1798
1829
  # [NOT_FOUND][google.rpc.Code.NOT_FOUND] when it is called on a
@@ -1817,18 +1848,19 @@ module Google
1817
1848
  # Required. The task name. For example:
1818
1849
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
1819
1850
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1820
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1821
- # returned.
1851
+ # The response_view specifies which subset of the
1852
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1822
1853
  #
1823
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1824
- # information is retrieved by default because some data, such as
1825
- # payloads, might be desirable to return only when needed because
1826
- # of its large size or because of the sensitivity of data that it
1827
- # contains.
1854
+ # By default response_view is
1855
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1856
+ # retrieved by default because some data, such as payloads, might be
1857
+ # desirable to return only when needed because of its large size or because
1858
+ # of the sensitivity of data that it contains.
1828
1859
  #
1829
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1830
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1831
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1860
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1861
+ # requires `cloudtasks.tasks.fullView` [Google
1862
+ # IAM](https://cloud.google.com/iam/) permission on the
1863
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1832
1864
  #
1833
1865
  # @yield [response, operation] Access the result along with the RPC operation
1834
1866
  # @yieldparam response [::Google::Cloud::Tasks::V2beta3::Task]
@@ -1894,6 +1926,115 @@ module Google
1894
1926
  raise ::Google::Cloud::Error.from_error(e)
1895
1927
  end
1896
1928
 
1929
+ ##
1930
+ # Creates and buffers a new task without the need to explicitly define a Task
1931
+ # message. The queue must have [HTTP
1932
+ # target][google.cloud.tasks.v2beta3.HttpTarget]. To create the task with a
1933
+ # custom ID, use the following format and set TASK_ID to your desired ID:
1934
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID:buffer
1935
+ # To create the task with an automatically generated ID, use the following
1936
+ # format:
1937
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks:buffer.
1938
+ # Note: This feature is in its experimental stage. You must request access to
1939
+ # the API through the [Cloud Tasks BufferTask Experiment Signup
1940
+ # form](https://forms.gle/X8Zr5hiXH5tTGFqh8).
1941
+ #
1942
+ # @overload buffer_task(request, options = nil)
1943
+ # Pass arguments to `buffer_task` via a request object, either of type
1944
+ # {::Google::Cloud::Tasks::V2beta3::BufferTaskRequest} or an equivalent Hash.
1945
+ #
1946
+ # @param request [::Google::Cloud::Tasks::V2beta3::BufferTaskRequest, ::Hash]
1947
+ # A request object representing the call parameters. Required. To specify no
1948
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1949
+ # @param options [::Gapic::CallOptions, ::Hash]
1950
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1951
+ #
1952
+ # @overload buffer_task(queue: nil, task_id: nil, body: nil)
1953
+ # Pass arguments to `buffer_task` via keyword arguments. Note that at
1954
+ # least one keyword argument is required. To specify no parameters, or to keep all
1955
+ # the default parameter values, pass an empty Hash as a request object (see above).
1956
+ #
1957
+ # @param queue [::String]
1958
+ # Required. The parent queue name. For example:
1959
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
1960
+ #
1961
+ # The queue must already exist.
1962
+ # @param task_id [::String]
1963
+ # Optional. Task ID for the task being created. If not provided, a random
1964
+ # task ID is assigned to the task.
1965
+ # @param body [::Google::Api::HttpBody, ::Hash]
1966
+ # Optional. Body of the HTTP request.
1967
+ #
1968
+ # The body can take any generic value. The value is written to the
1969
+ # [HttpRequest][payload] of the [Task].
1970
+ #
1971
+ # @yield [response, operation] Access the result along with the RPC operation
1972
+ # @yieldparam response [::Google::Cloud::Tasks::V2beta3::BufferTaskResponse]
1973
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1974
+ #
1975
+ # @return [::Google::Cloud::Tasks::V2beta3::BufferTaskResponse]
1976
+ #
1977
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1978
+ #
1979
+ # @example Basic example
1980
+ # require "google/cloud/tasks/v2beta3"
1981
+ #
1982
+ # # Create a client object. The client can be reused for multiple calls.
1983
+ # client = Google::Cloud::Tasks::V2beta3::CloudTasks::Client.new
1984
+ #
1985
+ # # Create a request. To set request fields, pass in keyword arguments.
1986
+ # request = Google::Cloud::Tasks::V2beta3::BufferTaskRequest.new
1987
+ #
1988
+ # # Call the buffer_task method.
1989
+ # result = client.buffer_task request
1990
+ #
1991
+ # # The returned object is of type Google::Cloud::Tasks::V2beta3::BufferTaskResponse.
1992
+ # p result
1993
+ #
1994
+ def buffer_task request, options = nil
1995
+ raise ::ArgumentError, "request must be provided" if request.nil?
1996
+
1997
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Tasks::V2beta3::BufferTaskRequest
1998
+
1999
+ # Converts hash and nil to an options object
2000
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2001
+
2002
+ # Customize the options with defaults
2003
+ metadata = @config.rpcs.buffer_task.metadata.to_h
2004
+
2005
+ # Set x-goog-api-client and x-goog-user-project headers
2006
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2007
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2008
+ gapic_version: ::Google::Cloud::Tasks::V2beta3::VERSION
2009
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2010
+
2011
+ header_params = {}
2012
+ if request.queue
2013
+ header_params["queue"] = request.queue
2014
+ end
2015
+ if request.task_id
2016
+ header_params["task_id"] = request.task_id
2017
+ end
2018
+
2019
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2020
+ metadata[:"x-goog-request-params"] ||= request_params_header
2021
+
2022
+ options.apply_defaults timeout: @config.rpcs.buffer_task.timeout,
2023
+ metadata: metadata,
2024
+ retry_policy: @config.rpcs.buffer_task.retry_policy
2025
+
2026
+ options.apply_defaults timeout: @config.timeout,
2027
+ metadata: @config.metadata,
2028
+ retry_policy: @config.retry_policy
2029
+
2030
+ @cloud_tasks_stub.call_rpc :buffer_task, request, options: options do |response, operation|
2031
+ yield response, operation if block_given?
2032
+ return response
2033
+ end
2034
+ rescue ::GRPC::BadStatus => e
2035
+ raise ::Google::Cloud::Error.from_error(e)
2036
+ end
2037
+
1897
2038
  ##
1898
2039
  # Configuration class for the CloudTasks API.
1899
2040
  #
@@ -2013,6 +2154,14 @@ module Google
2013
2154
  end
2014
2155
  end
2015
2156
 
2157
+ ##
2158
+ # Configuration for the channel pool
2159
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
2160
+ #
2161
+ def channel_pool
2162
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
2163
+ end
2164
+
2016
2165
  ##
2017
2166
  # Configuration RPC class for the CloudTasks API.
2018
2167
  #
@@ -2111,6 +2260,11 @@ module Google
2111
2260
  # @return [::Gapic::Config::Method]
2112
2261
  #
2113
2262
  attr_reader :run_task
2263
+ ##
2264
+ # RPC-specific configuration for `buffer_task`
2265
+ # @return [::Gapic::Config::Method]
2266
+ #
2267
+ attr_reader :buffer_task
2114
2268
 
2115
2269
  # @private
2116
2270
  def initialize parent_rpcs = nil
@@ -2146,6 +2300,8 @@ module Google
2146
2300
  @delete_task = ::Gapic::Config::Method.new delete_task_config
2147
2301
  run_task_config = parent_rpcs.run_task if parent_rpcs.respond_to? :run_task
2148
2302
  @run_task = ::Gapic::Config::Method.new run_task_config
2303
+ buffer_task_config = parent_rpcs.buffer_task if parent_rpcs.respond_to? :buffer_task
2304
+ @buffer_task = ::Gapic::Config::Method.new buffer_task_config
2149
2305
 
2150
2306
  yield self if block_given?
2151
2307
  end