xref: /aosp_15_r20/external/googleapis/google/cloud/tasks/v2beta2/cloudtasks.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.tasks.v2beta2;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/httpbody.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/tasks/v2beta2/queue.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/tasks/v2beta2/task.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/iam_policy.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto";
29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
30*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
31*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
32*d5c09012SAndroid Build Coastguard Worker
33*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudtasks/apiv2beta2/cloudtaskspb;cloudtaskspb";
34*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
35*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "CloudTasksProto";
36*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.tasks.v2beta2";
37*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "TASKS";
38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
39*d5c09012SAndroid Build Coastguard Worker  type: "cloudtasks.googleapis.com/Location"
40*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}"
41*d5c09012SAndroid Build Coastguard Worker};
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker// Cloud Tasks allows developers to manage the execution of background
44*d5c09012SAndroid Build Coastguard Worker// work in their applications.
45*d5c09012SAndroid Build Coastguard Workerservice CloudTasks {
46*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "cloudtasks.googleapis.com";
47*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
48*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker  // Lists queues.
51*d5c09012SAndroid Build Coastguard Worker  //
52*d5c09012SAndroid Build Coastguard Worker  // Queues are returned in lexicographical order.
53*d5c09012SAndroid Build Coastguard Worker  rpc ListQueues(ListQueuesRequest) returns (ListQueuesResponse) {
54*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
55*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta2/{parent=projects/*/locations/*}/queues"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
58*d5c09012SAndroid Build Coastguard Worker  }
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Gets a queue.
61*d5c09012SAndroid Build Coastguard Worker  rpc GetQueue(GetQueueRequest) returns (Queue) {
62*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
63*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta2/{name=projects/*/locations/*/queues/*}"
64*d5c09012SAndroid Build Coastguard Worker    };
65*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
66*d5c09012SAndroid Build Coastguard Worker  }
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker  // Creates a queue.
69*d5c09012SAndroid Build Coastguard Worker  //
70*d5c09012SAndroid Build Coastguard Worker  // Queues created with this method allow tasks to live for a maximum of 31
71*d5c09012SAndroid Build Coastguard Worker  // days. After a task is 31 days old, the task will be deleted regardless of
72*d5c09012SAndroid Build Coastguard Worker  // whether it was dispatched or not.
73*d5c09012SAndroid Build Coastguard Worker  //
74*d5c09012SAndroid Build Coastguard Worker  // WARNING: Using this method may have unintended side effects if you are
75*d5c09012SAndroid Build Coastguard Worker  // using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
76*d5c09012SAndroid Build Coastguard Worker  // Read
77*d5c09012SAndroid Build Coastguard Worker  // [Overview of Queue Management and
78*d5c09012SAndroid Build Coastguard Worker  // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
79*d5c09012SAndroid Build Coastguard Worker  // this method.
80*d5c09012SAndroid Build Coastguard Worker  rpc CreateQueue(CreateQueueRequest) returns (Queue) {
81*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
82*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{parent=projects/*/locations/*}/queues"
83*d5c09012SAndroid Build Coastguard Worker      body: "queue"
84*d5c09012SAndroid Build Coastguard Worker    };
85*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,queue";
86*d5c09012SAndroid Build Coastguard Worker  }
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker  // Updates a queue.
89*d5c09012SAndroid Build Coastguard Worker  //
90*d5c09012SAndroid Build Coastguard Worker  // This method creates the queue if it does not exist and updates
91*d5c09012SAndroid Build Coastguard Worker  // the queue if it does exist.
92*d5c09012SAndroid Build Coastguard Worker  //
93*d5c09012SAndroid Build Coastguard Worker  // Queues created with this method allow tasks to live for a maximum of 31
94*d5c09012SAndroid Build Coastguard Worker  // days. After a task is 31 days old, the task will be deleted regardless of
95*d5c09012SAndroid Build Coastguard Worker  // whether it was dispatched or not.
96*d5c09012SAndroid Build Coastguard Worker  //
97*d5c09012SAndroid Build Coastguard Worker  // WARNING: Using this method may have unintended side effects if you are
98*d5c09012SAndroid Build Coastguard Worker  // using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
99*d5c09012SAndroid Build Coastguard Worker  // Read
100*d5c09012SAndroid Build Coastguard Worker  // [Overview of Queue Management and
101*d5c09012SAndroid Build Coastguard Worker  // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
102*d5c09012SAndroid Build Coastguard Worker  // this method.
103*d5c09012SAndroid Build Coastguard Worker  rpc UpdateQueue(UpdateQueueRequest) returns (Queue) {
104*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
105*d5c09012SAndroid Build Coastguard Worker      patch: "/v2beta2/{queue.name=projects/*/locations/*/queues/*}"
106*d5c09012SAndroid Build Coastguard Worker      body: "queue"
107*d5c09012SAndroid Build Coastguard Worker    };
108*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "queue,update_mask";
109*d5c09012SAndroid Build Coastguard Worker  }
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // Deletes a queue.
112*d5c09012SAndroid Build Coastguard Worker  //
113*d5c09012SAndroid Build Coastguard Worker  // This command will delete the queue even if it has tasks in it.
114*d5c09012SAndroid Build Coastguard Worker  //
115*d5c09012SAndroid Build Coastguard Worker  // Note: If you delete a queue, a queue with the same name can't be created
116*d5c09012SAndroid Build Coastguard Worker  // for 7 days.
117*d5c09012SAndroid Build Coastguard Worker  //
118*d5c09012SAndroid Build Coastguard Worker  // WARNING: Using this method may have unintended side effects if you are
119*d5c09012SAndroid Build Coastguard Worker  // using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
120*d5c09012SAndroid Build Coastguard Worker  // Read
121*d5c09012SAndroid Build Coastguard Worker  // [Overview of Queue Management and
122*d5c09012SAndroid Build Coastguard Worker  // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
123*d5c09012SAndroid Build Coastguard Worker  // this method.
124*d5c09012SAndroid Build Coastguard Worker  rpc DeleteQueue(DeleteQueueRequest) returns (google.protobuf.Empty) {
125*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
126*d5c09012SAndroid Build Coastguard Worker      delete: "/v2beta2/{name=projects/*/locations/*/queues/*}"
127*d5c09012SAndroid Build Coastguard Worker    };
128*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
129*d5c09012SAndroid Build Coastguard Worker  }
130*d5c09012SAndroid Build Coastguard Worker
131*d5c09012SAndroid Build Coastguard Worker  // Purges a queue by deleting all of its tasks.
132*d5c09012SAndroid Build Coastguard Worker  //
133*d5c09012SAndroid Build Coastguard Worker  // All tasks created before this method is called are permanently deleted.
134*d5c09012SAndroid Build Coastguard Worker  //
135*d5c09012SAndroid Build Coastguard Worker  // Purge operations can take up to one minute to take effect. Tasks
136*d5c09012SAndroid Build Coastguard Worker  // might be dispatched before the purge takes effect. A purge is irreversible.
137*d5c09012SAndroid Build Coastguard Worker  rpc PurgeQueue(PurgeQueueRequest) returns (Queue) {
138*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
139*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*}:purge"
140*d5c09012SAndroid Build Coastguard Worker      body: "*"
141*d5c09012SAndroid Build Coastguard Worker    };
142*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
143*d5c09012SAndroid Build Coastguard Worker  }
144*d5c09012SAndroid Build Coastguard Worker
145*d5c09012SAndroid Build Coastguard Worker  // Pauses the queue.
146*d5c09012SAndroid Build Coastguard Worker  //
147*d5c09012SAndroid Build Coastguard Worker  // If a queue is paused then the system will stop dispatching tasks
148*d5c09012SAndroid Build Coastguard Worker  // until the queue is resumed via
149*d5c09012SAndroid Build Coastguard Worker  // [ResumeQueue][google.cloud.tasks.v2beta2.CloudTasks.ResumeQueue]. Tasks can
150*d5c09012SAndroid Build Coastguard Worker  // still be added when the queue is paused. A queue is paused if its
151*d5c09012SAndroid Build Coastguard Worker  // [state][google.cloud.tasks.v2beta2.Queue.state] is
152*d5c09012SAndroid Build Coastguard Worker  // [PAUSED][google.cloud.tasks.v2beta2.Queue.State.PAUSED].
153*d5c09012SAndroid Build Coastguard Worker  rpc PauseQueue(PauseQueueRequest) returns (Queue) {
154*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
155*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*}:pause"
156*d5c09012SAndroid Build Coastguard Worker      body: "*"
157*d5c09012SAndroid Build Coastguard Worker    };
158*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
159*d5c09012SAndroid Build Coastguard Worker  }
160*d5c09012SAndroid Build Coastguard Worker
161*d5c09012SAndroid Build Coastguard Worker  // Resume a queue.
162*d5c09012SAndroid Build Coastguard Worker  //
163*d5c09012SAndroid Build Coastguard Worker  // This method resumes a queue after it has been
164*d5c09012SAndroid Build Coastguard Worker  // [PAUSED][google.cloud.tasks.v2beta2.Queue.State.PAUSED] or
165*d5c09012SAndroid Build Coastguard Worker  // [DISABLED][google.cloud.tasks.v2beta2.Queue.State.DISABLED]. The state of a
166*d5c09012SAndroid Build Coastguard Worker  // queue is stored in the queue's
167*d5c09012SAndroid Build Coastguard Worker  // [state][google.cloud.tasks.v2beta2.Queue.state]; after calling this method
168*d5c09012SAndroid Build Coastguard Worker  // it will be set to
169*d5c09012SAndroid Build Coastguard Worker  // [RUNNING][google.cloud.tasks.v2beta2.Queue.State.RUNNING].
170*d5c09012SAndroid Build Coastguard Worker  //
171*d5c09012SAndroid Build Coastguard Worker  // WARNING: Resuming many high-QPS queues at the same time can
172*d5c09012SAndroid Build Coastguard Worker  // lead to target overloading. If you are resuming high-QPS
173*d5c09012SAndroid Build Coastguard Worker  // queues, follow the 500/50/5 pattern described in
174*d5c09012SAndroid Build Coastguard Worker  // [Managing Cloud Tasks Scaling
175*d5c09012SAndroid Build Coastguard Worker  // Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).
176*d5c09012SAndroid Build Coastguard Worker  rpc ResumeQueue(ResumeQueueRequest) returns (Queue) {
177*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
178*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*}:resume"
179*d5c09012SAndroid Build Coastguard Worker      body: "*"
180*d5c09012SAndroid Build Coastguard Worker    };
181*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
182*d5c09012SAndroid Build Coastguard Worker  }
183*d5c09012SAndroid Build Coastguard Worker
184*d5c09012SAndroid Build Coastguard Worker  // Update queue list by uploading a queue.yaml file.
185*d5c09012SAndroid Build Coastguard Worker  //
186*d5c09012SAndroid Build Coastguard Worker  // The queue.yaml file is supplied in the request body as a YAML encoded
187*d5c09012SAndroid Build Coastguard Worker  // string. This method was added to support gcloud clients versions before
188*d5c09012SAndroid Build Coastguard Worker  // 322.0.0. New clients should use CreateQueue instead of this method.
189*d5c09012SAndroid Build Coastguard Worker  rpc UploadQueueYaml(UploadQueueYamlRequest) returns (google.protobuf.Empty) {}
190*d5c09012SAndroid Build Coastguard Worker
191*d5c09012SAndroid Build Coastguard Worker  // Gets the access control policy for a
192*d5c09012SAndroid Build Coastguard Worker  // [Queue][google.cloud.tasks.v2beta2.Queue]. Returns an empty policy if the
193*d5c09012SAndroid Build Coastguard Worker  // resource exists and does not have a policy set.
194*d5c09012SAndroid Build Coastguard Worker  //
195*d5c09012SAndroid Build Coastguard Worker  // Authorization requires the following
196*d5c09012SAndroid Build Coastguard Worker  // [Google IAM](https://cloud.google.com/iam) permission on the specified
197*d5c09012SAndroid Build Coastguard Worker  // resource parent:
198*d5c09012SAndroid Build Coastguard Worker  //
199*d5c09012SAndroid Build Coastguard Worker  // * `cloudtasks.queues.getIamPolicy`
200*d5c09012SAndroid Build Coastguard Worker  rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
201*d5c09012SAndroid Build Coastguard Worker      returns (google.iam.v1.Policy) {
202*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
203*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{resource=projects/*/locations/*/queues/*}:getIamPolicy"
204*d5c09012SAndroid Build Coastguard Worker      body: "*"
205*d5c09012SAndroid Build Coastguard Worker    };
206*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "resource";
207*d5c09012SAndroid Build Coastguard Worker  }
208*d5c09012SAndroid Build Coastguard Worker
209*d5c09012SAndroid Build Coastguard Worker  // Sets the access control policy for a
210*d5c09012SAndroid Build Coastguard Worker  // [Queue][google.cloud.tasks.v2beta2.Queue]. Replaces any existing policy.
211*d5c09012SAndroid Build Coastguard Worker  //
212*d5c09012SAndroid Build Coastguard Worker  // Note: The Cloud Console does not check queue-level IAM permissions yet.
213*d5c09012SAndroid Build Coastguard Worker  // Project-level permissions are required to use the Cloud Console.
214*d5c09012SAndroid Build Coastguard Worker  //
215*d5c09012SAndroid Build Coastguard Worker  // Authorization requires the following
216*d5c09012SAndroid Build Coastguard Worker  // [Google IAM](https://cloud.google.com/iam) permission on the specified
217*d5c09012SAndroid Build Coastguard Worker  // resource parent:
218*d5c09012SAndroid Build Coastguard Worker  //
219*d5c09012SAndroid Build Coastguard Worker  // * `cloudtasks.queues.setIamPolicy`
220*d5c09012SAndroid Build Coastguard Worker  rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
221*d5c09012SAndroid Build Coastguard Worker      returns (google.iam.v1.Policy) {
222*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
223*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{resource=projects/*/locations/*/queues/*}:setIamPolicy"
224*d5c09012SAndroid Build Coastguard Worker      body: "*"
225*d5c09012SAndroid Build Coastguard Worker    };
226*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "resource,policy";
227*d5c09012SAndroid Build Coastguard Worker  }
228*d5c09012SAndroid Build Coastguard Worker
229*d5c09012SAndroid Build Coastguard Worker  // Returns permissions that a caller has on a
230*d5c09012SAndroid Build Coastguard Worker  // [Queue][google.cloud.tasks.v2beta2.Queue]. If the resource does not exist,
231*d5c09012SAndroid Build Coastguard Worker  // this will return an empty set of permissions, not a
232*d5c09012SAndroid Build Coastguard Worker  // [NOT_FOUND][google.rpc.Code.NOT_FOUND] error.
233*d5c09012SAndroid Build Coastguard Worker  //
234*d5c09012SAndroid Build Coastguard Worker  // Note: This operation is designed to be used for building permission-aware
235*d5c09012SAndroid Build Coastguard Worker  // UIs and command-line tools, not for authorization checking. This operation
236*d5c09012SAndroid Build Coastguard Worker  // may "fail open" without warning.
237*d5c09012SAndroid Build Coastguard Worker  rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
238*d5c09012SAndroid Build Coastguard Worker      returns (google.iam.v1.TestIamPermissionsResponse) {
239*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
240*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{resource=projects/*/locations/*/queues/*}:testIamPermissions"
241*d5c09012SAndroid Build Coastguard Worker      body: "*"
242*d5c09012SAndroid Build Coastguard Worker    };
243*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "resource,permissions";
244*d5c09012SAndroid Build Coastguard Worker  }
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker  // Lists the tasks in a queue.
247*d5c09012SAndroid Build Coastguard Worker  //
248*d5c09012SAndroid Build Coastguard Worker  // By default, only the [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]
249*d5c09012SAndroid Build Coastguard Worker  // view is retrieved due to performance considerations;
250*d5c09012SAndroid Build Coastguard Worker  // [response_view][google.cloud.tasks.v2beta2.ListTasksRequest.response_view]
251*d5c09012SAndroid Build Coastguard Worker  // controls the subset of information which is returned.
252*d5c09012SAndroid Build Coastguard Worker  //
253*d5c09012SAndroid Build Coastguard Worker  // The tasks may be returned in any order. The ordering may change at any
254*d5c09012SAndroid Build Coastguard Worker  // time.
255*d5c09012SAndroid Build Coastguard Worker  rpc ListTasks(ListTasksRequest) returns (ListTasksResponse) {
256*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
257*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta2/{parent=projects/*/locations/*/queues/*}/tasks"
258*d5c09012SAndroid Build Coastguard Worker    };
259*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
260*d5c09012SAndroid Build Coastguard Worker  }
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker  // Gets a task.
263*d5c09012SAndroid Build Coastguard Worker  rpc GetTask(GetTaskRequest) returns (Task) {
264*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
265*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}"
266*d5c09012SAndroid Build Coastguard Worker    };
267*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
268*d5c09012SAndroid Build Coastguard Worker  }
269*d5c09012SAndroid Build Coastguard Worker
270*d5c09012SAndroid Build Coastguard Worker  // Creates a task and adds it to a queue.
271*d5c09012SAndroid Build Coastguard Worker  //
272*d5c09012SAndroid Build Coastguard Worker  // Tasks cannot be updated after creation; there is no UpdateTask command.
273*d5c09012SAndroid Build Coastguard Worker  //
274*d5c09012SAndroid Build Coastguard Worker  // * For [App Engine queues][google.cloud.tasks.v2beta2.AppEngineHttpTarget],
275*d5c09012SAndroid Build Coastguard Worker  // the maximum task size is
276*d5c09012SAndroid Build Coastguard Worker  //   100KB.
277*d5c09012SAndroid Build Coastguard Worker  // * For [pull queues][google.cloud.tasks.v2beta2.PullTarget], the maximum
278*d5c09012SAndroid Build Coastguard Worker  // task size is 1MB.
279*d5c09012SAndroid Build Coastguard Worker  rpc CreateTask(CreateTaskRequest) returns (Task) {
280*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
281*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{parent=projects/*/locations/*/queues/*}/tasks"
282*d5c09012SAndroid Build Coastguard Worker      body: "*"
283*d5c09012SAndroid Build Coastguard Worker    };
284*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,task";
285*d5c09012SAndroid Build Coastguard Worker  }
286*d5c09012SAndroid Build Coastguard Worker
287*d5c09012SAndroid Build Coastguard Worker  // Deletes a task.
288*d5c09012SAndroid Build Coastguard Worker  //
289*d5c09012SAndroid Build Coastguard Worker  // A task can be deleted if it is scheduled or dispatched. A task
290*d5c09012SAndroid Build Coastguard Worker  // cannot be deleted if it has completed successfully or permanently
291*d5c09012SAndroid Build Coastguard Worker  // failed.
292*d5c09012SAndroid Build Coastguard Worker  rpc DeleteTask(DeleteTaskRequest) returns (google.protobuf.Empty) {
293*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
294*d5c09012SAndroid Build Coastguard Worker      delete: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}"
295*d5c09012SAndroid Build Coastguard Worker    };
296*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
297*d5c09012SAndroid Build Coastguard Worker  }
298*d5c09012SAndroid Build Coastguard Worker
299*d5c09012SAndroid Build Coastguard Worker  // Leases tasks from a pull queue for
300*d5c09012SAndroid Build Coastguard Worker  // [lease_duration][google.cloud.tasks.v2beta2.LeaseTasksRequest.lease_duration].
301*d5c09012SAndroid Build Coastguard Worker  //
302*d5c09012SAndroid Build Coastguard Worker  // This method is invoked by the worker to obtain a lease. The
303*d5c09012SAndroid Build Coastguard Worker  // worker must acknowledge the task via
304*d5c09012SAndroid Build Coastguard Worker  // [AcknowledgeTask][google.cloud.tasks.v2beta2.CloudTasks.AcknowledgeTask]
305*d5c09012SAndroid Build Coastguard Worker  // after they have performed the work associated with the task.
306*d5c09012SAndroid Build Coastguard Worker  //
307*d5c09012SAndroid Build Coastguard Worker  // The [payload][google.cloud.tasks.v2beta2.PullMessage.payload] is intended
308*d5c09012SAndroid Build Coastguard Worker  // to store data that the worker needs to perform the work associated with the
309*d5c09012SAndroid Build Coastguard Worker  // task. To return the payloads in the
310*d5c09012SAndroid Build Coastguard Worker  // [response][google.cloud.tasks.v2beta2.LeaseTasksResponse], set
311*d5c09012SAndroid Build Coastguard Worker  // [response_view][google.cloud.tasks.v2beta2.LeaseTasksRequest.response_view]
312*d5c09012SAndroid Build Coastguard Worker  // to [FULL][google.cloud.tasks.v2beta2.Task.View.FULL].
313*d5c09012SAndroid Build Coastguard Worker  //
314*d5c09012SAndroid Build Coastguard Worker  // A maximum of 10 qps of
315*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] requests are
316*d5c09012SAndroid Build Coastguard Worker  // allowed per queue. [RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]
317*d5c09012SAndroid Build Coastguard Worker  // is returned when this limit is
318*d5c09012SAndroid Build Coastguard Worker  // exceeded. [RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]
319*d5c09012SAndroid Build Coastguard Worker  // is also returned when
320*d5c09012SAndroid Build Coastguard Worker  // [max_tasks_dispatched_per_second][google.cloud.tasks.v2beta2.RateLimits.max_tasks_dispatched_per_second]
321*d5c09012SAndroid Build Coastguard Worker  // is exceeded.
322*d5c09012SAndroid Build Coastguard Worker  rpc LeaseTasks(LeaseTasksRequest) returns (LeaseTasksResponse) {
323*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
324*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{parent=projects/*/locations/*/queues/*}/tasks:lease"
325*d5c09012SAndroid Build Coastguard Worker      body: "*"
326*d5c09012SAndroid Build Coastguard Worker    };
327*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,lease_duration";
328*d5c09012SAndroid Build Coastguard Worker  }
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker  // Acknowledges a pull task.
331*d5c09012SAndroid Build Coastguard Worker  //
332*d5c09012SAndroid Build Coastguard Worker  // The worker, that is, the entity that
333*d5c09012SAndroid Build Coastguard Worker  // [leased][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] this task must
334*d5c09012SAndroid Build Coastguard Worker  // call this method to indicate that the work associated with the task has
335*d5c09012SAndroid Build Coastguard Worker  // finished.
336*d5c09012SAndroid Build Coastguard Worker  //
337*d5c09012SAndroid Build Coastguard Worker  // The worker must acknowledge a task within the
338*d5c09012SAndroid Build Coastguard Worker  // [lease_duration][google.cloud.tasks.v2beta2.LeaseTasksRequest.lease_duration]
339*d5c09012SAndroid Build Coastguard Worker  // or the lease will expire and the task will become available to be leased
340*d5c09012SAndroid Build Coastguard Worker  // again. After the task is acknowledged, it will not be returned
341*d5c09012SAndroid Build Coastguard Worker  // by a later [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks],
342*d5c09012SAndroid Build Coastguard Worker  // [GetTask][google.cloud.tasks.v2beta2.CloudTasks.GetTask], or
343*d5c09012SAndroid Build Coastguard Worker  // [ListTasks][google.cloud.tasks.v2beta2.CloudTasks.ListTasks].
344*d5c09012SAndroid Build Coastguard Worker  rpc AcknowledgeTask(AcknowledgeTaskRequest) returns (google.protobuf.Empty) {
345*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
346*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}:acknowledge"
347*d5c09012SAndroid Build Coastguard Worker      body: "*"
348*d5c09012SAndroid Build Coastguard Worker    };
349*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name,schedule_time";
350*d5c09012SAndroid Build Coastguard Worker  }
351*d5c09012SAndroid Build Coastguard Worker
352*d5c09012SAndroid Build Coastguard Worker  // Renew the current lease of a pull task.
353*d5c09012SAndroid Build Coastguard Worker  //
354*d5c09012SAndroid Build Coastguard Worker  // The worker can use this method to extend the lease by a new
355*d5c09012SAndroid Build Coastguard Worker  // duration, starting from now. The new task lease will be
356*d5c09012SAndroid Build Coastguard Worker  // returned in the task's
357*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time].
358*d5c09012SAndroid Build Coastguard Worker  rpc RenewLease(RenewLeaseRequest) returns (Task) {
359*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
360*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}:renewLease"
361*d5c09012SAndroid Build Coastguard Worker      body: "*"
362*d5c09012SAndroid Build Coastguard Worker    };
363*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name,schedule_time,lease_duration";
364*d5c09012SAndroid Build Coastguard Worker  }
365*d5c09012SAndroid Build Coastguard Worker
366*d5c09012SAndroid Build Coastguard Worker  // Cancel a pull task's lease.
367*d5c09012SAndroid Build Coastguard Worker  //
368*d5c09012SAndroid Build Coastguard Worker  // The worker can use this method to cancel a task's lease by
369*d5c09012SAndroid Build Coastguard Worker  // setting its [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time]
370*d5c09012SAndroid Build Coastguard Worker  // to now. This will make the task available to be leased to the next caller
371*d5c09012SAndroid Build Coastguard Worker  // of [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks].
372*d5c09012SAndroid Build Coastguard Worker  rpc CancelLease(CancelLeaseRequest) returns (Task) {
373*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
374*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}:cancelLease"
375*d5c09012SAndroid Build Coastguard Worker      body: "*"
376*d5c09012SAndroid Build Coastguard Worker    };
377*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name,schedule_time";
378*d5c09012SAndroid Build Coastguard Worker  }
379*d5c09012SAndroid Build Coastguard Worker
380*d5c09012SAndroid Build Coastguard Worker  // Forces a task to run now.
381*d5c09012SAndroid Build Coastguard Worker  //
382*d5c09012SAndroid Build Coastguard Worker  // When this method is called, Cloud Tasks will dispatch the task, even if
383*d5c09012SAndroid Build Coastguard Worker  // the task is already running, the queue has reached its
384*d5c09012SAndroid Build Coastguard Worker  // [RateLimits][google.cloud.tasks.v2beta2.RateLimits] or is
385*d5c09012SAndroid Build Coastguard Worker  // [PAUSED][google.cloud.tasks.v2beta2.Queue.State.PAUSED].
386*d5c09012SAndroid Build Coastguard Worker  //
387*d5c09012SAndroid Build Coastguard Worker  // This command is meant to be used for manual debugging. For
388*d5c09012SAndroid Build Coastguard Worker  // example, [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask] can be
389*d5c09012SAndroid Build Coastguard Worker  // used to retry a failed task after a fix has been made or to manually force
390*d5c09012SAndroid Build Coastguard Worker  // a task to be dispatched now.
391*d5c09012SAndroid Build Coastguard Worker  //
392*d5c09012SAndroid Build Coastguard Worker  // The dispatched task is returned. That is, the task that is returned
393*d5c09012SAndroid Build Coastguard Worker  // contains the [status][google.cloud.tasks.v2beta2.Task.status] after the
394*d5c09012SAndroid Build Coastguard Worker  // task is dispatched but before the task is received by its target.
395*d5c09012SAndroid Build Coastguard Worker  //
396*d5c09012SAndroid Build Coastguard Worker  // If Cloud Tasks receives a successful response from the task's
397*d5c09012SAndroid Build Coastguard Worker  // target, then the task will be deleted; otherwise the task's
398*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] will be
399*d5c09012SAndroid Build Coastguard Worker  // reset to the time that
400*d5c09012SAndroid Build Coastguard Worker  // [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask] was called plus
401*d5c09012SAndroid Build Coastguard Worker  // the retry delay specified in the queue's
402*d5c09012SAndroid Build Coastguard Worker  // [RetryConfig][google.cloud.tasks.v2beta2.RetryConfig].
403*d5c09012SAndroid Build Coastguard Worker  //
404*d5c09012SAndroid Build Coastguard Worker  // [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask] returns
405*d5c09012SAndroid Build Coastguard Worker  // [NOT_FOUND][google.rpc.Code.NOT_FOUND] when it is called on a
406*d5c09012SAndroid Build Coastguard Worker  // task that has already succeeded or permanently failed.
407*d5c09012SAndroid Build Coastguard Worker  //
408*d5c09012SAndroid Build Coastguard Worker  // [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask] cannot be called
409*d5c09012SAndroid Build Coastguard Worker  // on a [pull task][google.cloud.tasks.v2beta2.PullMessage].
410*d5c09012SAndroid Build Coastguard Worker  rpc RunTask(RunTaskRequest) returns (Task) {
411*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
412*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta2/{name=projects/*/locations/*/queues/*/tasks/*}:run"
413*d5c09012SAndroid Build Coastguard Worker      body: "*"
414*d5c09012SAndroid Build Coastguard Worker    };
415*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
416*d5c09012SAndroid Build Coastguard Worker  }
417*d5c09012SAndroid Build Coastguard Worker}
418*d5c09012SAndroid Build Coastguard Worker
419*d5c09012SAndroid Build Coastguard Worker// Request message for
420*d5c09012SAndroid Build Coastguard Worker// [ListQueues][google.cloud.tasks.v2beta2.CloudTasks.ListQueues].
421*d5c09012SAndroid Build Coastguard Workermessage ListQueuesRequest {
422*d5c09012SAndroid Build Coastguard Worker  // Required. The location name.
423*d5c09012SAndroid Build Coastguard Worker  // For example: `projects/PROJECT_ID/locations/LOCATION_ID`
424*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
425*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
426*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
427*d5c09012SAndroid Build Coastguard Worker      child_type: "cloudtasks.googleapis.com/Queue"
428*d5c09012SAndroid Build Coastguard Worker    }
429*d5c09012SAndroid Build Coastguard Worker  ];
430*d5c09012SAndroid Build Coastguard Worker
431*d5c09012SAndroid Build Coastguard Worker  // `filter` can be used to specify a subset of queues. Any
432*d5c09012SAndroid Build Coastguard Worker  // [Queue][google.cloud.tasks.v2beta2.Queue] field can be used as a filter and
433*d5c09012SAndroid Build Coastguard Worker  // several operators as supported. For example: `<=, <, >=, >, !=, =, :`. The
434*d5c09012SAndroid Build Coastguard Worker  // filter syntax is the same as described in [Stackdriver's Advanced Logs
435*d5c09012SAndroid Build Coastguard Worker  // Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
436*d5c09012SAndroid Build Coastguard Worker  //
437*d5c09012SAndroid Build Coastguard Worker  // Sample filter "app_engine_http_target: *".
438*d5c09012SAndroid Build Coastguard Worker  //
439*d5c09012SAndroid Build Coastguard Worker  // Note that using filters might cause fewer queues than the
440*d5c09012SAndroid Build Coastguard Worker  // requested_page size to be returned.
441*d5c09012SAndroid Build Coastguard Worker  string filter = 2;
442*d5c09012SAndroid Build Coastguard Worker
443*d5c09012SAndroid Build Coastguard Worker  // Requested page size.
444*d5c09012SAndroid Build Coastguard Worker  //
445*d5c09012SAndroid Build Coastguard Worker  // The maximum page size is 9800. If unspecified, the page size will
446*d5c09012SAndroid Build Coastguard Worker  // be the maximum. Fewer queues than requested might be returned,
447*d5c09012SAndroid Build Coastguard Worker  // even if more queues exist; use the
448*d5c09012SAndroid Build Coastguard Worker  // [next_page_token][google.cloud.tasks.v2beta2.ListQueuesResponse.next_page_token]
449*d5c09012SAndroid Build Coastguard Worker  // in the response to determine if more queues exist.
450*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
451*d5c09012SAndroid Build Coastguard Worker
452*d5c09012SAndroid Build Coastguard Worker  // A token identifying the page of results to return.
453*d5c09012SAndroid Build Coastguard Worker  //
454*d5c09012SAndroid Build Coastguard Worker  // To request the first page results, page_token must be empty. To
455*d5c09012SAndroid Build Coastguard Worker  // request the next page of results, page_token must be the value of
456*d5c09012SAndroid Build Coastguard Worker  // [next_page_token][google.cloud.tasks.v2beta2.ListQueuesResponse.next_page_token]
457*d5c09012SAndroid Build Coastguard Worker  // returned from the previous call to
458*d5c09012SAndroid Build Coastguard Worker  // [ListQueues][google.cloud.tasks.v2beta2.CloudTasks.ListQueues] method. It
459*d5c09012SAndroid Build Coastguard Worker  // is an error to switch the value of the
460*d5c09012SAndroid Build Coastguard Worker  // [filter][google.cloud.tasks.v2beta2.ListQueuesRequest.filter] while
461*d5c09012SAndroid Build Coastguard Worker  // iterating through pages.
462*d5c09012SAndroid Build Coastguard Worker  string page_token = 4;
463*d5c09012SAndroid Build Coastguard Worker
464*d5c09012SAndroid Build Coastguard Worker  // Optional. Read mask is used for a more granular control over what the API
465*d5c09012SAndroid Build Coastguard Worker  // returns. If the mask is not present all fields will be returned except
466*d5c09012SAndroid Build Coastguard Worker  // [Queue.stats]. [Queue.stats] will be returned only if it was  explicitly
467*d5c09012SAndroid Build Coastguard Worker  // specified in the mask.
468*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask read_mask = 5
469*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
470*d5c09012SAndroid Build Coastguard Worker}
471*d5c09012SAndroid Build Coastguard Worker
472*d5c09012SAndroid Build Coastguard Worker// Response message for
473*d5c09012SAndroid Build Coastguard Worker// [ListQueues][google.cloud.tasks.v2beta2.CloudTasks.ListQueues].
474*d5c09012SAndroid Build Coastguard Workermessage ListQueuesResponse {
475*d5c09012SAndroid Build Coastguard Worker  // The list of queues.
476*d5c09012SAndroid Build Coastguard Worker  repeated Queue queues = 1;
477*d5c09012SAndroid Build Coastguard Worker
478*d5c09012SAndroid Build Coastguard Worker  // A token to retrieve next page of results.
479*d5c09012SAndroid Build Coastguard Worker  //
480*d5c09012SAndroid Build Coastguard Worker  // To return the next page of results, call
481*d5c09012SAndroid Build Coastguard Worker  // [ListQueues][google.cloud.tasks.v2beta2.CloudTasks.ListQueues] with this
482*d5c09012SAndroid Build Coastguard Worker  // value as the
483*d5c09012SAndroid Build Coastguard Worker  // [page_token][google.cloud.tasks.v2beta2.ListQueuesRequest.page_token].
484*d5c09012SAndroid Build Coastguard Worker  //
485*d5c09012SAndroid Build Coastguard Worker  // If the next_page_token is empty, there are no more results.
486*d5c09012SAndroid Build Coastguard Worker  //
487*d5c09012SAndroid Build Coastguard Worker  // The page token is valid for only 2 hours.
488*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
489*d5c09012SAndroid Build Coastguard Worker}
490*d5c09012SAndroid Build Coastguard Worker
491*d5c09012SAndroid Build Coastguard Worker// Request message for
492*d5c09012SAndroid Build Coastguard Worker// [GetQueue][google.cloud.tasks.v2beta2.CloudTasks.GetQueue].
493*d5c09012SAndroid Build Coastguard Workermessage GetQueueRequest {
494*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the queue. For example:
495*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
496*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
497*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
498*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
499*d5c09012SAndroid Build Coastguard Worker      type: "cloudtasks.googleapis.com/Queue"
500*d5c09012SAndroid Build Coastguard Worker    }
501*d5c09012SAndroid Build Coastguard Worker  ];
502*d5c09012SAndroid Build Coastguard Worker
503*d5c09012SAndroid Build Coastguard Worker  // Optional. Read mask is used for a more granular control over what the API
504*d5c09012SAndroid Build Coastguard Worker  // returns. If the mask is not present all fields will be returned except
505*d5c09012SAndroid Build Coastguard Worker  // [Queue.stats]. [Queue.stats] will be returned only if it was  explicitly
506*d5c09012SAndroid Build Coastguard Worker  // specified in the mask.
507*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask read_mask = 2
508*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
509*d5c09012SAndroid Build Coastguard Worker}
510*d5c09012SAndroid Build Coastguard Worker
511*d5c09012SAndroid Build Coastguard Worker// Request message for
512*d5c09012SAndroid Build Coastguard Worker// [CreateQueue][google.cloud.tasks.v2beta2.CloudTasks.CreateQueue].
513*d5c09012SAndroid Build Coastguard Workermessage CreateQueueRequest {
514*d5c09012SAndroid Build Coastguard Worker  // Required. The location name in which the queue will be created.
515*d5c09012SAndroid Build Coastguard Worker  // For example: `projects/PROJECT_ID/locations/LOCATION_ID`
516*d5c09012SAndroid Build Coastguard Worker  //
517*d5c09012SAndroid Build Coastguard Worker  // The list of allowed locations can be obtained by calling Cloud
518*d5c09012SAndroid Build Coastguard Worker  // Tasks' implementation of
519*d5c09012SAndroid Build Coastguard Worker  // [ListLocations][google.cloud.location.Locations.ListLocations].
520*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
521*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
522*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
523*d5c09012SAndroid Build Coastguard Worker      child_type: "cloudtasks.googleapis.com/Queue"
524*d5c09012SAndroid Build Coastguard Worker    }
525*d5c09012SAndroid Build Coastguard Worker  ];
526*d5c09012SAndroid Build Coastguard Worker
527*d5c09012SAndroid Build Coastguard Worker  // Required. The queue to create.
528*d5c09012SAndroid Build Coastguard Worker  //
529*d5c09012SAndroid Build Coastguard Worker  // [Queue's name][google.cloud.tasks.v2beta2.Queue.name] cannot be the same as
530*d5c09012SAndroid Build Coastguard Worker  // an existing queue.
531*d5c09012SAndroid Build Coastguard Worker  Queue queue = 2 [(google.api.field_behavior) = REQUIRED];
532*d5c09012SAndroid Build Coastguard Worker}
533*d5c09012SAndroid Build Coastguard Worker
534*d5c09012SAndroid Build Coastguard Worker// Request message for
535*d5c09012SAndroid Build Coastguard Worker// [UpdateQueue][google.cloud.tasks.v2beta2.CloudTasks.UpdateQueue].
536*d5c09012SAndroid Build Coastguard Workermessage UpdateQueueRequest {
537*d5c09012SAndroid Build Coastguard Worker  // Required. The queue to create or update.
538*d5c09012SAndroid Build Coastguard Worker  //
539*d5c09012SAndroid Build Coastguard Worker  // The queue's [name][google.cloud.tasks.v2beta2.Queue.name] must be
540*d5c09012SAndroid Build Coastguard Worker  // specified.
541*d5c09012SAndroid Build Coastguard Worker  //
542*d5c09012SAndroid Build Coastguard Worker  // Output only fields cannot be modified using UpdateQueue.
543*d5c09012SAndroid Build Coastguard Worker  // Any value specified for an output only field will be ignored.
544*d5c09012SAndroid Build Coastguard Worker  // The queue's [name][google.cloud.tasks.v2beta2.Queue.name] cannot be
545*d5c09012SAndroid Build Coastguard Worker  // changed.
546*d5c09012SAndroid Build Coastguard Worker  Queue queue = 1 [(google.api.field_behavior) = REQUIRED];
547*d5c09012SAndroid Build Coastguard Worker
548*d5c09012SAndroid Build Coastguard Worker  // A mask used to specify which fields of the queue are being updated.
549*d5c09012SAndroid Build Coastguard Worker  //
550*d5c09012SAndroid Build Coastguard Worker  // If empty, then all fields will be updated.
551*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
552*d5c09012SAndroid Build Coastguard Worker}
553*d5c09012SAndroid Build Coastguard Worker
554*d5c09012SAndroid Build Coastguard Worker// Request message for
555*d5c09012SAndroid Build Coastguard Worker// [DeleteQueue][google.cloud.tasks.v2beta2.CloudTasks.DeleteQueue].
556*d5c09012SAndroid Build Coastguard Workermessage DeleteQueueRequest {
557*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
558*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
559*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
560*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
561*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
562*d5c09012SAndroid Build Coastguard Worker      type: "cloudtasks.googleapis.com/Queue"
563*d5c09012SAndroid Build Coastguard Worker    }
564*d5c09012SAndroid Build Coastguard Worker  ];
565*d5c09012SAndroid Build Coastguard Worker}
566*d5c09012SAndroid Build Coastguard Worker
567*d5c09012SAndroid Build Coastguard Worker// Request message for
568*d5c09012SAndroid Build Coastguard Worker// [PurgeQueue][google.cloud.tasks.v2beta2.CloudTasks.PurgeQueue].
569*d5c09012SAndroid Build Coastguard Workermessage PurgeQueueRequest {
570*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
571*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`
572*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
573*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
574*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
575*d5c09012SAndroid Build Coastguard Worker      type: "cloudtasks.googleapis.com/Queue"
576*d5c09012SAndroid Build Coastguard Worker    }
577*d5c09012SAndroid Build Coastguard Worker  ];
578*d5c09012SAndroid Build Coastguard Worker}
579*d5c09012SAndroid Build Coastguard Worker
580*d5c09012SAndroid Build Coastguard Worker// Request message for
581*d5c09012SAndroid Build Coastguard Worker// [PauseQueue][google.cloud.tasks.v2beta2.CloudTasks.PauseQueue].
582*d5c09012SAndroid Build Coastguard Workermessage PauseQueueRequest {
583*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
584*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`
585*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
586*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
587*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
588*d5c09012SAndroid Build Coastguard Worker      type: "cloudtasks.googleapis.com/Queue"
589*d5c09012SAndroid Build Coastguard Worker    }
590*d5c09012SAndroid Build Coastguard Worker  ];
591*d5c09012SAndroid Build Coastguard Worker}
592*d5c09012SAndroid Build Coastguard Worker
593*d5c09012SAndroid Build Coastguard Worker// Request message for
594*d5c09012SAndroid Build Coastguard Worker// [ResumeQueue][google.cloud.tasks.v2beta2.CloudTasks.ResumeQueue].
595*d5c09012SAndroid Build Coastguard Workermessage ResumeQueueRequest {
596*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
597*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`
598*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
599*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
600*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
601*d5c09012SAndroid Build Coastguard Worker      type: "cloudtasks.googleapis.com/Queue"
602*d5c09012SAndroid Build Coastguard Worker    }
603*d5c09012SAndroid Build Coastguard Worker  ];
604*d5c09012SAndroid Build Coastguard Worker}
605*d5c09012SAndroid Build Coastguard Worker
606*d5c09012SAndroid Build Coastguard Worker// Request message for
607*d5c09012SAndroid Build Coastguard Worker// [UploadQueueYaml][google.cloud.tasks.v2beta2.CloudTasks.UploadQueueYaml].
608*d5c09012SAndroid Build Coastguard Workermessage UploadQueueYamlRequest {
609*d5c09012SAndroid Build Coastguard Worker  // Required. The App ID is supplied as an HTTP parameter. Unlike internal
610*d5c09012SAndroid Build Coastguard Worker  // usage of App ID, it does not include a region prefix. Rather, the App ID
611*d5c09012SAndroid Build Coastguard Worker  // represents the Project ID against which to make the request.
612*d5c09012SAndroid Build Coastguard Worker  string app_id = 1 [(google.api.field_behavior) = REQUIRED];
613*d5c09012SAndroid Build Coastguard Worker
614*d5c09012SAndroid Build Coastguard Worker  // The http body contains the queue.yaml file which used to update queue lists
615*d5c09012SAndroid Build Coastguard Worker  optional google.api.HttpBody http_body = 2;
616*d5c09012SAndroid Build Coastguard Worker}
617*d5c09012SAndroid Build Coastguard Worker
618*d5c09012SAndroid Build Coastguard Worker// Request message for listing tasks using
619*d5c09012SAndroid Build Coastguard Worker// [ListTasks][google.cloud.tasks.v2beta2.CloudTasks.ListTasks].
620*d5c09012SAndroid Build Coastguard Workermessage ListTasksRequest {
621*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
622*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
623*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
624*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
625*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
626*d5c09012SAndroid Build Coastguard Worker      child_type: "cloudtasks.googleapis.com/Task"
627*d5c09012SAndroid Build Coastguard Worker    }
628*d5c09012SAndroid Build Coastguard Worker  ];
629*d5c09012SAndroid Build Coastguard Worker
630*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
631*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
632*d5c09012SAndroid Build Coastguard Worker  //
633*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
634*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
635*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
636*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
637*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
638*d5c09012SAndroid Build Coastguard Worker  //
639*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
640*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
641*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
642*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
643*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 2;
644*d5c09012SAndroid Build Coastguard Worker
645*d5c09012SAndroid Build Coastguard Worker  // Maximum page size.
646*d5c09012SAndroid Build Coastguard Worker  //
647*d5c09012SAndroid Build Coastguard Worker  // Fewer tasks than requested might be returned, even if more tasks exist; use
648*d5c09012SAndroid Build Coastguard Worker  // [next_page_token][google.cloud.tasks.v2beta2.ListTasksResponse.next_page_token]
649*d5c09012SAndroid Build Coastguard Worker  // in the response to determine if more tasks exist.
650*d5c09012SAndroid Build Coastguard Worker  //
651*d5c09012SAndroid Build Coastguard Worker  // The maximum page size is 1000. If unspecified, the page size will be the
652*d5c09012SAndroid Build Coastguard Worker  // maximum.
653*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 4;
654*d5c09012SAndroid Build Coastguard Worker
655*d5c09012SAndroid Build Coastguard Worker  // A token identifying the page of results to return.
656*d5c09012SAndroid Build Coastguard Worker  //
657*d5c09012SAndroid Build Coastguard Worker  // To request the first page results, page_token must be empty. To
658*d5c09012SAndroid Build Coastguard Worker  // request the next page of results, page_token must be the value of
659*d5c09012SAndroid Build Coastguard Worker  // [next_page_token][google.cloud.tasks.v2beta2.ListTasksResponse.next_page_token]
660*d5c09012SAndroid Build Coastguard Worker  // returned from the previous call to
661*d5c09012SAndroid Build Coastguard Worker  // [ListTasks][google.cloud.tasks.v2beta2.CloudTasks.ListTasks] method.
662*d5c09012SAndroid Build Coastguard Worker  //
663*d5c09012SAndroid Build Coastguard Worker  // The page token is valid for only 2 hours.
664*d5c09012SAndroid Build Coastguard Worker  string page_token = 5;
665*d5c09012SAndroid Build Coastguard Worker}
666*d5c09012SAndroid Build Coastguard Worker
667*d5c09012SAndroid Build Coastguard Worker// Response message for listing tasks using
668*d5c09012SAndroid Build Coastguard Worker// [ListTasks][google.cloud.tasks.v2beta2.CloudTasks.ListTasks].
669*d5c09012SAndroid Build Coastguard Workermessage ListTasksResponse {
670*d5c09012SAndroid Build Coastguard Worker  // The list of tasks.
671*d5c09012SAndroid Build Coastguard Worker  repeated Task tasks = 1;
672*d5c09012SAndroid Build Coastguard Worker
673*d5c09012SAndroid Build Coastguard Worker  // A token to retrieve next page of results.
674*d5c09012SAndroid Build Coastguard Worker  //
675*d5c09012SAndroid Build Coastguard Worker  // To return the next page of results, call
676*d5c09012SAndroid Build Coastguard Worker  // [ListTasks][google.cloud.tasks.v2beta2.CloudTasks.ListTasks] with this
677*d5c09012SAndroid Build Coastguard Worker  // value as the
678*d5c09012SAndroid Build Coastguard Worker  // [page_token][google.cloud.tasks.v2beta2.ListTasksRequest.page_token].
679*d5c09012SAndroid Build Coastguard Worker  //
680*d5c09012SAndroid Build Coastguard Worker  // If the next_page_token is empty, there are no more results.
681*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
682*d5c09012SAndroid Build Coastguard Worker}
683*d5c09012SAndroid Build Coastguard Worker
684*d5c09012SAndroid Build Coastguard Worker// Request message for getting a task using
685*d5c09012SAndroid Build Coastguard Worker// [GetTask][google.cloud.tasks.v2beta2.CloudTasks.GetTask].
686*d5c09012SAndroid Build Coastguard Workermessage GetTaskRequest {
687*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
688*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
689*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
690*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
691*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
692*d5c09012SAndroid Build Coastguard Worker  ];
693*d5c09012SAndroid Build Coastguard Worker
694*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
695*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
696*d5c09012SAndroid Build Coastguard Worker  //
697*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
698*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
699*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
700*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
701*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
702*d5c09012SAndroid Build Coastguard Worker  //
703*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
704*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
705*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
706*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
707*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 2;
708*d5c09012SAndroid Build Coastguard Worker}
709*d5c09012SAndroid Build Coastguard Worker
710*d5c09012SAndroid Build Coastguard Worker// Request message for
711*d5c09012SAndroid Build Coastguard Worker// [CreateTask][google.cloud.tasks.v2beta2.CloudTasks.CreateTask].
712*d5c09012SAndroid Build Coastguard Workermessage CreateTaskRequest {
713*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
714*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
715*d5c09012SAndroid Build Coastguard Worker  //
716*d5c09012SAndroid Build Coastguard Worker  // The queue must already exist.
717*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
718*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
719*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
720*d5c09012SAndroid Build Coastguard Worker      child_type: "cloudtasks.googleapis.com/Task"
721*d5c09012SAndroid Build Coastguard Worker    }
722*d5c09012SAndroid Build Coastguard Worker  ];
723*d5c09012SAndroid Build Coastguard Worker
724*d5c09012SAndroid Build Coastguard Worker  // Required. The task to add.
725*d5c09012SAndroid Build Coastguard Worker  //
726*d5c09012SAndroid Build Coastguard Worker  // Task names have the following format:
727*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.
728*d5c09012SAndroid Build Coastguard Worker  // The user can optionally specify a task
729*d5c09012SAndroid Build Coastguard Worker  // [name][google.cloud.tasks.v2beta2.Task.name]. If a name is not specified
730*d5c09012SAndroid Build Coastguard Worker  // then the system will generate a random unique task id, which will be set in
731*d5c09012SAndroid Build Coastguard Worker  // the task returned in the [response][google.cloud.tasks.v2beta2.Task.name].
732*d5c09012SAndroid Build Coastguard Worker  //
733*d5c09012SAndroid Build Coastguard Worker  // If [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] is not
734*d5c09012SAndroid Build Coastguard Worker  // set or is in the past then Cloud Tasks will set it to the current time.
735*d5c09012SAndroid Build Coastguard Worker  //
736*d5c09012SAndroid Build Coastguard Worker  // Task De-duplication:
737*d5c09012SAndroid Build Coastguard Worker  //
738*d5c09012SAndroid Build Coastguard Worker  // Explicitly specifying a task ID enables task de-duplication.  If
739*d5c09012SAndroid Build Coastguard Worker  // a task's ID is identical to that of an existing task or a task
740*d5c09012SAndroid Build Coastguard Worker  // that was deleted or completed recently then the call will fail
741*d5c09012SAndroid Build Coastguard Worker  // with [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS].
742*d5c09012SAndroid Build Coastguard Worker  // If the task's queue was created using Cloud Tasks, then another task with
743*d5c09012SAndroid Build Coastguard Worker  // the same name can't be created for ~1 hour after the original task was
744*d5c09012SAndroid Build Coastguard Worker  // deleted or completed. If the task's queue was created using queue.yaml or
745*d5c09012SAndroid Build Coastguard Worker  // queue.xml, then another task with the same name can't be created
746*d5c09012SAndroid Build Coastguard Worker  // for ~9 days after the original task was deleted or completed.
747*d5c09012SAndroid Build Coastguard Worker  //
748*d5c09012SAndroid Build Coastguard Worker  // Because there is an extra lookup cost to identify duplicate task
749*d5c09012SAndroid Build Coastguard Worker  // names, these [CreateTask][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]
750*d5c09012SAndroid Build Coastguard Worker  // calls have significantly increased latency. Using hashed strings for the
751*d5c09012SAndroid Build Coastguard Worker  // task id or for the prefix of the task id is recommended. Choosing task ids
752*d5c09012SAndroid Build Coastguard Worker  // that are sequential or have sequential prefixes, for example using a
753*d5c09012SAndroid Build Coastguard Worker  // timestamp, causes an increase in latency and error rates in all
754*d5c09012SAndroid Build Coastguard Worker  // task commands. The infrastructure relies on an approximately
755*d5c09012SAndroid Build Coastguard Worker  // uniform distribution of task ids to store and serve tasks
756*d5c09012SAndroid Build Coastguard Worker  // efficiently.
757*d5c09012SAndroid Build Coastguard Worker  Task task = 2 [(google.api.field_behavior) = REQUIRED];
758*d5c09012SAndroid Build Coastguard Worker
759*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
760*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
761*d5c09012SAndroid Build Coastguard Worker  //
762*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
763*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
764*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
765*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
766*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
767*d5c09012SAndroid Build Coastguard Worker  //
768*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
769*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
770*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
771*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
772*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 3;
773*d5c09012SAndroid Build Coastguard Worker}
774*d5c09012SAndroid Build Coastguard Worker
775*d5c09012SAndroid Build Coastguard Worker// Request message for deleting a task using
776*d5c09012SAndroid Build Coastguard Worker// [DeleteTask][google.cloud.tasks.v2beta2.CloudTasks.DeleteTask].
777*d5c09012SAndroid Build Coastguard Workermessage DeleteTaskRequest {
778*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
779*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
780*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
781*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
782*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
783*d5c09012SAndroid Build Coastguard Worker  ];
784*d5c09012SAndroid Build Coastguard Worker}
785*d5c09012SAndroid Build Coastguard Worker
786*d5c09012SAndroid Build Coastguard Worker// Request message for leasing tasks using
787*d5c09012SAndroid Build Coastguard Worker// [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks].
788*d5c09012SAndroid Build Coastguard Workermessage LeaseTasksRequest {
789*d5c09012SAndroid Build Coastguard Worker  // Required. The queue name. For example:
790*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
791*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
792*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
793*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
794*d5c09012SAndroid Build Coastguard Worker      child_type: "cloudtasks.googleapis.com/Task"
795*d5c09012SAndroid Build Coastguard Worker    }
796*d5c09012SAndroid Build Coastguard Worker  ];
797*d5c09012SAndroid Build Coastguard Worker
798*d5c09012SAndroid Build Coastguard Worker  // The maximum number of tasks to lease.
799*d5c09012SAndroid Build Coastguard Worker  //
800*d5c09012SAndroid Build Coastguard Worker  // The system will make a best effort to return as close to as
801*d5c09012SAndroid Build Coastguard Worker  // `max_tasks` as possible.
802*d5c09012SAndroid Build Coastguard Worker  //
803*d5c09012SAndroid Build Coastguard Worker  // The largest that `max_tasks` can be is 1000.
804*d5c09012SAndroid Build Coastguard Worker  //
805*d5c09012SAndroid Build Coastguard Worker  // The maximum total size of a [lease tasks
806*d5c09012SAndroid Build Coastguard Worker  // response][google.cloud.tasks.v2beta2.LeaseTasksResponse] is 32 MB. If the
807*d5c09012SAndroid Build Coastguard Worker  // sum of all task sizes requested reaches this limit, fewer tasks than
808*d5c09012SAndroid Build Coastguard Worker  // requested are returned.
809*d5c09012SAndroid Build Coastguard Worker  int32 max_tasks = 2;
810*d5c09012SAndroid Build Coastguard Worker
811*d5c09012SAndroid Build Coastguard Worker  // Required. The duration of the lease.
812*d5c09012SAndroid Build Coastguard Worker  //
813*d5c09012SAndroid Build Coastguard Worker  // Each task returned in the
814*d5c09012SAndroid Build Coastguard Worker  // [response][google.cloud.tasks.v2beta2.LeaseTasksResponse] will have its
815*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] set to the
816*d5c09012SAndroid Build Coastguard Worker  // current time plus the `lease_duration`. The task is leased until its
817*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time]; thus, the
818*d5c09012SAndroid Build Coastguard Worker  // task will not be returned to another
819*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] call before
820*d5c09012SAndroid Build Coastguard Worker  // its [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time].
821*d5c09012SAndroid Build Coastguard Worker  //
822*d5c09012SAndroid Build Coastguard Worker  //
823*d5c09012SAndroid Build Coastguard Worker  // After the worker has successfully finished the work associated
824*d5c09012SAndroid Build Coastguard Worker  // with the task, the worker must call via
825*d5c09012SAndroid Build Coastguard Worker  // [AcknowledgeTask][google.cloud.tasks.v2beta2.CloudTasks.AcknowledgeTask]
826*d5c09012SAndroid Build Coastguard Worker  // before the [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time].
827*d5c09012SAndroid Build Coastguard Worker  // Otherwise the task will be returned to a later
828*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] call so that
829*d5c09012SAndroid Build Coastguard Worker  // another worker can retry it.
830*d5c09012SAndroid Build Coastguard Worker  //
831*d5c09012SAndroid Build Coastguard Worker  // The maximum lease duration is 1 week.
832*d5c09012SAndroid Build Coastguard Worker  // `lease_duration` will be truncated to the nearest second.
833*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration lease_duration = 3
834*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
835*d5c09012SAndroid Build Coastguard Worker
836*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
837*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
838*d5c09012SAndroid Build Coastguard Worker  //
839*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
840*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
841*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
842*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
843*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
844*d5c09012SAndroid Build Coastguard Worker  //
845*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
846*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
847*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
848*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
849*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 4;
850*d5c09012SAndroid Build Coastguard Worker
851*d5c09012SAndroid Build Coastguard Worker  // `filter` can be used to specify a subset of tasks to lease.
852*d5c09012SAndroid Build Coastguard Worker  //
853*d5c09012SAndroid Build Coastguard Worker  // When `filter` is set to `tag=<my-tag>` then the
854*d5c09012SAndroid Build Coastguard Worker  // [response][google.cloud.tasks.v2beta2.LeaseTasksResponse] will contain only
855*d5c09012SAndroid Build Coastguard Worker  // tasks whose [tag][google.cloud.tasks.v2beta2.PullMessage.tag] is equal to
856*d5c09012SAndroid Build Coastguard Worker  // `<my-tag>`. `<my-tag>` must be less than 500 characters.
857*d5c09012SAndroid Build Coastguard Worker  //
858*d5c09012SAndroid Build Coastguard Worker  // When `filter` is set to `tag_function=oldest_tag()`, only tasks which have
859*d5c09012SAndroid Build Coastguard Worker  // the same tag as the task with the oldest
860*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] will be
861*d5c09012SAndroid Build Coastguard Worker  // returned.
862*d5c09012SAndroid Build Coastguard Worker  //
863*d5c09012SAndroid Build Coastguard Worker  // Grammar Syntax:
864*d5c09012SAndroid Build Coastguard Worker  //
865*d5c09012SAndroid Build Coastguard Worker  // * `filter = "tag=" tag | "tag_function=" function`
866*d5c09012SAndroid Build Coastguard Worker  //
867*d5c09012SAndroid Build Coastguard Worker  // * `tag = string`
868*d5c09012SAndroid Build Coastguard Worker  //
869*d5c09012SAndroid Build Coastguard Worker  // * `function = "oldest_tag()"`
870*d5c09012SAndroid Build Coastguard Worker  //
871*d5c09012SAndroid Build Coastguard Worker  // The `oldest_tag()` function returns tasks which have the same tag as the
872*d5c09012SAndroid Build Coastguard Worker  // oldest task (ordered by schedule time).
873*d5c09012SAndroid Build Coastguard Worker  //
874*d5c09012SAndroid Build Coastguard Worker  // SDK compatibility: Although the SDK allows tags to be either
875*d5c09012SAndroid Build Coastguard Worker  // string or
876*d5c09012SAndroid Build Coastguard Worker  // [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),
877*d5c09012SAndroid Build Coastguard Worker  // only UTF-8 encoded tags can be used in Cloud Tasks. Tag which
878*d5c09012SAndroid Build Coastguard Worker  // aren't UTF-8 encoded can't be used in the
879*d5c09012SAndroid Build Coastguard Worker  // [filter][google.cloud.tasks.v2beta2.LeaseTasksRequest.filter] and the
880*d5c09012SAndroid Build Coastguard Worker  // task's [tag][google.cloud.tasks.v2beta2.PullMessage.tag] will be displayed
881*d5c09012SAndroid Build Coastguard Worker  // as empty in Cloud Tasks.
882*d5c09012SAndroid Build Coastguard Worker  string filter = 5;
883*d5c09012SAndroid Build Coastguard Worker}
884*d5c09012SAndroid Build Coastguard Worker
885*d5c09012SAndroid Build Coastguard Worker// Response message for leasing tasks using
886*d5c09012SAndroid Build Coastguard Worker// [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks].
887*d5c09012SAndroid Build Coastguard Workermessage LeaseTasksResponse {
888*d5c09012SAndroid Build Coastguard Worker  // The leased tasks.
889*d5c09012SAndroid Build Coastguard Worker  repeated Task tasks = 1;
890*d5c09012SAndroid Build Coastguard Worker}
891*d5c09012SAndroid Build Coastguard Worker
892*d5c09012SAndroid Build Coastguard Worker// Request message for acknowledging a task using
893*d5c09012SAndroid Build Coastguard Worker// [AcknowledgeTask][google.cloud.tasks.v2beta2.CloudTasks.AcknowledgeTask].
894*d5c09012SAndroid Build Coastguard Workermessage AcknowledgeTaskRequest {
895*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
896*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
897*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
898*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
899*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
900*d5c09012SAndroid Build Coastguard Worker  ];
901*d5c09012SAndroid Build Coastguard Worker
902*d5c09012SAndroid Build Coastguard Worker  // Required. The task's current schedule time, available in the
903*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] returned by
904*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] response or
905*d5c09012SAndroid Build Coastguard Worker  // [RenewLease][google.cloud.tasks.v2beta2.CloudTasks.RenewLease] response.
906*d5c09012SAndroid Build Coastguard Worker  // This restriction is to ensure that your worker currently holds the lease.
907*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp schedule_time = 2
908*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
909*d5c09012SAndroid Build Coastguard Worker}
910*d5c09012SAndroid Build Coastguard Worker
911*d5c09012SAndroid Build Coastguard Worker// Request message for renewing a lease using
912*d5c09012SAndroid Build Coastguard Worker// [RenewLease][google.cloud.tasks.v2beta2.CloudTasks.RenewLease].
913*d5c09012SAndroid Build Coastguard Workermessage RenewLeaseRequest {
914*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
915*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
916*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
917*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
918*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
919*d5c09012SAndroid Build Coastguard Worker  ];
920*d5c09012SAndroid Build Coastguard Worker
921*d5c09012SAndroid Build Coastguard Worker  // Required. The task's current schedule time, available in the
922*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] returned by
923*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] response or
924*d5c09012SAndroid Build Coastguard Worker  // [RenewLease][google.cloud.tasks.v2beta2.CloudTasks.RenewLease] response.
925*d5c09012SAndroid Build Coastguard Worker  // This restriction is to ensure that your worker currently holds the lease.
926*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp schedule_time = 2
927*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
928*d5c09012SAndroid Build Coastguard Worker
929*d5c09012SAndroid Build Coastguard Worker  // Required. The desired new lease duration, starting from now.
930*d5c09012SAndroid Build Coastguard Worker  //
931*d5c09012SAndroid Build Coastguard Worker  //
932*d5c09012SAndroid Build Coastguard Worker  // The maximum lease duration is 1 week.
933*d5c09012SAndroid Build Coastguard Worker  // `lease_duration` will be truncated to the nearest second.
934*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration lease_duration = 3
935*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
936*d5c09012SAndroid Build Coastguard Worker
937*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
938*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
939*d5c09012SAndroid Build Coastguard Worker  //
940*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
941*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
942*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
943*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
944*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
945*d5c09012SAndroid Build Coastguard Worker  //
946*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
947*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
948*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
949*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
950*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 4;
951*d5c09012SAndroid Build Coastguard Worker}
952*d5c09012SAndroid Build Coastguard Worker
953*d5c09012SAndroid Build Coastguard Worker// Request message for canceling a lease using
954*d5c09012SAndroid Build Coastguard Worker// [CancelLease][google.cloud.tasks.v2beta2.CloudTasks.CancelLease].
955*d5c09012SAndroid Build Coastguard Workermessage CancelLeaseRequest {
956*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
957*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
958*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
959*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
960*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
961*d5c09012SAndroid Build Coastguard Worker  ];
962*d5c09012SAndroid Build Coastguard Worker
963*d5c09012SAndroid Build Coastguard Worker  // Required. The task's current schedule time, available in the
964*d5c09012SAndroid Build Coastguard Worker  // [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time] returned by
965*d5c09012SAndroid Build Coastguard Worker  // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] response or
966*d5c09012SAndroid Build Coastguard Worker  // [RenewLease][google.cloud.tasks.v2beta2.CloudTasks.RenewLease] response.
967*d5c09012SAndroid Build Coastguard Worker  // This restriction is to ensure that your worker currently holds the lease.
968*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp schedule_time = 2
969*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
970*d5c09012SAndroid Build Coastguard Worker
971*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
972*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
973*d5c09012SAndroid Build Coastguard Worker  //
974*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
975*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
976*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
977*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
978*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
979*d5c09012SAndroid Build Coastguard Worker  //
980*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
981*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
982*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
983*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
984*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 3;
985*d5c09012SAndroid Build Coastguard Worker}
986*d5c09012SAndroid Build Coastguard Worker
987*d5c09012SAndroid Build Coastguard Worker// Request message for forcing a task to run now using
988*d5c09012SAndroid Build Coastguard Worker// [RunTask][google.cloud.tasks.v2beta2.CloudTasks.RunTask].
989*d5c09012SAndroid Build Coastguard Workermessage RunTaskRequest {
990*d5c09012SAndroid Build Coastguard Worker  // Required. The task name. For example:
991*d5c09012SAndroid Build Coastguard Worker  // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
992*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
993*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
994*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "cloudtasks.googleapis.com/Task" }
995*d5c09012SAndroid Build Coastguard Worker  ];
996*d5c09012SAndroid Build Coastguard Worker
997*d5c09012SAndroid Build Coastguard Worker  // The response_view specifies which subset of the
998*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] will be returned.
999*d5c09012SAndroid Build Coastguard Worker  //
1000*d5c09012SAndroid Build Coastguard Worker  // By default response_view is
1001*d5c09012SAndroid Build Coastguard Worker  // [BASIC][google.cloud.tasks.v2beta2.Task.View.BASIC]; not all information is
1002*d5c09012SAndroid Build Coastguard Worker  // retrieved by default because some data, such as payloads, might be
1003*d5c09012SAndroid Build Coastguard Worker  // desirable to return only when needed because of its large size or because
1004*d5c09012SAndroid Build Coastguard Worker  // of the sensitivity of data that it contains.
1005*d5c09012SAndroid Build Coastguard Worker  //
1006*d5c09012SAndroid Build Coastguard Worker  // Authorization for [FULL][google.cloud.tasks.v2beta2.Task.View.FULL]
1007*d5c09012SAndroid Build Coastguard Worker  // requires `cloudtasks.tasks.fullView` [Google
1008*d5c09012SAndroid Build Coastguard Worker  // IAM](https://cloud.google.com/iam/) permission on the
1009*d5c09012SAndroid Build Coastguard Worker  // [Task][google.cloud.tasks.v2beta2.Task] resource.
1010*d5c09012SAndroid Build Coastguard Worker  Task.View response_view = 2;
1011*d5c09012SAndroid Build Coastguard Worker}
1012