google-cloud-tasks-v2beta3 0.10.1 → 0.10.2

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.
@@ -19,6 +19,7 @@
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/tasks/v2beta3/cloudtasks_pb"
21
21
  require "google/cloud/tasks/v2beta3/cloud_tasks/rest/service_stub"
22
+ require "google/cloud/location/rest"
22
23
 
23
24
  module Google
24
25
  module Cloud
@@ -123,6 +124,8 @@ module Google
123
124
 
124
125
  default_config.rpcs.run_task.timeout = 20.0
125
126
 
127
+ default_config.rpcs.buffer_task.timeout = 20.0
128
+
126
129
  default_config
127
130
  end
128
131
  yield @configure if block_given?
@@ -187,9 +190,23 @@ module Google
187
190
  @quota_project_id = @config.quota_project
188
191
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
189
192
 
193
+ @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
194
+ config.credentials = credentials
195
+ config.quota_project = @quota_project_id
196
+ config.endpoint = @config.endpoint
197
+ config.bindings_override = @config.bindings_override
198
+ end
199
+
190
200
  @cloud_tasks_stub = ::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
191
201
  end
192
202
 
203
+ ##
204
+ # Get the associated client for mix-in of the Locations.
205
+ #
206
+ # @return [Google::Cloud::Location::Locations::Rest::Client]
207
+ #
208
+ attr_reader :location_client
209
+
193
210
  # Service calls
194
211
 
195
212
  ##
@@ -216,11 +233,10 @@ module Google
216
233
  # Required. The location name.
217
234
  # For example: `projects/PROJECT_ID/locations/LOCATION_ID`
218
235
  # @param filter [::String]
219
- # `filter` can be used to specify a subset of queues. Any {::Google::Cloud::Tasks::V2beta3::Queue Queue}
220
- # field can be used as a filter and several operators as supported.
221
- # For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as
222
- # described in
223
- # [Stackdriver's Advanced Logs
236
+ # `filter` can be used to specify a subset of queues. Any
237
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue} field can be used as a filter and
238
+ # several operators as supported. For example: `<=, <, >=, >, !=, =, :`. The
239
+ # filter syntax is the same as described in [Stackdriver's Advanced Logs
224
240
  # Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
225
241
  #
226
242
  # Sample filter "state: PAUSED".
@@ -233,20 +249,22 @@ module Google
233
249
  # The maximum page size is 9800. If unspecified, the page size will
234
250
  # be the maximum. Fewer queues than requested might be returned,
235
251
  # even if more queues exist; use the
236
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token} in the
237
- # response to determine if more queues exist.
252
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token}
253
+ # in the response to determine if more queues exist.
238
254
  # @param page_token [::String]
239
255
  # A token identifying the page of results to return.
240
256
  #
241
257
  # To request the first page results, page_token must be empty. To
242
258
  # request the next page of results, page_token must be the value of
243
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token} returned
244
- # from the previous call to {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#list_queues ListQueues}
245
- # method. It is an error to switch the value of the
246
- # {::Google::Cloud::Tasks::V2beta3::ListQueuesRequest#filter filter} while iterating through pages.
259
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesResponse#next_page_token next_page_token}
260
+ # returned from the previous call to
261
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#list_queues ListQueues} method. It
262
+ # is an error to switch the value of the
263
+ # {::Google::Cloud::Tasks::V2beta3::ListQueuesRequest#filter filter} while
264
+ # iterating through pages.
247
265
  # @param read_mask [::Google::Protobuf::FieldMask, ::Hash]
248
- # Optional. Read mask is used for a more granular control over what the API returns.
249
- # If the mask is not present all fields will be returned except
266
+ # Optional. Read mask is used for a more granular control over what the API
267
+ # returns. If the mask is not present all fields will be returned except
250
268
  # [Queue.stats]. [Queue.stats] will be returned only if it was explicitly
251
269
  # specified in the mask.
252
270
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -314,8 +332,8 @@ module Google
314
332
  # Required. The resource name of the queue. For example:
315
333
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
316
334
  # @param read_mask [::Google::Protobuf::FieldMask, ::Hash]
317
- # Optional. Read mask is used for a more granular control over what the API returns.
318
- # If the mask is not present all fields will be returned except
335
+ # Optional. Read mask is used for a more granular control over what the API
336
+ # returns. If the mask is not present all fields will be returned except
319
337
  # [Queue.stats]. [Queue.stats] will be returned only if it was explicitly
320
338
  # specified in the mask.
321
339
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -364,8 +382,8 @@ module Google
364
382
  # Creates a queue.
365
383
  #
366
384
  # Queues created with this method allow tasks to live for a maximum of 31
367
- # days. After a task is 31 days old, the task will be deleted regardless of whether
368
- # it was dispatched or not.
385
+ # days. After a task is 31 days old, the task will be deleted regardless of
386
+ # whether it was dispatched or not.
369
387
  #
370
388
  # WARNING: Using this method may have unintended side effects if you are
371
389
  # using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
@@ -395,11 +413,12 @@ module Google
395
413
  #
396
414
  # The list of allowed locations can be obtained by calling Cloud
397
415
  # Tasks' implementation of
398
- # [ListLocations][google.cloud.location.Locations.ListLocations].
416
+ # `::Google::Cloud::Location::Locations::Rest::Client#list_locations`.
399
417
  # @param queue [::Google::Cloud::Tasks::V2beta3::Queue, ::Hash]
400
418
  # Required. The queue to create.
401
419
  #
402
- # [Queue's name][google.cloud.tasks.v2beta3.Queue.name] cannot be the same as an existing queue.
420
+ # [Queue's name][google.cloud.tasks.v2beta3.Queue.name] cannot be the same as
421
+ # an existing queue.
403
422
  # @yield [result, operation] Access the result along with the TransportOperation object
404
423
  # @yieldparam result [::Google::Cloud::Tasks::V2beta3::Queue]
405
424
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -449,8 +468,8 @@ module Google
449
468
  # the queue if it does exist.
450
469
  #
451
470
  # Queues created with this method allow tasks to live for a maximum of 31
452
- # days. After a task is 31 days old, the task will be deleted regardless of whether
453
- # it was dispatched or not.
471
+ # days. After a task is 31 days old, the task will be deleted regardless of
472
+ # whether it was dispatched or not.
454
473
  #
455
474
  # WARNING: Using this method may have unintended side effects if you are
456
475
  # using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
@@ -477,11 +496,13 @@ module Google
477
496
  # @param queue [::Google::Cloud::Tasks::V2beta3::Queue, ::Hash]
478
497
  # Required. The queue to create or update.
479
498
  #
480
- # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} must be specified.
499
+ # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} must be
500
+ # specified.
481
501
  #
482
502
  # Output only fields cannot be modified using UpdateQueue.
483
503
  # Any value specified for an output only field will be ignored.
484
- # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} cannot be changed.
504
+ # The queue's {::Google::Cloud::Tasks::V2beta3::Queue#name name} cannot be
505
+ # changed.
485
506
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
486
507
  # A mask used to specify which fields of the queue are being updated.
487
508
  #
@@ -676,9 +697,10 @@ module Google
676
697
  #
677
698
  # If a queue is paused then the system will stop dispatching tasks
678
699
  # until the queue is resumed via
679
- # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#resume_queue ResumeQueue}. Tasks can still be added
680
- # when the queue is paused. A queue is paused if its
681
- # {::Google::Cloud::Tasks::V2beta3::Queue#state state} is {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
700
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#resume_queue ResumeQueue}. Tasks can
701
+ # still be added when the queue is paused. A queue is paused if its
702
+ # {::Google::Cloud::Tasks::V2beta3::Queue#state state} is
703
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
682
704
  #
683
705
  # @overload pause_queue(request, options = nil)
684
706
  # Pass arguments to `pause_queue` via a request object, either of type
@@ -745,9 +767,11 @@ module Google
745
767
  #
746
768
  # This method resumes a queue after it has been
747
769
  # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED} or
748
- # {::Google::Cloud::Tasks::V2beta3::Queue::State::DISABLED DISABLED}. The state of a queue is stored
749
- # in the queue's {::Google::Cloud::Tasks::V2beta3::Queue#state state}; after calling this method it
750
- # will be set to {::Google::Cloud::Tasks::V2beta3::Queue::State::RUNNING RUNNING}.
770
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::DISABLED DISABLED}. The state of a
771
+ # queue is stored in the queue's
772
+ # {::Google::Cloud::Tasks::V2beta3::Queue#state state}; after calling this method
773
+ # it will be set to
774
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::RUNNING RUNNING}.
751
775
  #
752
776
  # WARNING: Resuming many high-QPS queues at the same time can
753
777
  # lead to target overloading. If you are resuming high-QPS
@@ -816,9 +840,9 @@ module Google
816
840
  end
817
841
 
818
842
  ##
819
- # Gets the access control policy for a {::Google::Cloud::Tasks::V2beta3::Queue Queue}.
820
- # Returns an empty policy if the resource exists and does not have a policy
821
- # set.
843
+ # Gets the access control policy for a
844
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Returns an empty policy if the
845
+ # resource exists and does not have a policy set.
822
846
  #
823
847
  # Authorization requires the following
824
848
  # [Google IAM](https://cloud.google.com/iam) permission on the specified
@@ -890,8 +914,8 @@ module Google
890
914
  end
891
915
 
892
916
  ##
893
- # Sets the access control policy for a {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Replaces any existing
894
- # policy.
917
+ # Sets the access control policy for a
918
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. Replaces any existing policy.
895
919
  #
896
920
  # Note: The Cloud Console does not check queue-level IAM permissions yet.
897
921
  # Project-level permissions are required to use the Cloud Console.
@@ -974,9 +998,10 @@ module Google
974
998
  end
975
999
 
976
1000
  ##
977
- # Returns permissions that a caller has on a {::Google::Cloud::Tasks::V2beta3::Queue Queue}.
978
- # If the resource does not exist, this will return an empty set of
979
- # permissions, not a [NOT_FOUND][google.rpc.Code.NOT_FOUND] error.
1001
+ # Returns permissions that a caller has on a
1002
+ # {::Google::Cloud::Tasks::V2beta3::Queue Queue}. If the resource does not exist,
1003
+ # this will return an empty set of permissions, not a
1004
+ # [NOT_FOUND][google.rpc.Code.NOT_FOUND] error.
980
1005
  #
981
1006
  # Note: This operation is designed to be used for building permission-aware
982
1007
  # UIs and command-line tools, not for authorization checking. This operation
@@ -1050,10 +1075,10 @@ module Google
1050
1075
  ##
1051
1076
  # Lists the tasks in a queue.
1052
1077
  #
1053
- # By default, only the {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC} view is retrieved
1054
- # due to performance considerations;
1055
- # {::Google::Cloud::Tasks::V2beta3::ListTasksRequest#response_view response_view} controls the
1056
- # subset of information which is returned.
1078
+ # By default, only the {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}
1079
+ # view is retrieved due to performance considerations;
1080
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksRequest#response_view response_view}
1081
+ # controls the subset of information which is returned.
1057
1082
  #
1058
1083
  # The tasks may be returned in any order. The ordering may change at any
1059
1084
  # time.
@@ -1077,24 +1102,25 @@ module Google
1077
1102
  # Required. The queue name. For example:
1078
1103
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
1079
1104
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1080
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1081
- # returned.
1082
- #
1083
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1084
- # information is retrieved by default because some data, such as
1085
- # payloads, might be desirable to return only when needed because
1086
- # of its large size or because of the sensitivity of data that it
1087
- # contains.
1088
- #
1089
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1090
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1091
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1105
+ # The response_view specifies which subset of the
1106
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1107
+ #
1108
+ # By default response_view is
1109
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1110
+ # retrieved by default because some data, such as payloads, might be
1111
+ # desirable to return only when needed because of its large size or because
1112
+ # of the sensitivity of data that it contains.
1113
+ #
1114
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1115
+ # requires `cloudtasks.tasks.fullView` [Google
1116
+ # IAM](https://cloud.google.com/iam/) permission on the
1117
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1092
1118
  # @param page_size [::Integer]
1093
1119
  # Maximum page size.
1094
1120
  #
1095
1121
  # Fewer tasks than requested might be returned, even if more tasks exist; use
1096
- # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token} in the response to
1097
- # determine if more tasks exist.
1122
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token}
1123
+ # in the response to determine if more tasks exist.
1098
1124
  #
1099
1125
  # The maximum page size is 1000. If unspecified, the page size will be the
1100
1126
  # maximum.
@@ -1103,9 +1129,9 @@ module Google
1103
1129
  #
1104
1130
  # To request the first page results, page_token must be empty. To
1105
1131
  # request the next page of results, page_token must be the value of
1106
- # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token} returned
1107
- # from the previous call to {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#list_tasks ListTasks}
1108
- # method.
1132
+ # {::Google::Cloud::Tasks::V2beta3::ListTasksResponse#next_page_token next_page_token}
1133
+ # returned from the previous call to
1134
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#list_tasks ListTasks} method.
1109
1135
  #
1110
1136
  # The page token is valid for only 2 hours.
1111
1137
  # @yield [result, operation] Access the result along with the TransportOperation object
@@ -1173,18 +1199,19 @@ module Google
1173
1199
  # Required. The task name. For example:
1174
1200
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
1175
1201
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1176
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1177
- # returned.
1178
- #
1179
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1180
- # information is retrieved by default because some data, such as
1181
- # payloads, might be desirable to return only when needed because
1182
- # of its large size or because of the sensitivity of data that it
1183
- # contains.
1184
- #
1185
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1186
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1187
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1202
+ # The response_view specifies which subset of the
1203
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1204
+ #
1205
+ # By default response_view is
1206
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1207
+ # retrieved by default because some data, such as payloads, might be
1208
+ # desirable to return only when needed because of its large size or because
1209
+ # of the sensitivity of data that it contains.
1210
+ #
1211
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1212
+ # requires `cloudtasks.tasks.fullView` [Google
1213
+ # IAM](https://cloud.google.com/iam/) permission on the
1214
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1188
1215
  # @yield [result, operation] Access the result along with the TransportOperation object
1189
1216
  # @yieldparam result [::Google::Cloud::Tasks::V2beta3::Task]
1190
1217
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1259,13 +1286,13 @@ module Google
1259
1286
  #
1260
1287
  # Task names have the following format:
1261
1288
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.
1262
- # The user can optionally specify a task {::Google::Cloud::Tasks::V2beta3::Task#name name}. If a
1263
- # name is not specified then the system will generate a random
1264
- # unique task id, which will be set in the task returned in the
1265
- # {::Google::Cloud::Tasks::V2beta3::Task#name response}.
1289
+ # The user can optionally specify a task
1290
+ # {::Google::Cloud::Tasks::V2beta3::Task#name name}. If a name is not specified
1291
+ # then the system will generate a random unique task id, which will be set in
1292
+ # the task returned in the {::Google::Cloud::Tasks::V2beta3::Task#name response}.
1266
1293
  #
1267
- # If {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} is not set or is in the
1268
- # past then Cloud Tasks will set it to the current time.
1294
+ # If {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} is not
1295
+ # set or is in the past then Cloud Tasks will set it to the current time.
1269
1296
  #
1270
1297
  # Task De-duplication:
1271
1298
  #
@@ -1274,33 +1301,34 @@ module Google
1274
1301
  # that was deleted or executed recently then the call will fail
1275
1302
  # with [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS].
1276
1303
  # If the task's queue was created using Cloud Tasks, then another task with
1277
- # the same name can't be created for ~1hour after the original task was
1304
+ # the same name can't be created for ~1 hour after the original task was
1278
1305
  # deleted or executed. If the task's queue was created using queue.yaml or
1279
1306
  # queue.xml, then another task with the same name can't be created
1280
- # for ~9days after the original task was deleted or executed.
1307
+ # for ~9 days after the original task was deleted or executed.
1281
1308
  #
1282
1309
  # Because there is an extra lookup cost to identify duplicate task
1283
- # names, these {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#create_task CreateTask} calls have significantly
1284
- # increased latency. Using hashed strings for the task id or for
1285
- # the prefix of the task id is recommended. Choosing task ids that
1286
- # are sequential or have sequential prefixes, for example using a
1310
+ # names, these {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#create_task CreateTask}
1311
+ # calls have significantly increased latency. Using hashed strings for the
1312
+ # task id or for the prefix of the task id is recommended. Choosing task ids
1313
+ # that are sequential or have sequential prefixes, for example using a
1287
1314
  # timestamp, causes an increase in latency and error rates in all
1288
1315
  # task commands. The infrastructure relies on an approximately
1289
1316
  # uniform distribution of task ids to store and serve tasks
1290
1317
  # efficiently.
1291
1318
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1292
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1293
- # returned.
1294
- #
1295
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1296
- # information is retrieved by default because some data, such as
1297
- # payloads, might be desirable to return only when needed because
1298
- # of its large size or because of the sensitivity of data that it
1299
- # contains.
1300
- #
1301
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1302
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1303
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1319
+ # The response_view specifies which subset of the
1320
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1321
+ #
1322
+ # By default response_view is
1323
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1324
+ # retrieved by default because some data, such as payloads, might be
1325
+ # desirable to return only when needed because of its large size or because
1326
+ # of the sensitivity of data that it contains.
1327
+ #
1328
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1329
+ # requires `cloudtasks.tasks.fullView` [Google
1330
+ # IAM](https://cloud.google.com/iam/) permission on the
1331
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1304
1332
  # @yield [result, operation] Access the result along with the TransportOperation object
1305
1333
  # @yieldparam result [::Google::Cloud::Tasks::V2beta3::Task]
1306
1334
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1414,13 +1442,14 @@ module Google
1414
1442
  # Forces a task to run now.
1415
1443
  #
1416
1444
  # When this method is called, Cloud Tasks will dispatch the task, even if
1417
- # the task is already running, the queue has reached its {::Google::Cloud::Tasks::V2beta3::RateLimits RateLimits} or
1418
- # is {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
1445
+ # the task is already running, the queue has reached its
1446
+ # {::Google::Cloud::Tasks::V2beta3::RateLimits RateLimits} or is
1447
+ # {::Google::Cloud::Tasks::V2beta3::Queue::State::PAUSED PAUSED}.
1419
1448
  #
1420
1449
  # This command is meant to be used for manual debugging. For
1421
- # example, {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#run_task RunTask} can be used to retry a failed
1422
- # task after a fix has been made or to manually force a task to be
1423
- # dispatched now.
1450
+ # example, {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#run_task RunTask} can be
1451
+ # used to retry a failed task after a fix has been made or to manually force
1452
+ # a task to be dispatched now.
1424
1453
  #
1425
1454
  # The dispatched task is returned. That is, the task that is returned
1426
1455
  # contains the [status][Task.status] after the task is dispatched but
@@ -1428,9 +1457,11 @@ module Google
1428
1457
  #
1429
1458
  # If Cloud Tasks receives a successful response from the task's
1430
1459
  # target, then the task will be deleted; otherwise the task's
1431
- # {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} will be reset to the time that
1432
- # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#run_task RunTask} was called plus the retry delay specified
1433
- # in the queue's {::Google::Cloud::Tasks::V2beta3::RetryConfig RetryConfig}.
1460
+ # {::Google::Cloud::Tasks::V2beta3::Task#schedule_time schedule_time} will be
1461
+ # reset to the time that
1462
+ # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#run_task RunTask} was called plus
1463
+ # the retry delay specified in the queue's
1464
+ # {::Google::Cloud::Tasks::V2beta3::RetryConfig RetryConfig}.
1434
1465
  #
1435
1466
  # {::Google::Cloud::Tasks::V2beta3::CloudTasks::Rest::Client#run_task RunTask} returns
1436
1467
  # [NOT_FOUND][google.rpc.Code.NOT_FOUND] when it is called on a
@@ -1455,18 +1486,19 @@ module Google
1455
1486
  # Required. The task name. For example:
1456
1487
  # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
1457
1488
  # @param response_view [::Google::Cloud::Tasks::V2beta3::Task::View]
1458
- # The response_view specifies which subset of the {::Google::Cloud::Tasks::V2beta3::Task Task} will be
1459
- # returned.
1460
- #
1461
- # By default response_view is {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all
1462
- # information is retrieved by default because some data, such as
1463
- # payloads, might be desirable to return only when needed because
1464
- # of its large size or because of the sensitivity of data that it
1465
- # contains.
1466
- #
1467
- # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
1468
- # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
1469
- # permission on the {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1489
+ # The response_view specifies which subset of the
1490
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} will be returned.
1491
+ #
1492
+ # By default response_view is
1493
+ # {::Google::Cloud::Tasks::V2beta3::Task::View::BASIC BASIC}; not all information is
1494
+ # retrieved by default because some data, such as payloads, might be
1495
+ # desirable to return only when needed because of its large size or because
1496
+ # of the sensitivity of data that it contains.
1497
+ #
1498
+ # Authorization for {::Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL}
1499
+ # requires `cloudtasks.tasks.fullView` [Google
1500
+ # IAM](https://cloud.google.com/iam/) permission on the
1501
+ # {::Google::Cloud::Tasks::V2beta3::Task Task} resource.
1470
1502
  # @yield [result, operation] Access the result along with the TransportOperation object
1471
1503
  # @yieldparam result [::Google::Cloud::Tasks::V2beta3::Task]
1472
1504
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1509,6 +1541,89 @@ module Google
1509
1541
  raise ::Google::Cloud::Error.from_error(e)
1510
1542
  end
1511
1543
 
1544
+ ##
1545
+ # Creates and buffers a new task without the need to explicitly define a Task
1546
+ # message. The queue must have [HTTP
1547
+ # target][google.cloud.tasks.v2beta3.HttpTarget]. To create the task with a
1548
+ # custom ID, use the following format and set TASK_ID to your desired ID:
1549
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID:buffer
1550
+ # To create the task with an automatically generated ID, use the following
1551
+ # format:
1552
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks:buffer.
1553
+ # Note: This feature is in its experimental stage. You must request access to
1554
+ # the API through the [Cloud Tasks BufferTask Experiment Signup
1555
+ # form](https://forms.gle/X8Zr5hiXH5tTGFqh8).
1556
+ #
1557
+ # @overload buffer_task(request, options = nil)
1558
+ # Pass arguments to `buffer_task` via a request object, either of type
1559
+ # {::Google::Cloud::Tasks::V2beta3::BufferTaskRequest} or an equivalent Hash.
1560
+ #
1561
+ # @param request [::Google::Cloud::Tasks::V2beta3::BufferTaskRequest, ::Hash]
1562
+ # A request object representing the call parameters. Required. To specify no
1563
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1564
+ # @param options [::Gapic::CallOptions, ::Hash]
1565
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1566
+ #
1567
+ # @overload buffer_task(queue: nil, task_id: nil, body: nil)
1568
+ # Pass arguments to `buffer_task` via keyword arguments. Note that at
1569
+ # least one keyword argument is required. To specify no parameters, or to keep all
1570
+ # the default parameter values, pass an empty Hash as a request object (see above).
1571
+ #
1572
+ # @param queue [::String]
1573
+ # Required. The parent queue name. For example:
1574
+ # projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
1575
+ #
1576
+ # The queue must already exist.
1577
+ # @param task_id [::String]
1578
+ # Optional. Task ID for the task being created. If not provided, a random
1579
+ # task ID is assigned to the task.
1580
+ # @param body [::Google::Api::HttpBody, ::Hash]
1581
+ # Optional. Body of the HTTP request.
1582
+ #
1583
+ # The body can take any generic value. The value is written to the
1584
+ # [HttpRequest][payload] of the [Task].
1585
+ # @yield [result, operation] Access the result along with the TransportOperation object
1586
+ # @yieldparam result [::Google::Cloud::Tasks::V2beta3::BufferTaskResponse]
1587
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1588
+ #
1589
+ # @return [::Google::Cloud::Tasks::V2beta3::BufferTaskResponse]
1590
+ #
1591
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1592
+ def buffer_task request, options = nil
1593
+ raise ::ArgumentError, "request must be provided" if request.nil?
1594
+
1595
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Tasks::V2beta3::BufferTaskRequest
1596
+
1597
+ # Converts hash and nil to an options object
1598
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1599
+
1600
+ # Customize the options with defaults
1601
+ call_metadata = @config.rpcs.buffer_task.metadata.to_h
1602
+
1603
+ # Set x-goog-api-client and x-goog-user-project headers
1604
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1605
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1606
+ gapic_version: ::Google::Cloud::Tasks::V2beta3::VERSION,
1607
+ transports_version_send: [:rest]
1608
+
1609
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1610
+
1611
+ options.apply_defaults timeout: @config.rpcs.buffer_task.timeout,
1612
+ metadata: call_metadata,
1613
+ retry_policy: @config.rpcs.buffer_task.retry_policy
1614
+
1615
+ options.apply_defaults timeout: @config.timeout,
1616
+ metadata: @config.metadata,
1617
+ retry_policy: @config.retry_policy
1618
+
1619
+ @cloud_tasks_stub.buffer_task request, options do |result, operation|
1620
+ yield result, operation if block_given?
1621
+ return result
1622
+ end
1623
+ rescue ::Gapic::Rest::Error => e
1624
+ raise ::Google::Cloud::Error.from_error(e)
1625
+ end
1626
+
1512
1627
  ##
1513
1628
  # Configuration class for the CloudTasks REST API.
1514
1629
  #
@@ -1597,6 +1712,13 @@ module Google
1597
1712
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1598
1713
  config_attr :quota_project, nil, ::String, nil
1599
1714
 
1715
+ # @private
1716
+ # Overrides for http bindings for the RPCs of this service
1717
+ # are only used when this service is used as mixin, and only
1718
+ # by the host service.
1719
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
1720
+ config_attr :bindings_override, {}, ::Hash, nil
1721
+
1600
1722
  # @private
1601
1723
  def initialize parent_config = nil
1602
1724
  @parent_config = parent_config unless parent_config.nil?
@@ -1714,6 +1836,11 @@ module Google
1714
1836
  # @return [::Gapic::Config::Method]
1715
1837
  #
1716
1838
  attr_reader :run_task
1839
+ ##
1840
+ # RPC-specific configuration for `buffer_task`
1841
+ # @return [::Gapic::Config::Method]
1842
+ #
1843
+ attr_reader :buffer_task
1717
1844
 
1718
1845
  # @private
1719
1846
  def initialize parent_rpcs = nil
@@ -1749,6 +1876,8 @@ module Google
1749
1876
  @delete_task = ::Gapic::Config::Method.new delete_task_config
1750
1877
  run_task_config = parent_rpcs.run_task if parent_rpcs.respond_to? :run_task
1751
1878
  @run_task = ::Gapic::Config::Method.new run_task_config
1879
+ buffer_task_config = parent_rpcs.buffer_task if parent_rpcs.respond_to? :buffer_task
1880
+ @buffer_task = ::Gapic::Config::Method.new buffer_task_config
1752
1881
 
1753
1882
  yield self if block_given?
1754
1883
  end