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/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Worker 21*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudtasks/apiv2beta2/cloudtaskspb;cloudtaskspb"; 22*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TargetProto"; 24*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.tasks.v2beta2"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Worker// Pull target. 27*d5c09012SAndroid Build Coastguard Workermessage PullTarget {} 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Worker// The pull message contains data that can be used by the caller of 30*d5c09012SAndroid Build Coastguard Worker// [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] to process the 31*d5c09012SAndroid Build Coastguard Worker// task. 32*d5c09012SAndroid Build Coastguard Worker// 33*d5c09012SAndroid Build Coastguard Worker// This proto can only be used for tasks in a queue which has 34*d5c09012SAndroid Build Coastguard Worker// [pull_target][google.cloud.tasks.v2beta2.Queue.pull_target] set. 35*d5c09012SAndroid Build Coastguard Workermessage PullMessage { 36*d5c09012SAndroid Build Coastguard Worker // A data payload consumed by the worker to execute the task. 37*d5c09012SAndroid Build Coastguard Worker bytes payload = 1; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // The task's tag. 40*d5c09012SAndroid Build Coastguard Worker // 41*d5c09012SAndroid Build Coastguard Worker // Tags allow similar tasks to be processed in a batch. If you label 42*d5c09012SAndroid Build Coastguard Worker // tasks with a tag, your worker can 43*d5c09012SAndroid Build Coastguard Worker // [lease tasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] with the 44*d5c09012SAndroid Build Coastguard Worker // same tag using 45*d5c09012SAndroid Build Coastguard Worker // [filter][google.cloud.tasks.v2beta2.LeaseTasksRequest.filter]. For example, 46*d5c09012SAndroid Build Coastguard Worker // if you want to aggregate the events associated with a specific user once a 47*d5c09012SAndroid Build Coastguard Worker // day, you could tag tasks with the user ID. 48*d5c09012SAndroid Build Coastguard Worker // 49*d5c09012SAndroid Build Coastguard Worker // The task's tag can only be set when the 50*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]. 51*d5c09012SAndroid Build Coastguard Worker // 52*d5c09012SAndroid Build Coastguard Worker // The tag must be less than 500 characters. 53*d5c09012SAndroid Build Coastguard Worker // 54*d5c09012SAndroid Build Coastguard Worker // SDK compatibility: Although the SDK allows tags to be either 55*d5c09012SAndroid Build Coastguard Worker // string or 56*d5c09012SAndroid Build Coastguard Worker // [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-), 57*d5c09012SAndroid Build Coastguard Worker // only UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't UTF-8 58*d5c09012SAndroid Build Coastguard Worker // encoded, the tag will be empty when the task is returned by Cloud Tasks. 59*d5c09012SAndroid Build Coastguard Worker string tag = 2; 60*d5c09012SAndroid Build Coastguard Worker} 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker// App Engine HTTP target. 63*d5c09012SAndroid Build Coastguard Worker// 64*d5c09012SAndroid Build Coastguard Worker// The task will be delivered to the App Engine application hostname 65*d5c09012SAndroid Build Coastguard Worker// specified by its 66*d5c09012SAndroid Build Coastguard Worker// [AppEngineHttpTarget][google.cloud.tasks.v2beta2.AppEngineHttpTarget] and 67*d5c09012SAndroid Build Coastguard Worker// [AppEngineHttpRequest][google.cloud.tasks.v2beta2.AppEngineHttpRequest]. The 68*d5c09012SAndroid Build Coastguard Worker// documentation for 69*d5c09012SAndroid Build Coastguard Worker// [AppEngineHttpRequest][google.cloud.tasks.v2beta2.AppEngineHttpRequest] 70*d5c09012SAndroid Build Coastguard Worker// explains how the task's host URL is constructed. 71*d5c09012SAndroid Build Coastguard Worker// 72*d5c09012SAndroid Build Coastguard Worker// Using [AppEngineHttpTarget][google.cloud.tasks.v2beta2.AppEngineHttpTarget] 73*d5c09012SAndroid Build Coastguard Worker// requires 74*d5c09012SAndroid Build Coastguard Worker// [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) 75*d5c09012SAndroid Build Coastguard Worker// Google IAM permission for the project 76*d5c09012SAndroid Build Coastguard Worker// and the following scope: 77*d5c09012SAndroid Build Coastguard Worker// 78*d5c09012SAndroid Build Coastguard Worker// `https://www.googleapis.com/auth/cloud-platform` 79*d5c09012SAndroid Build Coastguard Workermessage AppEngineHttpTarget { 80*d5c09012SAndroid Build Coastguard Worker // Overrides for the 81*d5c09012SAndroid Build Coastguard Worker // [task-level 82*d5c09012SAndroid Build Coastguard Worker // app_engine_routing][google.cloud.tasks.v2beta2.AppEngineHttpRequest.app_engine_routing]. 83*d5c09012SAndroid Build Coastguard Worker // 84*d5c09012SAndroid Build Coastguard Worker // If set, `app_engine_routing_override` is used for all tasks in 85*d5c09012SAndroid Build Coastguard Worker // the queue, no matter what the setting is for the 86*d5c09012SAndroid Build Coastguard Worker // [task-level 87*d5c09012SAndroid Build Coastguard Worker // app_engine_routing][google.cloud.tasks.v2beta2.AppEngineHttpRequest.app_engine_routing]. 88*d5c09012SAndroid Build Coastguard Worker AppEngineRouting app_engine_routing_override = 1; 89*d5c09012SAndroid Build Coastguard Worker} 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker// App Engine HTTP request. 92*d5c09012SAndroid Build Coastguard Worker// 93*d5c09012SAndroid Build Coastguard Worker// The message defines the HTTP request that is sent to an App Engine app when 94*d5c09012SAndroid Build Coastguard Worker// the task is dispatched. 95*d5c09012SAndroid Build Coastguard Worker// 96*d5c09012SAndroid Build Coastguard Worker// This proto can only be used for tasks in a queue which has 97*d5c09012SAndroid Build Coastguard Worker// [app_engine_http_target][google.cloud.tasks.v2beta2.Queue.app_engine_http_target] 98*d5c09012SAndroid Build Coastguard Worker// set. 99*d5c09012SAndroid Build Coastguard Worker// 100*d5c09012SAndroid Build Coastguard Worker// Using [AppEngineHttpRequest][google.cloud.tasks.v2beta2.AppEngineHttpRequest] 101*d5c09012SAndroid Build Coastguard Worker// requires 102*d5c09012SAndroid Build Coastguard Worker// [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) 103*d5c09012SAndroid Build Coastguard Worker// Google IAM permission for the project 104*d5c09012SAndroid Build Coastguard Worker// and the following scope: 105*d5c09012SAndroid Build Coastguard Worker// 106*d5c09012SAndroid Build Coastguard Worker// `https://www.googleapis.com/auth/cloud-platform` 107*d5c09012SAndroid Build Coastguard Worker// 108*d5c09012SAndroid Build Coastguard Worker// The task will be delivered to the App Engine app which belongs to the same 109*d5c09012SAndroid Build Coastguard Worker// project as the queue. For more information, see 110*d5c09012SAndroid Build Coastguard Worker// [How Requests are 111*d5c09012SAndroid Build Coastguard Worker// Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) 112*d5c09012SAndroid Build Coastguard Worker// and how routing is affected by 113*d5c09012SAndroid Build Coastguard Worker// [dispatch 114*d5c09012SAndroid Build Coastguard Worker// files](https://cloud.google.com/appengine/docs/python/config/dispatchref). 115*d5c09012SAndroid Build Coastguard Worker// Traffic is encrypted during transport and never leaves Google datacenters. 116*d5c09012SAndroid Build Coastguard Worker// Because this traffic is carried over a communication mechanism internal to 117*d5c09012SAndroid Build Coastguard Worker// Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS). 118*d5c09012SAndroid Build Coastguard Worker// The request to the handler, however, will appear to have used the HTTP 119*d5c09012SAndroid Build Coastguard Worker// protocol. 120*d5c09012SAndroid Build Coastguard Worker// 121*d5c09012SAndroid Build Coastguard Worker// The [AppEngineRouting][google.cloud.tasks.v2beta2.AppEngineRouting] used to 122*d5c09012SAndroid Build Coastguard Worker// construct the URL that the task is delivered to can be set at the queue-level 123*d5c09012SAndroid Build Coastguard Worker// or task-level: 124*d5c09012SAndroid Build Coastguard Worker// 125*d5c09012SAndroid Build Coastguard Worker// * If set, 126*d5c09012SAndroid Build Coastguard Worker// [app_engine_routing_override][google.cloud.tasks.v2beta2.AppEngineHttpTarget.app_engine_routing_override] 127*d5c09012SAndroid Build Coastguard Worker// is used for all tasks in the queue, no matter what the setting 128*d5c09012SAndroid Build Coastguard Worker// is for the 129*d5c09012SAndroid Build Coastguard Worker// [task-level 130*d5c09012SAndroid Build Coastguard Worker// app_engine_routing][google.cloud.tasks.v2beta2.AppEngineHttpRequest.app_engine_routing]. 131*d5c09012SAndroid Build Coastguard Worker// 132*d5c09012SAndroid Build Coastguard Worker// 133*d5c09012SAndroid Build Coastguard Worker// The `url` that the task will be sent to is: 134*d5c09012SAndroid Build Coastguard Worker// 135*d5c09012SAndroid Build Coastguard Worker// * `url =` [host][google.cloud.tasks.v2beta2.AppEngineRouting.host] `+` 136*d5c09012SAndroid Build Coastguard Worker// [relative_url][google.cloud.tasks.v2beta2.AppEngineHttpRequest.relative_url] 137*d5c09012SAndroid Build Coastguard Worker// 138*d5c09012SAndroid Build Coastguard Worker// Tasks can be dispatched to secure app handlers, unsecure app handlers, and 139*d5c09012SAndroid Build Coastguard Worker// URIs restricted with 140*d5c09012SAndroid Build Coastguard Worker// [`login: 141*d5c09012SAndroid Build Coastguard Worker// admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref). 142*d5c09012SAndroid Build Coastguard Worker// Because tasks are not run as any user, they cannot be dispatched to URIs 143*d5c09012SAndroid Build Coastguard Worker// restricted with 144*d5c09012SAndroid Build Coastguard Worker// [`login: 145*d5c09012SAndroid Build Coastguard Worker// required`](https://cloud.google.com/appengine/docs/standard/python/config/appref) 146*d5c09012SAndroid Build Coastguard Worker// Task dispatches also do not follow redirects. 147*d5c09012SAndroid Build Coastguard Worker// 148*d5c09012SAndroid Build Coastguard Worker// The task attempt has succeeded if the app's request handler returns an HTTP 149*d5c09012SAndroid Build Coastguard Worker// response code in the range [`200` - `299`]. The task attempt has failed if 150*d5c09012SAndroid Build Coastguard Worker// the app's handler returns a non-2xx response code or Cloud Tasks does 151*d5c09012SAndroid Build Coastguard Worker// not receive response before the [deadline][Task.dispatch_deadline]. Failed 152*d5c09012SAndroid Build Coastguard Worker// tasks will be retried according to the 153*d5c09012SAndroid Build Coastguard Worker// [retry configuration][google.cloud.tasks.v2beta2.Queue.retry_config]. `503` 154*d5c09012SAndroid Build Coastguard Worker// (Service Unavailable) is considered an App Engine system error instead of an 155*d5c09012SAndroid Build Coastguard Worker// application error and will cause Cloud Tasks' traffic congestion control to 156*d5c09012SAndroid Build Coastguard Worker// temporarily throttle the queue's dispatches. Unlike other types of task 157*d5c09012SAndroid Build Coastguard Worker// targets, a `429` (Too Many Requests) response from an app handler does not 158*d5c09012SAndroid Build Coastguard Worker// cause traffic congestion control to throttle the queue. 159*d5c09012SAndroid Build Coastguard Workermessage AppEngineHttpRequest { 160*d5c09012SAndroid Build Coastguard Worker // The HTTP method to use for the request. The default is POST. 161*d5c09012SAndroid Build Coastguard Worker // 162*d5c09012SAndroid Build Coastguard Worker // The app's request handler for the task's target URL must be able to handle 163*d5c09012SAndroid Build Coastguard Worker // HTTP requests with this http_method, otherwise the task attempt fails with 164*d5c09012SAndroid Build Coastguard Worker // error code 405 (Method Not Allowed). See [Writing a push task request 165*d5c09012SAndroid Build Coastguard Worker // handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) 166*d5c09012SAndroid Build Coastguard Worker // and the App Engine documentation for your runtime on [How Requests are 167*d5c09012SAndroid Build Coastguard Worker // Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled). 168*d5c09012SAndroid Build Coastguard Worker HttpMethod http_method = 1; 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // Task-level setting for App Engine routing. 171*d5c09012SAndroid Build Coastguard Worker // 172*d5c09012SAndroid Build Coastguard Worker // If set, 173*d5c09012SAndroid Build Coastguard Worker // [app_engine_routing_override][google.cloud.tasks.v2beta2.AppEngineHttpTarget.app_engine_routing_override] 174*d5c09012SAndroid Build Coastguard Worker // is used for all tasks in the queue, no matter what the setting is for the 175*d5c09012SAndroid Build Coastguard Worker // [task-level 176*d5c09012SAndroid Build Coastguard Worker // app_engine_routing][google.cloud.tasks.v2beta2.AppEngineHttpRequest.app_engine_routing]. 177*d5c09012SAndroid Build Coastguard Worker AppEngineRouting app_engine_routing = 2; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // The relative URL. 180*d5c09012SAndroid Build Coastguard Worker // 181*d5c09012SAndroid Build Coastguard Worker // The relative URL must begin with "/" and must be a valid HTTP relative URL. 182*d5c09012SAndroid Build Coastguard Worker // It can contain a path and query string arguments. 183*d5c09012SAndroid Build Coastguard Worker // If the relative URL is empty, then the root path "/" will be used. 184*d5c09012SAndroid Build Coastguard Worker // No spaces are allowed, and the maximum length allowed is 2083 characters. 185*d5c09012SAndroid Build Coastguard Worker string relative_url = 3; 186*d5c09012SAndroid Build Coastguard Worker 187*d5c09012SAndroid Build Coastguard Worker // HTTP request headers. 188*d5c09012SAndroid Build Coastguard Worker // 189*d5c09012SAndroid Build Coastguard Worker // This map contains the header field names and values. 190*d5c09012SAndroid Build Coastguard Worker // Headers can be set when the 191*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]. 192*d5c09012SAndroid Build Coastguard Worker // Repeated headers are not supported but a header value can contain commas. 193*d5c09012SAndroid Build Coastguard Worker // 194*d5c09012SAndroid Build Coastguard Worker // Cloud Tasks sets some headers to default values: 195*d5c09012SAndroid Build Coastguard Worker // 196*d5c09012SAndroid Build Coastguard Worker // * `User-Agent`: By default, this header is 197*d5c09012SAndroid Build Coastguard Worker // `"AppEngine-Google; (+http://code.google.com/appengine)"`. 198*d5c09012SAndroid Build Coastguard Worker // This header can be modified, but Cloud Tasks will append 199*d5c09012SAndroid Build Coastguard Worker // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the 200*d5c09012SAndroid Build Coastguard Worker // modified `User-Agent`. 201*d5c09012SAndroid Build Coastguard Worker // 202*d5c09012SAndroid Build Coastguard Worker // If the task has a 203*d5c09012SAndroid Build Coastguard Worker // [payload][google.cloud.tasks.v2beta2.AppEngineHttpRequest.payload], Cloud 204*d5c09012SAndroid Build Coastguard Worker // Tasks sets the following headers: 205*d5c09012SAndroid Build Coastguard Worker // 206*d5c09012SAndroid Build Coastguard Worker // * `Content-Type`: By default, the `Content-Type` header is set to 207*d5c09012SAndroid Build Coastguard Worker // `"application/octet-stream"`. The default can be overridden by explicitly 208*d5c09012SAndroid Build Coastguard Worker // setting `Content-Type` to a particular media type when the 209*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]. 210*d5c09012SAndroid Build Coastguard Worker // For example, `Content-Type` can be set to `"application/json"`. 211*d5c09012SAndroid Build Coastguard Worker // * `Content-Length`: This is computed by Cloud Tasks. This value is 212*d5c09012SAndroid Build Coastguard Worker // output only. It cannot be changed. 213*d5c09012SAndroid Build Coastguard Worker // 214*d5c09012SAndroid Build Coastguard Worker // The headers below cannot be set or overridden: 215*d5c09012SAndroid Build Coastguard Worker // 216*d5c09012SAndroid Build Coastguard Worker // * `Host` 217*d5c09012SAndroid Build Coastguard Worker // * `X-Google-*` 218*d5c09012SAndroid Build Coastguard Worker // * `X-AppEngine-*` 219*d5c09012SAndroid Build Coastguard Worker // 220*d5c09012SAndroid Build Coastguard Worker // In addition, Cloud Tasks sets some headers when the task is dispatched, 221*d5c09012SAndroid Build Coastguard Worker // such as headers containing information about the task; see 222*d5c09012SAndroid Build Coastguard Worker // [request 223*d5c09012SAndroid Build Coastguard Worker // headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). 224*d5c09012SAndroid Build Coastguard Worker // These headers are set only when the task is dispatched, so they are not 225*d5c09012SAndroid Build Coastguard Worker // visible when the task is returned in a Cloud Tasks response. 226*d5c09012SAndroid Build Coastguard Worker // 227*d5c09012SAndroid Build Coastguard Worker // Although there is no specific limit for the maximum number of headers or 228*d5c09012SAndroid Build Coastguard Worker // the size, there is a limit on the maximum size of the 229*d5c09012SAndroid Build Coastguard Worker // [Task][google.cloud.tasks.v2beta2.Task]. For more information, see the 230*d5c09012SAndroid Build Coastguard Worker // [CreateTask][google.cloud.tasks.v2beta2.CloudTasks.CreateTask] 231*d5c09012SAndroid Build Coastguard Worker // documentation. 232*d5c09012SAndroid Build Coastguard Worker map<string, string> headers = 4; 233*d5c09012SAndroid Build Coastguard Worker 234*d5c09012SAndroid Build Coastguard Worker // Payload. 235*d5c09012SAndroid Build Coastguard Worker // 236*d5c09012SAndroid Build Coastguard Worker // The payload will be sent as the HTTP message body. A message 237*d5c09012SAndroid Build Coastguard Worker // body, and thus a payload, is allowed only if the HTTP method is 238*d5c09012SAndroid Build Coastguard Worker // POST or PUT. It is an error to set a data payload on a task with 239*d5c09012SAndroid Build Coastguard Worker // an incompatible [HttpMethod][google.cloud.tasks.v2beta2.HttpMethod]. 240*d5c09012SAndroid Build Coastguard Worker bytes payload = 5; 241*d5c09012SAndroid Build Coastguard Worker} 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker// App Engine Routing. 244*d5c09012SAndroid Build Coastguard Worker// 245*d5c09012SAndroid Build Coastguard Worker// Defines routing characteristics specific to App Engine - service, version, 246*d5c09012SAndroid Build Coastguard Worker// and instance. 247*d5c09012SAndroid Build Coastguard Worker// 248*d5c09012SAndroid Build Coastguard Worker// For more information about services, versions, and instances see 249*d5c09012SAndroid Build Coastguard Worker// [An Overview of App 250*d5c09012SAndroid Build Coastguard Worker// Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), 251*d5c09012SAndroid Build Coastguard Worker// [Microservices Architecture on Google App 252*d5c09012SAndroid Build Coastguard Worker// Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), 253*d5c09012SAndroid Build Coastguard Worker// [App Engine Standard request 254*d5c09012SAndroid Build Coastguard Worker// routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), 255*d5c09012SAndroid Build Coastguard Worker// and [App Engine Flex request 256*d5c09012SAndroid Build Coastguard Worker// routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). 257*d5c09012SAndroid Build Coastguard Workermessage AppEngineRouting { 258*d5c09012SAndroid Build Coastguard Worker // App service. 259*d5c09012SAndroid Build Coastguard Worker // 260*d5c09012SAndroid Build Coastguard Worker // By default, the task is sent to the service which is the default 261*d5c09012SAndroid Build Coastguard Worker // service when the task is attempted. 262*d5c09012SAndroid Build Coastguard Worker // 263*d5c09012SAndroid Build Coastguard Worker // For some queues or tasks which were created using the App Engine 264*d5c09012SAndroid Build Coastguard Worker // Task Queue API, [host][google.cloud.tasks.v2beta2.AppEngineRouting.host] is 265*d5c09012SAndroid Build Coastguard Worker // not parsable into 266*d5c09012SAndroid Build Coastguard Worker // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service], 267*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version], and 268*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance]. For 269*d5c09012SAndroid Build Coastguard Worker // example, some tasks which were created using the App Engine SDK use a 270*d5c09012SAndroid Build Coastguard Worker // custom domain name; custom domains are not parsed by Cloud Tasks. If 271*d5c09012SAndroid Build Coastguard Worker // [host][google.cloud.tasks.v2beta2.AppEngineRouting.host] is not parsable, 272*d5c09012SAndroid Build Coastguard Worker // then [service][google.cloud.tasks.v2beta2.AppEngineRouting.service], 273*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version], and 274*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] are the 275*d5c09012SAndroid Build Coastguard Worker // empty string. 276*d5c09012SAndroid Build Coastguard Worker string service = 1; 277*d5c09012SAndroid Build Coastguard Worker 278*d5c09012SAndroid Build Coastguard Worker // App version. 279*d5c09012SAndroid Build Coastguard Worker // 280*d5c09012SAndroid Build Coastguard Worker // By default, the task is sent to the version which is the default 281*d5c09012SAndroid Build Coastguard Worker // version when the task is attempted. 282*d5c09012SAndroid Build Coastguard Worker // 283*d5c09012SAndroid Build Coastguard Worker // For some queues or tasks which were created using the App Engine 284*d5c09012SAndroid Build Coastguard Worker // Task Queue API, [host][google.cloud.tasks.v2beta2.AppEngineRouting.host] is 285*d5c09012SAndroid Build Coastguard Worker // not parsable into 286*d5c09012SAndroid Build Coastguard Worker // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service], 287*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version], and 288*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance]. For 289*d5c09012SAndroid Build Coastguard Worker // example, some tasks which were created using the App Engine SDK use a 290*d5c09012SAndroid Build Coastguard Worker // custom domain name; custom domains are not parsed by Cloud Tasks. If 291*d5c09012SAndroid Build Coastguard Worker // [host][google.cloud.tasks.v2beta2.AppEngineRouting.host] is not parsable, 292*d5c09012SAndroid Build Coastguard Worker // then [service][google.cloud.tasks.v2beta2.AppEngineRouting.service], 293*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version], and 294*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] are the 295*d5c09012SAndroid Build Coastguard Worker // empty string. 296*d5c09012SAndroid Build Coastguard Worker string version = 2; 297*d5c09012SAndroid Build Coastguard Worker 298*d5c09012SAndroid Build Coastguard Worker // App instance. 299*d5c09012SAndroid Build Coastguard Worker // 300*d5c09012SAndroid Build Coastguard Worker // By default, the task is sent to an instance which is available when 301*d5c09012SAndroid Build Coastguard Worker // the task is attempted. 302*d5c09012SAndroid Build Coastguard Worker // 303*d5c09012SAndroid Build Coastguard Worker // Requests can only be sent to a specific instance if 304*d5c09012SAndroid Build Coastguard Worker // [manual scaling is used in App Engine 305*d5c09012SAndroid Build Coastguard Worker // Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). 306*d5c09012SAndroid Build Coastguard Worker // App Engine Flex does not support instances. For more information, see 307*d5c09012SAndroid Build Coastguard Worker // [App Engine Standard request 308*d5c09012SAndroid Build Coastguard Worker // routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) 309*d5c09012SAndroid Build Coastguard Worker // and [App Engine Flex request 310*d5c09012SAndroid Build Coastguard Worker // routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). 311*d5c09012SAndroid Build Coastguard Worker string instance = 3; 312*d5c09012SAndroid Build Coastguard Worker 313*d5c09012SAndroid Build Coastguard Worker // Output only. The host that the task is sent to. 314*d5c09012SAndroid Build Coastguard Worker // 315*d5c09012SAndroid Build Coastguard Worker // For more information, see 316*d5c09012SAndroid Build Coastguard Worker // [How Requests are 317*d5c09012SAndroid Build Coastguard Worker // Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). 318*d5c09012SAndroid Build Coastguard Worker // 319*d5c09012SAndroid Build Coastguard Worker // The host is constructed as: 320*d5c09012SAndroid Build Coastguard Worker // 321*d5c09012SAndroid Build Coastguard Worker // 322*d5c09012SAndroid Build Coastguard Worker // * `host = [application_domain_name]`</br> 323*d5c09012SAndroid Build Coastguard Worker // `| [service] + '.' + [application_domain_name]`</br> 324*d5c09012SAndroid Build Coastguard Worker // `| [version] + '.' + [application_domain_name]`</br> 325*d5c09012SAndroid Build Coastguard Worker // `| [version_dot_service]+ '.' + [application_domain_name]`</br> 326*d5c09012SAndroid Build Coastguard Worker // `| [instance] + '.' + [application_domain_name]`</br> 327*d5c09012SAndroid Build Coastguard Worker // `| [instance_dot_service] + '.' + [application_domain_name]`</br> 328*d5c09012SAndroid Build Coastguard Worker // `| [instance_dot_version] + '.' + [application_domain_name]`</br> 329*d5c09012SAndroid Build Coastguard Worker // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` 330*d5c09012SAndroid Build Coastguard Worker // 331*d5c09012SAndroid Build Coastguard Worker // * `application_domain_name` = The domain name of the app, for 332*d5c09012SAndroid Build Coastguard Worker // example <app-id>.appspot.com, which is associated with the 333*d5c09012SAndroid Build Coastguard Worker // queue's project ID. Some tasks which were created using the App Engine 334*d5c09012SAndroid Build Coastguard Worker // SDK use a custom domain name. 335*d5c09012SAndroid Build Coastguard Worker // 336*d5c09012SAndroid Build Coastguard Worker // * `service =` 337*d5c09012SAndroid Build Coastguard Worker // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] 338*d5c09012SAndroid Build Coastguard Worker // 339*d5c09012SAndroid Build Coastguard Worker // * `version =` 340*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] 341*d5c09012SAndroid Build Coastguard Worker // 342*d5c09012SAndroid Build Coastguard Worker // * `version_dot_service =` 343*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' +` 344*d5c09012SAndroid Build Coastguard Worker // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] 345*d5c09012SAndroid Build Coastguard Worker // 346*d5c09012SAndroid Build Coastguard Worker // * `instance =` 347*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] 348*d5c09012SAndroid Build Coastguard Worker // 349*d5c09012SAndroid Build Coastguard Worker // * `instance_dot_service =` 350*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' 351*d5c09012SAndroid Build Coastguard Worker // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] 352*d5c09012SAndroid Build Coastguard Worker // 353*d5c09012SAndroid Build Coastguard Worker // * `instance_dot_version =` 354*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' 355*d5c09012SAndroid Build Coastguard Worker // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] 356*d5c09012SAndroid Build Coastguard Worker // 357*d5c09012SAndroid Build Coastguard Worker // * `instance_dot_version_dot_service =` 358*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' 359*d5c09012SAndroid Build Coastguard Worker // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' 360*d5c09012SAndroid Build Coastguard Worker // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] 361*d5c09012SAndroid Build Coastguard Worker // 362*d5c09012SAndroid Build Coastguard Worker // If [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] is empty, 363*d5c09012SAndroid Build Coastguard Worker // then the task will be sent to the service which is the default service when 364*d5c09012SAndroid Build Coastguard Worker // the task is attempted. 365*d5c09012SAndroid Build Coastguard Worker // 366*d5c09012SAndroid Build Coastguard Worker // If [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] is empty, 367*d5c09012SAndroid Build Coastguard Worker // then the task will be sent to the version which is the default version when 368*d5c09012SAndroid Build Coastguard Worker // the task is attempted. 369*d5c09012SAndroid Build Coastguard Worker // 370*d5c09012SAndroid Build Coastguard Worker // If [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] is 371*d5c09012SAndroid Build Coastguard Worker // empty, then the task will be sent to an instance which is available when 372*d5c09012SAndroid Build Coastguard Worker // the task is attempted. 373*d5c09012SAndroid Build Coastguard Worker // 374*d5c09012SAndroid Build Coastguard Worker // If [service][google.cloud.tasks.v2beta2.AppEngineRouting.service], 375*d5c09012SAndroid Build Coastguard Worker // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version], or 376*d5c09012SAndroid Build Coastguard Worker // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] is 377*d5c09012SAndroid Build Coastguard Worker // invalid, then the task will be sent to the default version of the default 378*d5c09012SAndroid Build Coastguard Worker // service when the task is attempted. 379*d5c09012SAndroid Build Coastguard Worker string host = 4; 380*d5c09012SAndroid Build Coastguard Worker} 381*d5c09012SAndroid Build Coastguard Worker 382*d5c09012SAndroid Build Coastguard Worker// HTTP request. 383*d5c09012SAndroid Build Coastguard Worker// 384*d5c09012SAndroid Build Coastguard Worker// The task will be pushed to the worker as an HTTP request. An HTTP request 385*d5c09012SAndroid Build Coastguard Worker// embodies a url, an http method, headers, body and authorization for the http 386*d5c09012SAndroid Build Coastguard Worker// task. 387*d5c09012SAndroid Build Coastguard Workermessage HttpRequest { 388*d5c09012SAndroid Build Coastguard Worker // Required. The full url path that the request will be sent to. 389*d5c09012SAndroid Build Coastguard Worker // 390*d5c09012SAndroid Build Coastguard Worker // This string must begin with either "http://" or "https://". Some examples 391*d5c09012SAndroid Build Coastguard Worker // are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will 392*d5c09012SAndroid Build Coastguard Worker // encode some characters for safety and compatibility. The maximum allowed 393*d5c09012SAndroid Build Coastguard Worker // URL length is 2083 characters after encoding. 394*d5c09012SAndroid Build Coastguard Worker // 395*d5c09012SAndroid Build Coastguard Worker // The `Location` header response from a redirect response [`300` - `399`] 396*d5c09012SAndroid Build Coastguard Worker // may be followed. The redirect is not counted as a separate attempt. 397*d5c09012SAndroid Build Coastguard Worker string url = 1 [(google.api.field_behavior) = REQUIRED]; 398*d5c09012SAndroid Build Coastguard Worker 399*d5c09012SAndroid Build Coastguard Worker // The HTTP method to use for the request. The default is POST. 400*d5c09012SAndroid Build Coastguard Worker HttpMethod http_method = 2; 401*d5c09012SAndroid Build Coastguard Worker 402*d5c09012SAndroid Build Coastguard Worker // HTTP request headers. 403*d5c09012SAndroid Build Coastguard Worker // 404*d5c09012SAndroid Build Coastguard Worker // This map contains the header field names and values. 405*d5c09012SAndroid Build Coastguard Worker // Headers can be set when running the 406*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask] or 407*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.BufferTask]. 408*d5c09012SAndroid Build Coastguard Worker // 409*d5c09012SAndroid Build Coastguard Worker // These headers represent a subset of the headers that will accompany the 410*d5c09012SAndroid Build Coastguard Worker // task's HTTP request. Some HTTP request headers will be ignored or replaced. 411*d5c09012SAndroid Build Coastguard Worker // 412*d5c09012SAndroid Build Coastguard Worker // A partial list of headers that will be ignored or replaced is: 413*d5c09012SAndroid Build Coastguard Worker // 414*d5c09012SAndroid Build Coastguard Worker // * Any header that is prefixed with "X-CloudTasks-" will be treated 415*d5c09012SAndroid Build Coastguard Worker // as service header. Service headers define properties of the task and are 416*d5c09012SAndroid Build Coastguard Worker // predefined in CloudTask. 417*d5c09012SAndroid Build Coastguard Worker // * Host: This will be computed by Cloud Tasks and derived from 418*d5c09012SAndroid Build Coastguard Worker // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. 419*d5c09012SAndroid Build Coastguard Worker // * Content-Length: This will be computed by Cloud Tasks. 420*d5c09012SAndroid Build Coastguard Worker // * User-Agent: This will be set to `"Google-Cloud-Tasks"`. 421*d5c09012SAndroid Build Coastguard Worker // * `X-Google-*`: Google use only. 422*d5c09012SAndroid Build Coastguard Worker // * `X-AppEngine-*`: Google use only. 423*d5c09012SAndroid Build Coastguard Worker // 424*d5c09012SAndroid Build Coastguard Worker // `Content-Type` won't be set by Cloud Tasks. You can explicitly set 425*d5c09012SAndroid Build Coastguard Worker // `Content-Type` to a media type when the 426*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. 427*d5c09012SAndroid Build Coastguard Worker // For example, `Content-Type` can be set to `"application/octet-stream"` or 428*d5c09012SAndroid Build Coastguard Worker // `"application/json"`. 429*d5c09012SAndroid Build Coastguard Worker // 430*d5c09012SAndroid Build Coastguard Worker // Headers which can have multiple values (according to RFC2616) can be 431*d5c09012SAndroid Build Coastguard Worker // specified using comma-separated values. 432*d5c09012SAndroid Build Coastguard Worker // 433*d5c09012SAndroid Build Coastguard Worker // The size of the headers must be less than 80KB. 434*d5c09012SAndroid Build Coastguard Worker map<string, string> headers = 3; 435*d5c09012SAndroid Build Coastguard Worker 436*d5c09012SAndroid Build Coastguard Worker // HTTP request body. 437*d5c09012SAndroid Build Coastguard Worker // 438*d5c09012SAndroid Build Coastguard Worker // A request body is allowed only if the 439*d5c09012SAndroid Build Coastguard Worker // [HTTP method][google.cloud.tasks.v2beta2.HttpRequest.http_method] is POST, 440*d5c09012SAndroid Build Coastguard Worker // PUT, or PATCH. It is an error to set body on a task with an incompatible 441*d5c09012SAndroid Build Coastguard Worker // [HttpMethod][google.cloud.tasks.v2beta2.HttpMethod]. 442*d5c09012SAndroid Build Coastguard Worker bytes body = 4; 443*d5c09012SAndroid Build Coastguard Worker 444*d5c09012SAndroid Build Coastguard Worker // The mode for generating an `Authorization` header for HTTP requests. 445*d5c09012SAndroid Build Coastguard Worker // 446*d5c09012SAndroid Build Coastguard Worker // If specified, all `Authorization` headers in the 447*d5c09012SAndroid Build Coastguard Worker // [HttpRequest.headers][google.cloud.tasks.v2beta2.HttpRequest.headers] field 448*d5c09012SAndroid Build Coastguard Worker // will be overridden. 449*d5c09012SAndroid Build Coastguard Worker oneof authorization_header { 450*d5c09012SAndroid Build Coastguard Worker // If specified, an 451*d5c09012SAndroid Build Coastguard Worker // [OAuth token](https://developers.google.com/identity/protocols/OAuth2) 452*d5c09012SAndroid Build Coastguard Worker // will be generated and attached as an `Authorization` header in the HTTP 453*d5c09012SAndroid Build Coastguard Worker // request. 454*d5c09012SAndroid Build Coastguard Worker // 455*d5c09012SAndroid Build Coastguard Worker // This type of authorization should generally only be used when calling 456*d5c09012SAndroid Build Coastguard Worker // Google APIs hosted on *.googleapis.com. 457*d5c09012SAndroid Build Coastguard Worker OAuthToken oauth_token = 5; 458*d5c09012SAndroid Build Coastguard Worker 459*d5c09012SAndroid Build Coastguard Worker // If specified, an 460*d5c09012SAndroid Build Coastguard Worker // [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) 461*d5c09012SAndroid Build Coastguard Worker // token will be generated and attached as an `Authorization` header in the 462*d5c09012SAndroid Build Coastguard Worker // HTTP request. 463*d5c09012SAndroid Build Coastguard Worker // 464*d5c09012SAndroid Build Coastguard Worker // This type of authorization can be used for many scenarios, including 465*d5c09012SAndroid Build Coastguard Worker // calling Cloud Run, or endpoints where you intend to validate the token 466*d5c09012SAndroid Build Coastguard Worker // yourself. 467*d5c09012SAndroid Build Coastguard Worker OidcToken oidc_token = 6; 468*d5c09012SAndroid Build Coastguard Worker } 469*d5c09012SAndroid Build Coastguard Worker} 470*d5c09012SAndroid Build Coastguard Worker 471*d5c09012SAndroid Build Coastguard Worker// PathOverride. 472*d5c09012SAndroid Build Coastguard Worker// 473*d5c09012SAndroid Build Coastguard Worker// Path message defines path override for HTTP targets. 474*d5c09012SAndroid Build Coastguard Workermessage PathOverride { 475*d5c09012SAndroid Build Coastguard Worker // The URI path (e.g., /users/1234). Default is an empty string. 476*d5c09012SAndroid Build Coastguard Worker string path = 1; 477*d5c09012SAndroid Build Coastguard Worker} 478*d5c09012SAndroid Build Coastguard Worker 479*d5c09012SAndroid Build Coastguard Worker// QueryOverride. 480*d5c09012SAndroid Build Coastguard Worker// 481*d5c09012SAndroid Build Coastguard Worker// Query message defines query override for HTTP targets. 482*d5c09012SAndroid Build Coastguard Workermessage QueryOverride { 483*d5c09012SAndroid Build Coastguard Worker // The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty 484*d5c09012SAndroid Build Coastguard Worker // string. 485*d5c09012SAndroid Build Coastguard Worker string query_params = 1; 486*d5c09012SAndroid Build Coastguard Worker} 487*d5c09012SAndroid Build Coastguard Worker 488*d5c09012SAndroid Build Coastguard Worker// Uri Override. 489*d5c09012SAndroid Build Coastguard Worker// 490*d5c09012SAndroid Build Coastguard Worker// When specified, all the HTTP tasks inside the queue will be partially or 491*d5c09012SAndroid Build Coastguard Worker// fully overridden depending on the configured values. 492*d5c09012SAndroid Build Coastguard Workermessage UriOverride { 493*d5c09012SAndroid Build Coastguard Worker // The Scheme for an HTTP request. By default, it is HTTPS. 494*d5c09012SAndroid Build Coastguard Worker enum Scheme { 495*d5c09012SAndroid Build Coastguard Worker // Scheme unspecified. Defaults to HTTPS. 496*d5c09012SAndroid Build Coastguard Worker SCHEME_UNSPECIFIED = 0; 497*d5c09012SAndroid Build Coastguard Worker 498*d5c09012SAndroid Build Coastguard Worker // Convert the scheme to HTTP, e.g., https://www.google.ca will change to 499*d5c09012SAndroid Build Coastguard Worker // http://www.google.ca. 500*d5c09012SAndroid Build Coastguard Worker HTTP = 1; 501*d5c09012SAndroid Build Coastguard Worker 502*d5c09012SAndroid Build Coastguard Worker // Convert the scheme to HTTPS, e.g., http://www.google.ca will change to 503*d5c09012SAndroid Build Coastguard Worker // https://www.google.ca. 504*d5c09012SAndroid Build Coastguard Worker HTTPS = 2; 505*d5c09012SAndroid Build Coastguard Worker } 506*d5c09012SAndroid Build Coastguard Worker 507*d5c09012SAndroid Build Coastguard Worker // UriOverrideEnforceMode mode is to define enforcing mode for the override 508*d5c09012SAndroid Build Coastguard Worker // modes. 509*d5c09012SAndroid Build Coastguard Worker enum UriOverrideEnforceMode { 510*d5c09012SAndroid Build Coastguard Worker // OverrideMode Unspecified. Defaults to ALWAYS. 511*d5c09012SAndroid Build Coastguard Worker URI_OVERRIDE_ENFORCE_MODE_UNSPECIFIED = 0; 512*d5c09012SAndroid Build Coastguard Worker 513*d5c09012SAndroid Build Coastguard Worker // In the IF_NOT_EXISTS mode, queue-level configuration is only 514*d5c09012SAndroid Build Coastguard Worker // applied where task-level configuration does not exist. 515*d5c09012SAndroid Build Coastguard Worker IF_NOT_EXISTS = 1; 516*d5c09012SAndroid Build Coastguard Worker 517*d5c09012SAndroid Build Coastguard Worker // In the ALWAYS mode, queue-level configuration overrides all 518*d5c09012SAndroid Build Coastguard Worker // task-level configuration 519*d5c09012SAndroid Build Coastguard Worker ALWAYS = 2; 520*d5c09012SAndroid Build Coastguard Worker } 521*d5c09012SAndroid Build Coastguard Worker 522*d5c09012SAndroid Build Coastguard Worker // Scheme override. 523*d5c09012SAndroid Build Coastguard Worker // 524*d5c09012SAndroid Build Coastguard Worker // When specified, the task URI scheme is replaced by the provided value (HTTP 525*d5c09012SAndroid Build Coastguard Worker // or HTTPS). 526*d5c09012SAndroid Build Coastguard Worker optional Scheme scheme = 1; 527*d5c09012SAndroid Build Coastguard Worker 528*d5c09012SAndroid Build Coastguard Worker // Host override. 529*d5c09012SAndroid Build Coastguard Worker // 530*d5c09012SAndroid Build Coastguard Worker // When specified, replaces the host part of the task URL. For example, 531*d5c09012SAndroid Build Coastguard Worker // if the task URL is "https://www.google.com," and host value is set to 532*d5c09012SAndroid Build Coastguard Worker // "example.net", the overridden URI will be changed to "https://example.net." 533*d5c09012SAndroid Build Coastguard Worker // Host value cannot be an empty string (INVALID_ARGUMENT). 534*d5c09012SAndroid Build Coastguard Worker optional string host = 2; 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Worker // Port override. 537*d5c09012SAndroid Build Coastguard Worker // 538*d5c09012SAndroid Build Coastguard Worker // When specified, replaces the port part of the task URI. For instance, 539*d5c09012SAndroid Build Coastguard Worker // for a URI http://www.google.com/foo and port=123, the overridden URI 540*d5c09012SAndroid Build Coastguard Worker // becomes http://www.google.com:123/foo. Note that the port value must be a 541*d5c09012SAndroid Build Coastguard Worker // positive integer. Setting the port to 0 (Zero) clears the URI port. 542*d5c09012SAndroid Build Coastguard Worker optional int64 port = 3; 543*d5c09012SAndroid Build Coastguard Worker 544*d5c09012SAndroid Build Coastguard Worker // URI path. 545*d5c09012SAndroid Build Coastguard Worker // 546*d5c09012SAndroid Build Coastguard Worker // When specified, replaces the existing path of the task URL. Setting the 547*d5c09012SAndroid Build Coastguard Worker // path value to an empty string clears the URI path segment. 548*d5c09012SAndroid Build Coastguard Worker PathOverride path_override = 4; 549*d5c09012SAndroid Build Coastguard Worker 550*d5c09012SAndroid Build Coastguard Worker // URI Query. 551*d5c09012SAndroid Build Coastguard Worker // 552*d5c09012SAndroid Build Coastguard Worker // When specified, replaces the query part of the task URI. Setting the 553*d5c09012SAndroid Build Coastguard Worker // query value to an empty string clears the URI query segment. 554*d5c09012SAndroid Build Coastguard Worker QueryOverride query_override = 5; 555*d5c09012SAndroid Build Coastguard Worker 556*d5c09012SAndroid Build Coastguard Worker // URI Override Enforce Mode 557*d5c09012SAndroid Build Coastguard Worker // 558*d5c09012SAndroid Build Coastguard Worker // When specified, determines the Target UriOverride mode. If not specified, 559*d5c09012SAndroid Build Coastguard Worker // it defaults to ALWAYS. 560*d5c09012SAndroid Build Coastguard Worker UriOverrideEnforceMode uri_override_enforce_mode = 6; 561*d5c09012SAndroid Build Coastguard Worker} 562*d5c09012SAndroid Build Coastguard Worker 563*d5c09012SAndroid Build Coastguard Worker// HTTP target. 564*d5c09012SAndroid Build Coastguard Worker// 565*d5c09012SAndroid Build Coastguard Worker// When specified as a [Queue][target_type], all the tasks with [HttpRequest] 566*d5c09012SAndroid Build Coastguard Worker// will be overridden according to the target. 567*d5c09012SAndroid Build Coastguard Workermessage HttpTarget { 568*d5c09012SAndroid Build Coastguard Worker // Defines a header message. A header can have a key and a value. 569*d5c09012SAndroid Build Coastguard Worker message Header { 570*d5c09012SAndroid Build Coastguard Worker // The key of the header. 571*d5c09012SAndroid Build Coastguard Worker string key = 1; 572*d5c09012SAndroid Build Coastguard Worker 573*d5c09012SAndroid Build Coastguard Worker // The value of the header. 574*d5c09012SAndroid Build Coastguard Worker string value = 2; 575*d5c09012SAndroid Build Coastguard Worker } 576*d5c09012SAndroid Build Coastguard Worker 577*d5c09012SAndroid Build Coastguard Worker // Wraps the Header object. 578*d5c09012SAndroid Build Coastguard Worker message HeaderOverride { 579*d5c09012SAndroid Build Coastguard Worker // header embodying a key and a value. 580*d5c09012SAndroid Build Coastguard Worker Header header = 1; 581*d5c09012SAndroid Build Coastguard Worker } 582*d5c09012SAndroid Build Coastguard Worker 583*d5c09012SAndroid Build Coastguard Worker // Uri override. 584*d5c09012SAndroid Build Coastguard Worker // 585*d5c09012SAndroid Build Coastguard Worker // When specified, overrides the execution Uri for all the tasks in the queue. 586*d5c09012SAndroid Build Coastguard Worker UriOverride uri_override = 1; 587*d5c09012SAndroid Build Coastguard Worker 588*d5c09012SAndroid Build Coastguard Worker // The HTTP method to use for the request. 589*d5c09012SAndroid Build Coastguard Worker // 590*d5c09012SAndroid Build Coastguard Worker // When specified, it overrides 591*d5c09012SAndroid Build Coastguard Worker // [HttpRequest][google.cloud.tasks.v2beta2.HttpTarget.http_method] for the 592*d5c09012SAndroid Build Coastguard Worker // task. Note that if the value is set to [HttpMethod][GET] the 593*d5c09012SAndroid Build Coastguard Worker // [HttpRequest][body] of the task will be ignored at execution time. 594*d5c09012SAndroid Build Coastguard Worker HttpMethod http_method = 2; 595*d5c09012SAndroid Build Coastguard Worker 596*d5c09012SAndroid Build Coastguard Worker // HTTP target headers. 597*d5c09012SAndroid Build Coastguard Worker // 598*d5c09012SAndroid Build Coastguard Worker // This map contains the header field names and values. 599*d5c09012SAndroid Build Coastguard Worker // Headers will be set when running the 600*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask] and/or 601*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta2.CloudTasks.BufferTask]. 602*d5c09012SAndroid Build Coastguard Worker // 603*d5c09012SAndroid Build Coastguard Worker // These headers represent a subset of the headers that will accompany the 604*d5c09012SAndroid Build Coastguard Worker // task's HTTP request. Some HTTP request headers will be ignored or replaced. 605*d5c09012SAndroid Build Coastguard Worker // 606*d5c09012SAndroid Build Coastguard Worker // A partial list of headers that will be ignored or replaced is: 607*d5c09012SAndroid Build Coastguard Worker // * Any header that is prefixed with "X-CloudTasks-" will be treated 608*d5c09012SAndroid Build Coastguard Worker // as service header. Service headers define properties of the task and are 609*d5c09012SAndroid Build Coastguard Worker // predefined in CloudTask. 610*d5c09012SAndroid Build Coastguard Worker // * Host: This will be computed by Cloud Tasks and derived from 611*d5c09012SAndroid Build Coastguard Worker // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. 612*d5c09012SAndroid Build Coastguard Worker // * Content-Length: This will be computed by Cloud Tasks. 613*d5c09012SAndroid Build Coastguard Worker // * User-Agent: This will be set to `"Google-CloudTasks"`. 614*d5c09012SAndroid Build Coastguard Worker // * `X-Google-*`: Google use only. 615*d5c09012SAndroid Build Coastguard Worker // * `X-AppEngine-*`: Google use only. 616*d5c09012SAndroid Build Coastguard Worker // 617*d5c09012SAndroid Build Coastguard Worker // `Content-Type` won't be set by Cloud Tasks. You can explicitly set 618*d5c09012SAndroid Build Coastguard Worker // `Content-Type` to a media type when the 619*d5c09012SAndroid Build Coastguard Worker // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. 620*d5c09012SAndroid Build Coastguard Worker // For example, `Content-Type` can be set to `"application/octet-stream"` or 621*d5c09012SAndroid Build Coastguard Worker // `"application/json"`. 622*d5c09012SAndroid Build Coastguard Worker // 623*d5c09012SAndroid Build Coastguard Worker // Headers which can have multiple values (according to RFC2616) can be 624*d5c09012SAndroid Build Coastguard Worker // specified using comma-separated values. 625*d5c09012SAndroid Build Coastguard Worker // 626*d5c09012SAndroid Build Coastguard Worker // The size of the headers must be less than 80KB. 627*d5c09012SAndroid Build Coastguard Worker // Queue-level headers to override headers of all the tasks in the queue. 628*d5c09012SAndroid Build Coastguard Worker repeated HeaderOverride header_overrides = 3; 629*d5c09012SAndroid Build Coastguard Worker 630*d5c09012SAndroid Build Coastguard Worker // The mode for generating an `Authorization` header for HTTP requests. 631*d5c09012SAndroid Build Coastguard Worker // 632*d5c09012SAndroid Build Coastguard Worker // If specified, all `Authorization` headers in the 633*d5c09012SAndroid Build Coastguard Worker // [HttpRequest.headers][google.cloud.tasks.v2beta2.HttpRequest.headers] field 634*d5c09012SAndroid Build Coastguard Worker // will be overridden. 635*d5c09012SAndroid Build Coastguard Worker oneof authorization_header { 636*d5c09012SAndroid Build Coastguard Worker // If specified, an 637*d5c09012SAndroid Build Coastguard Worker // [OAuth token](https://developers.google.com/identity/protocols/OAuth2) 638*d5c09012SAndroid Build Coastguard Worker // will be generated and attached as an `Authorization` header in the HTTP 639*d5c09012SAndroid Build Coastguard Worker // request. 640*d5c09012SAndroid Build Coastguard Worker // 641*d5c09012SAndroid Build Coastguard Worker // This type of authorization should generally only be used when calling 642*d5c09012SAndroid Build Coastguard Worker // Google APIs hosted on *.googleapis.com. 643*d5c09012SAndroid Build Coastguard Worker OAuthToken oauth_token = 5; 644*d5c09012SAndroid Build Coastguard Worker 645*d5c09012SAndroid Build Coastguard Worker // If specified, an 646*d5c09012SAndroid Build Coastguard Worker // [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) 647*d5c09012SAndroid Build Coastguard Worker // token will be generated and attached as an `Authorization` header in the 648*d5c09012SAndroid Build Coastguard Worker // HTTP request. 649*d5c09012SAndroid Build Coastguard Worker // 650*d5c09012SAndroid Build Coastguard Worker // This type of authorization can be used for many scenarios, including 651*d5c09012SAndroid Build Coastguard Worker // calling Cloud Run, or endpoints where you intend to validate the token 652*d5c09012SAndroid Build Coastguard Worker // yourself. 653*d5c09012SAndroid Build Coastguard Worker OidcToken oidc_token = 6; 654*d5c09012SAndroid Build Coastguard Worker } 655*d5c09012SAndroid Build Coastguard Worker} 656*d5c09012SAndroid Build Coastguard Worker 657*d5c09012SAndroid Build Coastguard Worker// Contains information needed for generating an 658*d5c09012SAndroid Build Coastguard Worker// [OAuth token](https://developers.google.com/identity/protocols/OAuth2). 659*d5c09012SAndroid Build Coastguard Worker// This type of authorization should generally only be used when calling Google 660*d5c09012SAndroid Build Coastguard Worker// APIs hosted on *.googleapis.com. 661*d5c09012SAndroid Build Coastguard Workermessage OAuthToken { 662*d5c09012SAndroid Build Coastguard Worker // [Service account email](https://cloud.google.com/iam/docs/service-accounts) 663*d5c09012SAndroid Build Coastguard Worker // to be used for generating OAuth token. 664*d5c09012SAndroid Build Coastguard Worker // The service account must be within the same project as the queue. The 665*d5c09012SAndroid Build Coastguard Worker // caller must have iam.serviceAccounts.actAs permission for the service 666*d5c09012SAndroid Build Coastguard Worker // account. 667*d5c09012SAndroid Build Coastguard Worker string service_account_email = 1; 668*d5c09012SAndroid Build Coastguard Worker 669*d5c09012SAndroid Build Coastguard Worker // OAuth scope to be used for generating OAuth access token. 670*d5c09012SAndroid Build Coastguard Worker // If not specified, "https://www.googleapis.com/auth/cloud-platform" 671*d5c09012SAndroid Build Coastguard Worker // will be used. 672*d5c09012SAndroid Build Coastguard Worker string scope = 2; 673*d5c09012SAndroid Build Coastguard Worker} 674*d5c09012SAndroid Build Coastguard Worker 675*d5c09012SAndroid Build Coastguard Worker// Contains information needed for generating an 676*d5c09012SAndroid Build Coastguard Worker// [OpenID Connect 677*d5c09012SAndroid Build Coastguard Worker// token](https://developers.google.com/identity/protocols/OpenIDConnect). 678*d5c09012SAndroid Build Coastguard Worker// This type of authorization can be used for many scenarios, including 679*d5c09012SAndroid Build Coastguard Worker// calling Cloud Run, or endpoints where you intend to validate the token 680*d5c09012SAndroid Build Coastguard Worker// yourself. 681*d5c09012SAndroid Build Coastguard Workermessage OidcToken { 682*d5c09012SAndroid Build Coastguard Worker // [Service account email](https://cloud.google.com/iam/docs/service-accounts) 683*d5c09012SAndroid Build Coastguard Worker // to be used for generating OIDC token. 684*d5c09012SAndroid Build Coastguard Worker // The service account must be within the same project as the queue. The 685*d5c09012SAndroid Build Coastguard Worker // caller must have iam.serviceAccounts.actAs permission for the service 686*d5c09012SAndroid Build Coastguard Worker // account. 687*d5c09012SAndroid Build Coastguard Worker string service_account_email = 1; 688*d5c09012SAndroid Build Coastguard Worker 689*d5c09012SAndroid Build Coastguard Worker // Audience to be used when generating OIDC token. If not specified, the URI 690*d5c09012SAndroid Build Coastguard Worker // specified in target will be used. 691*d5c09012SAndroid Build Coastguard Worker string audience = 2; 692*d5c09012SAndroid Build Coastguard Worker} 693*d5c09012SAndroid Build Coastguard Worker 694*d5c09012SAndroid Build Coastguard Worker// The HTTP method used to execute the task. 695*d5c09012SAndroid Build Coastguard Workerenum HttpMethod { 696*d5c09012SAndroid Build Coastguard Worker // HTTP method unspecified 697*d5c09012SAndroid Build Coastguard Worker HTTP_METHOD_UNSPECIFIED = 0; 698*d5c09012SAndroid Build Coastguard Worker 699*d5c09012SAndroid Build Coastguard Worker // HTTP POST 700*d5c09012SAndroid Build Coastguard Worker POST = 1; 701*d5c09012SAndroid Build Coastguard Worker 702*d5c09012SAndroid Build Coastguard Worker // HTTP GET 703*d5c09012SAndroid Build Coastguard Worker GET = 2; 704*d5c09012SAndroid Build Coastguard Worker 705*d5c09012SAndroid Build Coastguard Worker // HTTP HEAD 706*d5c09012SAndroid Build Coastguard Worker HEAD = 3; 707*d5c09012SAndroid Build Coastguard Worker 708*d5c09012SAndroid Build Coastguard Worker // HTTP PUT 709*d5c09012SAndroid Build Coastguard Worker PUT = 4; 710*d5c09012SAndroid Build Coastguard Worker 711*d5c09012SAndroid Build Coastguard Worker // HTTP DELETE 712*d5c09012SAndroid Build Coastguard Worker DELETE = 5; 713*d5c09012SAndroid Build Coastguard Worker 714*d5c09012SAndroid Build Coastguard Worker // HTTP PATCH 715*d5c09012SAndroid Build Coastguard Worker PATCH = 6; 716*d5c09012SAndroid Build Coastguard Worker 717*d5c09012SAndroid Build Coastguard Worker // HTTP OPTIONS 718*d5c09012SAndroid Build Coastguard Worker OPTIONS = 7; 719*d5c09012SAndroid Build Coastguard Worker} 720