• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/tasks/v2beta3/target.proto
18 
19 package com.google.cloud.tasks.v2beta3;
20 
21 /**
22  *
23  *
24  * <pre>
25  * App Engine HTTP request.
26  * The message defines the HTTP request that is sent to an App Engine app when
27  * the task is dispatched.
28  * Using [AppEngineHttpRequest][google.cloud.tasks.v2beta3.AppEngineHttpRequest]
29  * requires
30  * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
31  * Google IAM permission for the project
32  * and the following scope:
33  * `https://www.googleapis.com/auth/cloud-platform`
34  * The task will be delivered to the App Engine app which belongs to the same
35  * project as the queue. For more information, see
36  * [How Requests are
37  * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
38  * and how routing is affected by
39  * [dispatch
40  * files](https://cloud.google.com/appengine/docs/python/config/dispatchref).
41  * Traffic is encrypted during transport and never leaves Google datacenters.
42  * Because this traffic is carried over a communication mechanism internal to
43  * Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS).
44  * The request to the handler, however, will appear to have used the HTTP
45  * protocol.
46  * The [AppEngineRouting][google.cloud.tasks.v2beta3.AppEngineRouting] used to
47  * construct the URL that the task is delivered to can be set at the queue-level
48  * or task-level:
49  * * If set,
50  *   [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
51  *   is used for all tasks in the queue, no matter what the setting
52  *   is for the
53  *   [task-level
54  *   app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
55  * The `url` that the task will be sent to is:
56  * * `url =` [host][google.cloud.tasks.v2beta3.AppEngineRouting.host] `+`
57  *   [relative_uri][google.cloud.tasks.v2beta3.AppEngineHttpRequest.relative_uri]
58  * Tasks can be dispatched to secure app handlers, unsecure app handlers, and
59  * URIs restricted with
60  * [`login:
61  * admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).
62  * Because tasks are not run as any user, they cannot be dispatched to URIs
63  * restricted with
64  * [`login:
65  * required`](https://cloud.google.com/appengine/docs/standard/python/config/appref)
66  * Task dispatches also do not follow redirects.
67  * The task attempt has succeeded if the app's request handler returns an HTTP
68  * response code in the range [`200` - `299`]. The task attempt has failed if
69  * the app's handler returns a non-2xx response code or Cloud Tasks does
70  * not receive response before the
71  * [deadline][google.cloud.tasks.v2beta3.Task.dispatch_deadline]. Failed tasks
72  * will be retried according to the [retry
73  * configuration][google.cloud.tasks.v2beta3.Queue.retry_config]. `503` (Service
74  * Unavailable) is considered an App Engine system error instead of an
75  * application error and will cause Cloud Tasks' traffic congestion control to
76  * temporarily throttle the queue's dispatches. Unlike other types of task
77  * targets, a `429` (Too Many Requests) response from an app handler does not
78  * cause traffic congestion control to throttle the queue.
79  * </pre>
80  *
81  * Protobuf type {@code google.cloud.tasks.v2beta3.AppEngineHttpRequest}
82  */
83 public final class AppEngineHttpRequest extends com.google.protobuf.GeneratedMessageV3
84     implements
85     // @@protoc_insertion_point(message_implements:google.cloud.tasks.v2beta3.AppEngineHttpRequest)
86     AppEngineHttpRequestOrBuilder {
87   private static final long serialVersionUID = 0L;
88   // Use AppEngineHttpRequest.newBuilder() to construct.
AppEngineHttpRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)89   private AppEngineHttpRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
90     super(builder);
91   }
92 
AppEngineHttpRequest()93   private AppEngineHttpRequest() {
94     httpMethod_ = 0;
95     relativeUri_ = "";
96     body_ = com.google.protobuf.ByteString.EMPTY;
97   }
98 
99   @java.lang.Override
100   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)101   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
102     return new AppEngineHttpRequest();
103   }
104 
105   @java.lang.Override
getUnknownFields()106   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
107     return this.unknownFields;
108   }
109 
getDescriptor()110   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
111     return com.google.cloud.tasks.v2beta3.TargetProto
112         .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_descriptor;
113   }
114 
115   @SuppressWarnings({"rawtypes"})
116   @java.lang.Override
internalGetMapField(int number)117   protected com.google.protobuf.MapField internalGetMapField(int number) {
118     switch (number) {
119       case 4:
120         return internalGetHeaders();
121       default:
122         throw new RuntimeException("Invalid map field number: " + number);
123     }
124   }
125 
126   @java.lang.Override
127   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()128       internalGetFieldAccessorTable() {
129     return com.google.cloud.tasks.v2beta3.TargetProto
130         .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_fieldAccessorTable
131         .ensureFieldAccessorsInitialized(
132             com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.class,
133             com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.Builder.class);
134   }
135 
136   public static final int HTTP_METHOD_FIELD_NUMBER = 1;
137   private int httpMethod_ = 0;
138   /**
139    *
140    *
141    * <pre>
142    * The HTTP method to use for the request. The default is POST.
143    * The app's request handler for the task's target URL must be able to handle
144    * HTTP requests with this http_method, otherwise the task attempt fails with
145    * error code 405 (Method Not Allowed). See [Writing a push task request
146    * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
147    * and the App Engine documentation for your runtime on [How Requests are
148    * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
149    * </pre>
150    *
151    * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
152    *
153    * @return The enum numeric value on the wire for httpMethod.
154    */
155   @java.lang.Override
getHttpMethodValue()156   public int getHttpMethodValue() {
157     return httpMethod_;
158   }
159   /**
160    *
161    *
162    * <pre>
163    * The HTTP method to use for the request. The default is POST.
164    * The app's request handler for the task's target URL must be able to handle
165    * HTTP requests with this http_method, otherwise the task attempt fails with
166    * error code 405 (Method Not Allowed). See [Writing a push task request
167    * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
168    * and the App Engine documentation for your runtime on [How Requests are
169    * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
170    * </pre>
171    *
172    * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
173    *
174    * @return The httpMethod.
175    */
176   @java.lang.Override
getHttpMethod()177   public com.google.cloud.tasks.v2beta3.HttpMethod getHttpMethod() {
178     com.google.cloud.tasks.v2beta3.HttpMethod result =
179         com.google.cloud.tasks.v2beta3.HttpMethod.forNumber(httpMethod_);
180     return result == null ? com.google.cloud.tasks.v2beta3.HttpMethod.UNRECOGNIZED : result;
181   }
182 
183   public static final int APP_ENGINE_ROUTING_FIELD_NUMBER = 2;
184   private com.google.cloud.tasks.v2beta3.AppEngineRouting appEngineRouting_;
185   /**
186    *
187    *
188    * <pre>
189    * Task-level setting for App Engine routing.
190    * If set,
191    * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
192    * is used for all tasks in the queue, no matter what the setting is for the
193    * [task-level
194    * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
195    * </pre>
196    *
197    * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
198    *
199    * @return Whether the appEngineRouting field is set.
200    */
201   @java.lang.Override
hasAppEngineRouting()202   public boolean hasAppEngineRouting() {
203     return appEngineRouting_ != null;
204   }
205   /**
206    *
207    *
208    * <pre>
209    * Task-level setting for App Engine routing.
210    * If set,
211    * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
212    * is used for all tasks in the queue, no matter what the setting is for the
213    * [task-level
214    * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
215    * </pre>
216    *
217    * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
218    *
219    * @return The appEngineRouting.
220    */
221   @java.lang.Override
getAppEngineRouting()222   public com.google.cloud.tasks.v2beta3.AppEngineRouting getAppEngineRouting() {
223     return appEngineRouting_ == null
224         ? com.google.cloud.tasks.v2beta3.AppEngineRouting.getDefaultInstance()
225         : appEngineRouting_;
226   }
227   /**
228    *
229    *
230    * <pre>
231    * Task-level setting for App Engine routing.
232    * If set,
233    * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
234    * is used for all tasks in the queue, no matter what the setting is for the
235    * [task-level
236    * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
237    * </pre>
238    *
239    * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
240    */
241   @java.lang.Override
getAppEngineRoutingOrBuilder()242   public com.google.cloud.tasks.v2beta3.AppEngineRoutingOrBuilder getAppEngineRoutingOrBuilder() {
243     return appEngineRouting_ == null
244         ? com.google.cloud.tasks.v2beta3.AppEngineRouting.getDefaultInstance()
245         : appEngineRouting_;
246   }
247 
248   public static final int RELATIVE_URI_FIELD_NUMBER = 3;
249 
250   @SuppressWarnings("serial")
251   private volatile java.lang.Object relativeUri_ = "";
252   /**
253    *
254    *
255    * <pre>
256    * The relative URI.
257    * The relative URI must begin with "/" and must be a valid HTTP relative URI.
258    * It can contain a path and query string arguments.
259    * If the relative URI is empty, then the root path "/" will be used.
260    * No spaces are allowed, and the maximum length allowed is 2083 characters.
261    * </pre>
262    *
263    * <code>string relative_uri = 3;</code>
264    *
265    * @return The relativeUri.
266    */
267   @java.lang.Override
getRelativeUri()268   public java.lang.String getRelativeUri() {
269     java.lang.Object ref = relativeUri_;
270     if (ref instanceof java.lang.String) {
271       return (java.lang.String) ref;
272     } else {
273       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
274       java.lang.String s = bs.toStringUtf8();
275       relativeUri_ = s;
276       return s;
277     }
278   }
279   /**
280    *
281    *
282    * <pre>
283    * The relative URI.
284    * The relative URI must begin with "/" and must be a valid HTTP relative URI.
285    * It can contain a path and query string arguments.
286    * If the relative URI is empty, then the root path "/" will be used.
287    * No spaces are allowed, and the maximum length allowed is 2083 characters.
288    * </pre>
289    *
290    * <code>string relative_uri = 3;</code>
291    *
292    * @return The bytes for relativeUri.
293    */
294   @java.lang.Override
getRelativeUriBytes()295   public com.google.protobuf.ByteString getRelativeUriBytes() {
296     java.lang.Object ref = relativeUri_;
297     if (ref instanceof java.lang.String) {
298       com.google.protobuf.ByteString b =
299           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
300       relativeUri_ = b;
301       return b;
302     } else {
303       return (com.google.protobuf.ByteString) ref;
304     }
305   }
306 
307   public static final int HEADERS_FIELD_NUMBER = 4;
308 
309   private static final class HeadersDefaultEntryHolder {
310     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
311         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
312             com.google.cloud.tasks.v2beta3.TargetProto
313                 .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_HeadersEntry_descriptor,
314             com.google.protobuf.WireFormat.FieldType.STRING,
315             "",
316             com.google.protobuf.WireFormat.FieldType.STRING,
317             "");
318   }
319 
320   @SuppressWarnings("serial")
321   private com.google.protobuf.MapField<java.lang.String, java.lang.String> headers_;
322 
internalGetHeaders()323   private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetHeaders() {
324     if (headers_ == null) {
325       return com.google.protobuf.MapField.emptyMapField(HeadersDefaultEntryHolder.defaultEntry);
326     }
327     return headers_;
328   }
329 
getHeadersCount()330   public int getHeadersCount() {
331     return internalGetHeaders().getMap().size();
332   }
333   /**
334    *
335    *
336    * <pre>
337    * HTTP request headers.
338    * This map contains the header field names and values.
339    * Headers can be set when the
340    * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
341    * Repeated headers are not supported but a header value can contain commas.
342    * Cloud Tasks sets some headers to default values:
343    * * `User-Agent`: By default, this header is
344    *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
345    *   This header can be modified, but Cloud Tasks will append
346    *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
347    *   modified `User-Agent`.
348    * If the task has a
349    * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
350    * sets the following headers:
351    * * `Content-Type`: By default, the `Content-Type` header is set to
352    *   `"application/octet-stream"`. The default can be overridden by explicitly
353    *   setting `Content-Type` to a particular media type when the
354    *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
355    *   For example, `Content-Type` can be set to `"application/json"`.
356    * * `Content-Length`: This is computed by Cloud Tasks. This value is
357    *   output only.   It cannot be changed.
358    * The headers below cannot be set or overridden:
359    * * `Host`
360    * * `X-Google-*`
361    * * `X-AppEngine-*`
362    * In addition, Cloud Tasks sets some headers when the task is dispatched,
363    * such as headers containing information about the task; see
364    * [request
365    * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
366    * These headers are set only when the task is dispatched, so they are not
367    * visible when the task is returned in a Cloud Tasks response.
368    * Although there is no specific limit for the maximum number of headers or
369    * the size, there is a limit on the maximum size of the
370    * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
371    * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
372    * documentation.
373    * </pre>
374    *
375    * <code>map&lt;string, string&gt; headers = 4;</code>
376    */
377   @java.lang.Override
containsHeaders(java.lang.String key)378   public boolean containsHeaders(java.lang.String key) {
379     if (key == null) {
380       throw new NullPointerException("map key");
381     }
382     return internalGetHeaders().getMap().containsKey(key);
383   }
384   /** Use {@link #getHeadersMap()} instead. */
385   @java.lang.Override
386   @java.lang.Deprecated
getHeaders()387   public java.util.Map<java.lang.String, java.lang.String> getHeaders() {
388     return getHeadersMap();
389   }
390   /**
391    *
392    *
393    * <pre>
394    * HTTP request headers.
395    * This map contains the header field names and values.
396    * Headers can be set when the
397    * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
398    * Repeated headers are not supported but a header value can contain commas.
399    * Cloud Tasks sets some headers to default values:
400    * * `User-Agent`: By default, this header is
401    *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
402    *   This header can be modified, but Cloud Tasks will append
403    *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
404    *   modified `User-Agent`.
405    * If the task has a
406    * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
407    * sets the following headers:
408    * * `Content-Type`: By default, the `Content-Type` header is set to
409    *   `"application/octet-stream"`. The default can be overridden by explicitly
410    *   setting `Content-Type` to a particular media type when the
411    *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
412    *   For example, `Content-Type` can be set to `"application/json"`.
413    * * `Content-Length`: This is computed by Cloud Tasks. This value is
414    *   output only.   It cannot be changed.
415    * The headers below cannot be set or overridden:
416    * * `Host`
417    * * `X-Google-*`
418    * * `X-AppEngine-*`
419    * In addition, Cloud Tasks sets some headers when the task is dispatched,
420    * such as headers containing information about the task; see
421    * [request
422    * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
423    * These headers are set only when the task is dispatched, so they are not
424    * visible when the task is returned in a Cloud Tasks response.
425    * Although there is no specific limit for the maximum number of headers or
426    * the size, there is a limit on the maximum size of the
427    * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
428    * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
429    * documentation.
430    * </pre>
431    *
432    * <code>map&lt;string, string&gt; headers = 4;</code>
433    */
434   @java.lang.Override
getHeadersMap()435   public java.util.Map<java.lang.String, java.lang.String> getHeadersMap() {
436     return internalGetHeaders().getMap();
437   }
438   /**
439    *
440    *
441    * <pre>
442    * HTTP request headers.
443    * This map contains the header field names and values.
444    * Headers can be set when the
445    * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
446    * Repeated headers are not supported but a header value can contain commas.
447    * Cloud Tasks sets some headers to default values:
448    * * `User-Agent`: By default, this header is
449    *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
450    *   This header can be modified, but Cloud Tasks will append
451    *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
452    *   modified `User-Agent`.
453    * If the task has a
454    * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
455    * sets the following headers:
456    * * `Content-Type`: By default, the `Content-Type` header is set to
457    *   `"application/octet-stream"`. The default can be overridden by explicitly
458    *   setting `Content-Type` to a particular media type when the
459    *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
460    *   For example, `Content-Type` can be set to `"application/json"`.
461    * * `Content-Length`: This is computed by Cloud Tasks. This value is
462    *   output only.   It cannot be changed.
463    * The headers below cannot be set or overridden:
464    * * `Host`
465    * * `X-Google-*`
466    * * `X-AppEngine-*`
467    * In addition, Cloud Tasks sets some headers when the task is dispatched,
468    * such as headers containing information about the task; see
469    * [request
470    * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
471    * These headers are set only when the task is dispatched, so they are not
472    * visible when the task is returned in a Cloud Tasks response.
473    * Although there is no specific limit for the maximum number of headers or
474    * the size, there is a limit on the maximum size of the
475    * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
476    * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
477    * documentation.
478    * </pre>
479    *
480    * <code>map&lt;string, string&gt; headers = 4;</code>
481    */
482   @java.lang.Override
getHeadersOrDefault( java.lang.String key, java.lang.String defaultValue)483   public /* nullable */ java.lang.String getHeadersOrDefault(
484       java.lang.String key,
485       /* nullable */
486       java.lang.String defaultValue) {
487     if (key == null) {
488       throw new NullPointerException("map key");
489     }
490     java.util.Map<java.lang.String, java.lang.String> map = internalGetHeaders().getMap();
491     return map.containsKey(key) ? map.get(key) : defaultValue;
492   }
493   /**
494    *
495    *
496    * <pre>
497    * HTTP request headers.
498    * This map contains the header field names and values.
499    * Headers can be set when the
500    * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
501    * Repeated headers are not supported but a header value can contain commas.
502    * Cloud Tasks sets some headers to default values:
503    * * `User-Agent`: By default, this header is
504    *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
505    *   This header can be modified, but Cloud Tasks will append
506    *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
507    *   modified `User-Agent`.
508    * If the task has a
509    * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
510    * sets the following headers:
511    * * `Content-Type`: By default, the `Content-Type` header is set to
512    *   `"application/octet-stream"`. The default can be overridden by explicitly
513    *   setting `Content-Type` to a particular media type when the
514    *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
515    *   For example, `Content-Type` can be set to `"application/json"`.
516    * * `Content-Length`: This is computed by Cloud Tasks. This value is
517    *   output only.   It cannot be changed.
518    * The headers below cannot be set or overridden:
519    * * `Host`
520    * * `X-Google-*`
521    * * `X-AppEngine-*`
522    * In addition, Cloud Tasks sets some headers when the task is dispatched,
523    * such as headers containing information about the task; see
524    * [request
525    * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
526    * These headers are set only when the task is dispatched, so they are not
527    * visible when the task is returned in a Cloud Tasks response.
528    * Although there is no specific limit for the maximum number of headers or
529    * the size, there is a limit on the maximum size of the
530    * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
531    * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
532    * documentation.
533    * </pre>
534    *
535    * <code>map&lt;string, string&gt; headers = 4;</code>
536    */
537   @java.lang.Override
getHeadersOrThrow(java.lang.String key)538   public java.lang.String getHeadersOrThrow(java.lang.String key) {
539     if (key == null) {
540       throw new NullPointerException("map key");
541     }
542     java.util.Map<java.lang.String, java.lang.String> map = internalGetHeaders().getMap();
543     if (!map.containsKey(key)) {
544       throw new java.lang.IllegalArgumentException();
545     }
546     return map.get(key);
547   }
548 
549   public static final int BODY_FIELD_NUMBER = 5;
550   private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;
551   /**
552    *
553    *
554    * <pre>
555    * HTTP request body.
556    * A request body is allowed only if the HTTP method is POST or PUT. It is
557    * an error to set a body on a task with an incompatible
558    * [HttpMethod][google.cloud.tasks.v2beta3.HttpMethod].
559    * </pre>
560    *
561    * <code>bytes body = 5;</code>
562    *
563    * @return The body.
564    */
565   @java.lang.Override
getBody()566   public com.google.protobuf.ByteString getBody() {
567     return body_;
568   }
569 
570   private byte memoizedIsInitialized = -1;
571 
572   @java.lang.Override
isInitialized()573   public final boolean isInitialized() {
574     byte isInitialized = memoizedIsInitialized;
575     if (isInitialized == 1) return true;
576     if (isInitialized == 0) return false;
577 
578     memoizedIsInitialized = 1;
579     return true;
580   }
581 
582   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)583   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
584     if (httpMethod_
585         != com.google.cloud.tasks.v2beta3.HttpMethod.HTTP_METHOD_UNSPECIFIED.getNumber()) {
586       output.writeEnum(1, httpMethod_);
587     }
588     if (appEngineRouting_ != null) {
589       output.writeMessage(2, getAppEngineRouting());
590     }
591     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(relativeUri_)) {
592       com.google.protobuf.GeneratedMessageV3.writeString(output, 3, relativeUri_);
593     }
594     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
595         output, internalGetHeaders(), HeadersDefaultEntryHolder.defaultEntry, 4);
596     if (!body_.isEmpty()) {
597       output.writeBytes(5, body_);
598     }
599     getUnknownFields().writeTo(output);
600   }
601 
602   @java.lang.Override
getSerializedSize()603   public int getSerializedSize() {
604     int size = memoizedSize;
605     if (size != -1) return size;
606 
607     size = 0;
608     if (httpMethod_
609         != com.google.cloud.tasks.v2beta3.HttpMethod.HTTP_METHOD_UNSPECIFIED.getNumber()) {
610       size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, httpMethod_);
611     }
612     if (appEngineRouting_ != null) {
613       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getAppEngineRouting());
614     }
615     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(relativeUri_)) {
616       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, relativeUri_);
617     }
618     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
619         internalGetHeaders().getMap().entrySet()) {
620       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> headers__ =
621           HeadersDefaultEntryHolder.defaultEntry
622               .newBuilderForType()
623               .setKey(entry.getKey())
624               .setValue(entry.getValue())
625               .build();
626       size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, headers__);
627     }
628     if (!body_.isEmpty()) {
629       size += com.google.protobuf.CodedOutputStream.computeBytesSize(5, body_);
630     }
631     size += getUnknownFields().getSerializedSize();
632     memoizedSize = size;
633     return size;
634   }
635 
636   @java.lang.Override
equals(final java.lang.Object obj)637   public boolean equals(final java.lang.Object obj) {
638     if (obj == this) {
639       return true;
640     }
641     if (!(obj instanceof com.google.cloud.tasks.v2beta3.AppEngineHttpRequest)) {
642       return super.equals(obj);
643     }
644     com.google.cloud.tasks.v2beta3.AppEngineHttpRequest other =
645         (com.google.cloud.tasks.v2beta3.AppEngineHttpRequest) obj;
646 
647     if (httpMethod_ != other.httpMethod_) return false;
648     if (hasAppEngineRouting() != other.hasAppEngineRouting()) return false;
649     if (hasAppEngineRouting()) {
650       if (!getAppEngineRouting().equals(other.getAppEngineRouting())) return false;
651     }
652     if (!getRelativeUri().equals(other.getRelativeUri())) return false;
653     if (!internalGetHeaders().equals(other.internalGetHeaders())) return false;
654     if (!getBody().equals(other.getBody())) return false;
655     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
656     return true;
657   }
658 
659   @java.lang.Override
hashCode()660   public int hashCode() {
661     if (memoizedHashCode != 0) {
662       return memoizedHashCode;
663     }
664     int hash = 41;
665     hash = (19 * hash) + getDescriptor().hashCode();
666     hash = (37 * hash) + HTTP_METHOD_FIELD_NUMBER;
667     hash = (53 * hash) + httpMethod_;
668     if (hasAppEngineRouting()) {
669       hash = (37 * hash) + APP_ENGINE_ROUTING_FIELD_NUMBER;
670       hash = (53 * hash) + getAppEngineRouting().hashCode();
671     }
672     hash = (37 * hash) + RELATIVE_URI_FIELD_NUMBER;
673     hash = (53 * hash) + getRelativeUri().hashCode();
674     if (!internalGetHeaders().getMap().isEmpty()) {
675       hash = (37 * hash) + HEADERS_FIELD_NUMBER;
676       hash = (53 * hash) + internalGetHeaders().hashCode();
677     }
678     hash = (37 * hash) + BODY_FIELD_NUMBER;
679     hash = (53 * hash) + getBody().hashCode();
680     hash = (29 * hash) + getUnknownFields().hashCode();
681     memoizedHashCode = hash;
682     return hash;
683   }
684 
parseFrom( java.nio.ByteBuffer data)685   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
686       java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
687     return PARSER.parseFrom(data);
688   }
689 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)690   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
691       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
692       throws com.google.protobuf.InvalidProtocolBufferException {
693     return PARSER.parseFrom(data, extensionRegistry);
694   }
695 
parseFrom( com.google.protobuf.ByteString data)696   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
697       com.google.protobuf.ByteString data)
698       throws com.google.protobuf.InvalidProtocolBufferException {
699     return PARSER.parseFrom(data);
700   }
701 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)702   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
703       com.google.protobuf.ByteString data,
704       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
705       throws com.google.protobuf.InvalidProtocolBufferException {
706     return PARSER.parseFrom(data, extensionRegistry);
707   }
708 
parseFrom(byte[] data)709   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(byte[] data)
710       throws com.google.protobuf.InvalidProtocolBufferException {
711     return PARSER.parseFrom(data);
712   }
713 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)714   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
715       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
716       throws com.google.protobuf.InvalidProtocolBufferException {
717     return PARSER.parseFrom(data, extensionRegistry);
718   }
719 
parseFrom( java.io.InputStream input)720   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
721       java.io.InputStream input) throws java.io.IOException {
722     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
723   }
724 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)725   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
726       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
727       throws java.io.IOException {
728     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
729         PARSER, input, extensionRegistry);
730   }
731 
parseDelimitedFrom( java.io.InputStream input)732   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseDelimitedFrom(
733       java.io.InputStream input) throws java.io.IOException {
734     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
735   }
736 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)737   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseDelimitedFrom(
738       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
739       throws java.io.IOException {
740     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
741         PARSER, input, extensionRegistry);
742   }
743 
parseFrom( com.google.protobuf.CodedInputStream input)744   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
745       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
746     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
747   }
748 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)749   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest parseFrom(
750       com.google.protobuf.CodedInputStream input,
751       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
752       throws java.io.IOException {
753     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
754         PARSER, input, extensionRegistry);
755   }
756 
757   @java.lang.Override
newBuilderForType()758   public Builder newBuilderForType() {
759     return newBuilder();
760   }
761 
newBuilder()762   public static Builder newBuilder() {
763     return DEFAULT_INSTANCE.toBuilder();
764   }
765 
newBuilder(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest prototype)766   public static Builder newBuilder(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest prototype) {
767     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
768   }
769 
770   @java.lang.Override
toBuilder()771   public Builder toBuilder() {
772     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
773   }
774 
775   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)776   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
777     Builder builder = new Builder(parent);
778     return builder;
779   }
780   /**
781    *
782    *
783    * <pre>
784    * App Engine HTTP request.
785    * The message defines the HTTP request that is sent to an App Engine app when
786    * the task is dispatched.
787    * Using [AppEngineHttpRequest][google.cloud.tasks.v2beta3.AppEngineHttpRequest]
788    * requires
789    * [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
790    * Google IAM permission for the project
791    * and the following scope:
792    * `https://www.googleapis.com/auth/cloud-platform`
793    * The task will be delivered to the App Engine app which belongs to the same
794    * project as the queue. For more information, see
795    * [How Requests are
796    * Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
797    * and how routing is affected by
798    * [dispatch
799    * files](https://cloud.google.com/appengine/docs/python/config/dispatchref).
800    * Traffic is encrypted during transport and never leaves Google datacenters.
801    * Because this traffic is carried over a communication mechanism internal to
802    * Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS).
803    * The request to the handler, however, will appear to have used the HTTP
804    * protocol.
805    * The [AppEngineRouting][google.cloud.tasks.v2beta3.AppEngineRouting] used to
806    * construct the URL that the task is delivered to can be set at the queue-level
807    * or task-level:
808    * * If set,
809    *   [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
810    *   is used for all tasks in the queue, no matter what the setting
811    *   is for the
812    *   [task-level
813    *   app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
814    * The `url` that the task will be sent to is:
815    * * `url =` [host][google.cloud.tasks.v2beta3.AppEngineRouting.host] `+`
816    *   [relative_uri][google.cloud.tasks.v2beta3.AppEngineHttpRequest.relative_uri]
817    * Tasks can be dispatched to secure app handlers, unsecure app handlers, and
818    * URIs restricted with
819    * [`login:
820    * admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).
821    * Because tasks are not run as any user, they cannot be dispatched to URIs
822    * restricted with
823    * [`login:
824    * required`](https://cloud.google.com/appengine/docs/standard/python/config/appref)
825    * Task dispatches also do not follow redirects.
826    * The task attempt has succeeded if the app's request handler returns an HTTP
827    * response code in the range [`200` - `299`]. The task attempt has failed if
828    * the app's handler returns a non-2xx response code or Cloud Tasks does
829    * not receive response before the
830    * [deadline][google.cloud.tasks.v2beta3.Task.dispatch_deadline]. Failed tasks
831    * will be retried according to the [retry
832    * configuration][google.cloud.tasks.v2beta3.Queue.retry_config]. `503` (Service
833    * Unavailable) is considered an App Engine system error instead of an
834    * application error and will cause Cloud Tasks' traffic congestion control to
835    * temporarily throttle the queue's dispatches. Unlike other types of task
836    * targets, a `429` (Too Many Requests) response from an app handler does not
837    * cause traffic congestion control to throttle the queue.
838    * </pre>
839    *
840    * Protobuf type {@code google.cloud.tasks.v2beta3.AppEngineHttpRequest}
841    */
842   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
843       implements
844       // @@protoc_insertion_point(builder_implements:google.cloud.tasks.v2beta3.AppEngineHttpRequest)
845       com.google.cloud.tasks.v2beta3.AppEngineHttpRequestOrBuilder {
getDescriptor()846     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
847       return com.google.cloud.tasks.v2beta3.TargetProto
848           .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_descriptor;
849     }
850 
851     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)852     protected com.google.protobuf.MapField internalGetMapField(int number) {
853       switch (number) {
854         case 4:
855           return internalGetHeaders();
856         default:
857           throw new RuntimeException("Invalid map field number: " + number);
858       }
859     }
860 
861     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)862     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
863       switch (number) {
864         case 4:
865           return internalGetMutableHeaders();
866         default:
867           throw new RuntimeException("Invalid map field number: " + number);
868       }
869     }
870 
871     @java.lang.Override
872     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()873         internalGetFieldAccessorTable() {
874       return com.google.cloud.tasks.v2beta3.TargetProto
875           .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_fieldAccessorTable
876           .ensureFieldAccessorsInitialized(
877               com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.class,
878               com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.Builder.class);
879     }
880 
881     // Construct using com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.newBuilder()
Builder()882     private Builder() {}
883 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)884     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
885       super(parent);
886     }
887 
888     @java.lang.Override
clear()889     public Builder clear() {
890       super.clear();
891       bitField0_ = 0;
892       httpMethod_ = 0;
893       appEngineRouting_ = null;
894       if (appEngineRoutingBuilder_ != null) {
895         appEngineRoutingBuilder_.dispose();
896         appEngineRoutingBuilder_ = null;
897       }
898       relativeUri_ = "";
899       internalGetMutableHeaders().clear();
900       body_ = com.google.protobuf.ByteString.EMPTY;
901       return this;
902     }
903 
904     @java.lang.Override
getDescriptorForType()905     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
906       return com.google.cloud.tasks.v2beta3.TargetProto
907           .internal_static_google_cloud_tasks_v2beta3_AppEngineHttpRequest_descriptor;
908     }
909 
910     @java.lang.Override
getDefaultInstanceForType()911     public com.google.cloud.tasks.v2beta3.AppEngineHttpRequest getDefaultInstanceForType() {
912       return com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.getDefaultInstance();
913     }
914 
915     @java.lang.Override
build()916     public com.google.cloud.tasks.v2beta3.AppEngineHttpRequest build() {
917       com.google.cloud.tasks.v2beta3.AppEngineHttpRequest result = buildPartial();
918       if (!result.isInitialized()) {
919         throw newUninitializedMessageException(result);
920       }
921       return result;
922     }
923 
924     @java.lang.Override
buildPartial()925     public com.google.cloud.tasks.v2beta3.AppEngineHttpRequest buildPartial() {
926       com.google.cloud.tasks.v2beta3.AppEngineHttpRequest result =
927           new com.google.cloud.tasks.v2beta3.AppEngineHttpRequest(this);
928       if (bitField0_ != 0) {
929         buildPartial0(result);
930       }
931       onBuilt();
932       return result;
933     }
934 
buildPartial0(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest result)935     private void buildPartial0(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest result) {
936       int from_bitField0_ = bitField0_;
937       if (((from_bitField0_ & 0x00000001) != 0)) {
938         result.httpMethod_ = httpMethod_;
939       }
940       if (((from_bitField0_ & 0x00000002) != 0)) {
941         result.appEngineRouting_ =
942             appEngineRoutingBuilder_ == null ? appEngineRouting_ : appEngineRoutingBuilder_.build();
943       }
944       if (((from_bitField0_ & 0x00000004) != 0)) {
945         result.relativeUri_ = relativeUri_;
946       }
947       if (((from_bitField0_ & 0x00000008) != 0)) {
948         result.headers_ = internalGetHeaders();
949         result.headers_.makeImmutable();
950       }
951       if (((from_bitField0_ & 0x00000010) != 0)) {
952         result.body_ = body_;
953       }
954     }
955 
956     @java.lang.Override
clone()957     public Builder clone() {
958       return super.clone();
959     }
960 
961     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)962     public Builder setField(
963         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
964       return super.setField(field, value);
965     }
966 
967     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)968     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
969       return super.clearField(field);
970     }
971 
972     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)973     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
974       return super.clearOneof(oneof);
975     }
976 
977     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)978     public Builder setRepeatedField(
979         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
980       return super.setRepeatedField(field, index, value);
981     }
982 
983     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)984     public Builder addRepeatedField(
985         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
986       return super.addRepeatedField(field, value);
987     }
988 
989     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)990     public Builder mergeFrom(com.google.protobuf.Message other) {
991       if (other instanceof com.google.cloud.tasks.v2beta3.AppEngineHttpRequest) {
992         return mergeFrom((com.google.cloud.tasks.v2beta3.AppEngineHttpRequest) other);
993       } else {
994         super.mergeFrom(other);
995         return this;
996       }
997     }
998 
mergeFrom(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest other)999     public Builder mergeFrom(com.google.cloud.tasks.v2beta3.AppEngineHttpRequest other) {
1000       if (other == com.google.cloud.tasks.v2beta3.AppEngineHttpRequest.getDefaultInstance())
1001         return this;
1002       if (other.httpMethod_ != 0) {
1003         setHttpMethodValue(other.getHttpMethodValue());
1004       }
1005       if (other.hasAppEngineRouting()) {
1006         mergeAppEngineRouting(other.getAppEngineRouting());
1007       }
1008       if (!other.getRelativeUri().isEmpty()) {
1009         relativeUri_ = other.relativeUri_;
1010         bitField0_ |= 0x00000004;
1011         onChanged();
1012       }
1013       internalGetMutableHeaders().mergeFrom(other.internalGetHeaders());
1014       bitField0_ |= 0x00000008;
1015       if (other.getBody() != com.google.protobuf.ByteString.EMPTY) {
1016         setBody(other.getBody());
1017       }
1018       this.mergeUnknownFields(other.getUnknownFields());
1019       onChanged();
1020       return this;
1021     }
1022 
1023     @java.lang.Override
isInitialized()1024     public final boolean isInitialized() {
1025       return true;
1026     }
1027 
1028     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1029     public Builder mergeFrom(
1030         com.google.protobuf.CodedInputStream input,
1031         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1032         throws java.io.IOException {
1033       if (extensionRegistry == null) {
1034         throw new java.lang.NullPointerException();
1035       }
1036       try {
1037         boolean done = false;
1038         while (!done) {
1039           int tag = input.readTag();
1040           switch (tag) {
1041             case 0:
1042               done = true;
1043               break;
1044             case 8:
1045               {
1046                 httpMethod_ = input.readEnum();
1047                 bitField0_ |= 0x00000001;
1048                 break;
1049               } // case 8
1050             case 18:
1051               {
1052                 input.readMessage(
1053                     getAppEngineRoutingFieldBuilder().getBuilder(), extensionRegistry);
1054                 bitField0_ |= 0x00000002;
1055                 break;
1056               } // case 18
1057             case 26:
1058               {
1059                 relativeUri_ = input.readStringRequireUtf8();
1060                 bitField0_ |= 0x00000004;
1061                 break;
1062               } // case 26
1063             case 34:
1064               {
1065                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> headers__ =
1066                     input.readMessage(
1067                         HeadersDefaultEntryHolder.defaultEntry.getParserForType(),
1068                         extensionRegistry);
1069                 internalGetMutableHeaders()
1070                     .getMutableMap()
1071                     .put(headers__.getKey(), headers__.getValue());
1072                 bitField0_ |= 0x00000008;
1073                 break;
1074               } // case 34
1075             case 42:
1076               {
1077                 body_ = input.readBytes();
1078                 bitField0_ |= 0x00000010;
1079                 break;
1080               } // case 42
1081             default:
1082               {
1083                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1084                   done = true; // was an endgroup tag
1085                 }
1086                 break;
1087               } // default:
1088           } // switch (tag)
1089         } // while (!done)
1090       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1091         throw e.unwrapIOException();
1092       } finally {
1093         onChanged();
1094       } // finally
1095       return this;
1096     }
1097 
1098     private int bitField0_;
1099 
1100     private int httpMethod_ = 0;
1101     /**
1102      *
1103      *
1104      * <pre>
1105      * The HTTP method to use for the request. The default is POST.
1106      * The app's request handler for the task's target URL must be able to handle
1107      * HTTP requests with this http_method, otherwise the task attempt fails with
1108      * error code 405 (Method Not Allowed). See [Writing a push task request
1109      * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
1110      * and the App Engine documentation for your runtime on [How Requests are
1111      * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
1112      * </pre>
1113      *
1114      * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
1115      *
1116      * @return The enum numeric value on the wire for httpMethod.
1117      */
1118     @java.lang.Override
getHttpMethodValue()1119     public int getHttpMethodValue() {
1120       return httpMethod_;
1121     }
1122     /**
1123      *
1124      *
1125      * <pre>
1126      * The HTTP method to use for the request. The default is POST.
1127      * The app's request handler for the task's target URL must be able to handle
1128      * HTTP requests with this http_method, otherwise the task attempt fails with
1129      * error code 405 (Method Not Allowed). See [Writing a push task request
1130      * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
1131      * and the App Engine documentation for your runtime on [How Requests are
1132      * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
1133      * </pre>
1134      *
1135      * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
1136      *
1137      * @param value The enum numeric value on the wire for httpMethod to set.
1138      * @return This builder for chaining.
1139      */
setHttpMethodValue(int value)1140     public Builder setHttpMethodValue(int value) {
1141       httpMethod_ = value;
1142       bitField0_ |= 0x00000001;
1143       onChanged();
1144       return this;
1145     }
1146     /**
1147      *
1148      *
1149      * <pre>
1150      * The HTTP method to use for the request. The default is POST.
1151      * The app's request handler for the task's target URL must be able to handle
1152      * HTTP requests with this http_method, otherwise the task attempt fails with
1153      * error code 405 (Method Not Allowed). See [Writing a push task request
1154      * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
1155      * and the App Engine documentation for your runtime on [How Requests are
1156      * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
1157      * </pre>
1158      *
1159      * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
1160      *
1161      * @return The httpMethod.
1162      */
1163     @java.lang.Override
getHttpMethod()1164     public com.google.cloud.tasks.v2beta3.HttpMethod getHttpMethod() {
1165       com.google.cloud.tasks.v2beta3.HttpMethod result =
1166           com.google.cloud.tasks.v2beta3.HttpMethod.forNumber(httpMethod_);
1167       return result == null ? com.google.cloud.tasks.v2beta3.HttpMethod.UNRECOGNIZED : result;
1168     }
1169     /**
1170      *
1171      *
1172      * <pre>
1173      * The HTTP method to use for the request. The default is POST.
1174      * The app's request handler for the task's target URL must be able to handle
1175      * HTTP requests with this http_method, otherwise the task attempt fails with
1176      * error code 405 (Method Not Allowed). See [Writing a push task request
1177      * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
1178      * and the App Engine documentation for your runtime on [How Requests are
1179      * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
1180      * </pre>
1181      *
1182      * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
1183      *
1184      * @param value The httpMethod to set.
1185      * @return This builder for chaining.
1186      */
setHttpMethod(com.google.cloud.tasks.v2beta3.HttpMethod value)1187     public Builder setHttpMethod(com.google.cloud.tasks.v2beta3.HttpMethod value) {
1188       if (value == null) {
1189         throw new NullPointerException();
1190       }
1191       bitField0_ |= 0x00000001;
1192       httpMethod_ = value.getNumber();
1193       onChanged();
1194       return this;
1195     }
1196     /**
1197      *
1198      *
1199      * <pre>
1200      * The HTTP method to use for the request. The default is POST.
1201      * The app's request handler for the task's target URL must be able to handle
1202      * HTTP requests with this http_method, otherwise the task attempt fails with
1203      * error code 405 (Method Not Allowed). See [Writing a push task request
1204      * handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
1205      * and the App Engine documentation for your runtime on [How Requests are
1206      * Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
1207      * </pre>
1208      *
1209      * <code>.google.cloud.tasks.v2beta3.HttpMethod http_method = 1;</code>
1210      *
1211      * @return This builder for chaining.
1212      */
clearHttpMethod()1213     public Builder clearHttpMethod() {
1214       bitField0_ = (bitField0_ & ~0x00000001);
1215       httpMethod_ = 0;
1216       onChanged();
1217       return this;
1218     }
1219 
1220     private com.google.cloud.tasks.v2beta3.AppEngineRouting appEngineRouting_;
1221     private com.google.protobuf.SingleFieldBuilderV3<
1222             com.google.cloud.tasks.v2beta3.AppEngineRouting,
1223             com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder,
1224             com.google.cloud.tasks.v2beta3.AppEngineRoutingOrBuilder>
1225         appEngineRoutingBuilder_;
1226     /**
1227      *
1228      *
1229      * <pre>
1230      * Task-level setting for App Engine routing.
1231      * If set,
1232      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1233      * is used for all tasks in the queue, no matter what the setting is for the
1234      * [task-level
1235      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1236      * </pre>
1237      *
1238      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1239      *
1240      * @return Whether the appEngineRouting field is set.
1241      */
hasAppEngineRouting()1242     public boolean hasAppEngineRouting() {
1243       return ((bitField0_ & 0x00000002) != 0);
1244     }
1245     /**
1246      *
1247      *
1248      * <pre>
1249      * Task-level setting for App Engine routing.
1250      * If set,
1251      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1252      * is used for all tasks in the queue, no matter what the setting is for the
1253      * [task-level
1254      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1255      * </pre>
1256      *
1257      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1258      *
1259      * @return The appEngineRouting.
1260      */
getAppEngineRouting()1261     public com.google.cloud.tasks.v2beta3.AppEngineRouting getAppEngineRouting() {
1262       if (appEngineRoutingBuilder_ == null) {
1263         return appEngineRouting_ == null
1264             ? com.google.cloud.tasks.v2beta3.AppEngineRouting.getDefaultInstance()
1265             : appEngineRouting_;
1266       } else {
1267         return appEngineRoutingBuilder_.getMessage();
1268       }
1269     }
1270     /**
1271      *
1272      *
1273      * <pre>
1274      * Task-level setting for App Engine routing.
1275      * If set,
1276      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1277      * is used for all tasks in the queue, no matter what the setting is for the
1278      * [task-level
1279      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1280      * </pre>
1281      *
1282      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1283      */
setAppEngineRouting(com.google.cloud.tasks.v2beta3.AppEngineRouting value)1284     public Builder setAppEngineRouting(com.google.cloud.tasks.v2beta3.AppEngineRouting value) {
1285       if (appEngineRoutingBuilder_ == null) {
1286         if (value == null) {
1287           throw new NullPointerException();
1288         }
1289         appEngineRouting_ = value;
1290       } else {
1291         appEngineRoutingBuilder_.setMessage(value);
1292       }
1293       bitField0_ |= 0x00000002;
1294       onChanged();
1295       return this;
1296     }
1297     /**
1298      *
1299      *
1300      * <pre>
1301      * Task-level setting for App Engine routing.
1302      * If set,
1303      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1304      * is used for all tasks in the queue, no matter what the setting is for the
1305      * [task-level
1306      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1307      * </pre>
1308      *
1309      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1310      */
setAppEngineRouting( com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder builderForValue)1311     public Builder setAppEngineRouting(
1312         com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder builderForValue) {
1313       if (appEngineRoutingBuilder_ == null) {
1314         appEngineRouting_ = builderForValue.build();
1315       } else {
1316         appEngineRoutingBuilder_.setMessage(builderForValue.build());
1317       }
1318       bitField0_ |= 0x00000002;
1319       onChanged();
1320       return this;
1321     }
1322     /**
1323      *
1324      *
1325      * <pre>
1326      * Task-level setting for App Engine routing.
1327      * If set,
1328      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1329      * is used for all tasks in the queue, no matter what the setting is for the
1330      * [task-level
1331      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1332      * </pre>
1333      *
1334      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1335      */
mergeAppEngineRouting(com.google.cloud.tasks.v2beta3.AppEngineRouting value)1336     public Builder mergeAppEngineRouting(com.google.cloud.tasks.v2beta3.AppEngineRouting value) {
1337       if (appEngineRoutingBuilder_ == null) {
1338         if (((bitField0_ & 0x00000002) != 0)
1339             && appEngineRouting_ != null
1340             && appEngineRouting_
1341                 != com.google.cloud.tasks.v2beta3.AppEngineRouting.getDefaultInstance()) {
1342           getAppEngineRoutingBuilder().mergeFrom(value);
1343         } else {
1344           appEngineRouting_ = value;
1345         }
1346       } else {
1347         appEngineRoutingBuilder_.mergeFrom(value);
1348       }
1349       bitField0_ |= 0x00000002;
1350       onChanged();
1351       return this;
1352     }
1353     /**
1354      *
1355      *
1356      * <pre>
1357      * Task-level setting for App Engine routing.
1358      * If set,
1359      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1360      * is used for all tasks in the queue, no matter what the setting is for the
1361      * [task-level
1362      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1363      * </pre>
1364      *
1365      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1366      */
clearAppEngineRouting()1367     public Builder clearAppEngineRouting() {
1368       bitField0_ = (bitField0_ & ~0x00000002);
1369       appEngineRouting_ = null;
1370       if (appEngineRoutingBuilder_ != null) {
1371         appEngineRoutingBuilder_.dispose();
1372         appEngineRoutingBuilder_ = null;
1373       }
1374       onChanged();
1375       return this;
1376     }
1377     /**
1378      *
1379      *
1380      * <pre>
1381      * Task-level setting for App Engine routing.
1382      * If set,
1383      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1384      * is used for all tasks in the queue, no matter what the setting is for the
1385      * [task-level
1386      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1387      * </pre>
1388      *
1389      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1390      */
getAppEngineRoutingBuilder()1391     public com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder getAppEngineRoutingBuilder() {
1392       bitField0_ |= 0x00000002;
1393       onChanged();
1394       return getAppEngineRoutingFieldBuilder().getBuilder();
1395     }
1396     /**
1397      *
1398      *
1399      * <pre>
1400      * Task-level setting for App Engine routing.
1401      * If set,
1402      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1403      * is used for all tasks in the queue, no matter what the setting is for the
1404      * [task-level
1405      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1406      * </pre>
1407      *
1408      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1409      */
getAppEngineRoutingOrBuilder()1410     public com.google.cloud.tasks.v2beta3.AppEngineRoutingOrBuilder getAppEngineRoutingOrBuilder() {
1411       if (appEngineRoutingBuilder_ != null) {
1412         return appEngineRoutingBuilder_.getMessageOrBuilder();
1413       } else {
1414         return appEngineRouting_ == null
1415             ? com.google.cloud.tasks.v2beta3.AppEngineRouting.getDefaultInstance()
1416             : appEngineRouting_;
1417       }
1418     }
1419     /**
1420      *
1421      *
1422      * <pre>
1423      * Task-level setting for App Engine routing.
1424      * If set,
1425      * [app_engine_routing_override][google.cloud.tasks.v2beta3.AppEngineHttpQueue.app_engine_routing_override]
1426      * is used for all tasks in the queue, no matter what the setting is for the
1427      * [task-level
1428      * app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing].
1429      * </pre>
1430      *
1431      * <code>.google.cloud.tasks.v2beta3.AppEngineRouting app_engine_routing = 2;</code>
1432      */
1433     private com.google.protobuf.SingleFieldBuilderV3<
1434             com.google.cloud.tasks.v2beta3.AppEngineRouting,
1435             com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder,
1436             com.google.cloud.tasks.v2beta3.AppEngineRoutingOrBuilder>
getAppEngineRoutingFieldBuilder()1437         getAppEngineRoutingFieldBuilder() {
1438       if (appEngineRoutingBuilder_ == null) {
1439         appEngineRoutingBuilder_ =
1440             new com.google.protobuf.SingleFieldBuilderV3<
1441                 com.google.cloud.tasks.v2beta3.AppEngineRouting,
1442                 com.google.cloud.tasks.v2beta3.AppEngineRouting.Builder,
1443                 com.google.cloud.tasks.v2beta3.AppEngineRoutingOrBuilder>(
1444                 getAppEngineRouting(), getParentForChildren(), isClean());
1445         appEngineRouting_ = null;
1446       }
1447       return appEngineRoutingBuilder_;
1448     }
1449 
1450     private java.lang.Object relativeUri_ = "";
1451     /**
1452      *
1453      *
1454      * <pre>
1455      * The relative URI.
1456      * The relative URI must begin with "/" and must be a valid HTTP relative URI.
1457      * It can contain a path and query string arguments.
1458      * If the relative URI is empty, then the root path "/" will be used.
1459      * No spaces are allowed, and the maximum length allowed is 2083 characters.
1460      * </pre>
1461      *
1462      * <code>string relative_uri = 3;</code>
1463      *
1464      * @return The relativeUri.
1465      */
getRelativeUri()1466     public java.lang.String getRelativeUri() {
1467       java.lang.Object ref = relativeUri_;
1468       if (!(ref instanceof java.lang.String)) {
1469         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1470         java.lang.String s = bs.toStringUtf8();
1471         relativeUri_ = s;
1472         return s;
1473       } else {
1474         return (java.lang.String) ref;
1475       }
1476     }
1477     /**
1478      *
1479      *
1480      * <pre>
1481      * The relative URI.
1482      * The relative URI must begin with "/" and must be a valid HTTP relative URI.
1483      * It can contain a path and query string arguments.
1484      * If the relative URI is empty, then the root path "/" will be used.
1485      * No spaces are allowed, and the maximum length allowed is 2083 characters.
1486      * </pre>
1487      *
1488      * <code>string relative_uri = 3;</code>
1489      *
1490      * @return The bytes for relativeUri.
1491      */
getRelativeUriBytes()1492     public com.google.protobuf.ByteString getRelativeUriBytes() {
1493       java.lang.Object ref = relativeUri_;
1494       if (ref instanceof String) {
1495         com.google.protobuf.ByteString b =
1496             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1497         relativeUri_ = b;
1498         return b;
1499       } else {
1500         return (com.google.protobuf.ByteString) ref;
1501       }
1502     }
1503     /**
1504      *
1505      *
1506      * <pre>
1507      * The relative URI.
1508      * The relative URI must begin with "/" and must be a valid HTTP relative URI.
1509      * It can contain a path and query string arguments.
1510      * If the relative URI is empty, then the root path "/" will be used.
1511      * No spaces are allowed, and the maximum length allowed is 2083 characters.
1512      * </pre>
1513      *
1514      * <code>string relative_uri = 3;</code>
1515      *
1516      * @param value The relativeUri to set.
1517      * @return This builder for chaining.
1518      */
setRelativeUri(java.lang.String value)1519     public Builder setRelativeUri(java.lang.String value) {
1520       if (value == null) {
1521         throw new NullPointerException();
1522       }
1523       relativeUri_ = value;
1524       bitField0_ |= 0x00000004;
1525       onChanged();
1526       return this;
1527     }
1528     /**
1529      *
1530      *
1531      * <pre>
1532      * The relative URI.
1533      * The relative URI must begin with "/" and must be a valid HTTP relative URI.
1534      * It can contain a path and query string arguments.
1535      * If the relative URI is empty, then the root path "/" will be used.
1536      * No spaces are allowed, and the maximum length allowed is 2083 characters.
1537      * </pre>
1538      *
1539      * <code>string relative_uri = 3;</code>
1540      *
1541      * @return This builder for chaining.
1542      */
clearRelativeUri()1543     public Builder clearRelativeUri() {
1544       relativeUri_ = getDefaultInstance().getRelativeUri();
1545       bitField0_ = (bitField0_ & ~0x00000004);
1546       onChanged();
1547       return this;
1548     }
1549     /**
1550      *
1551      *
1552      * <pre>
1553      * The relative URI.
1554      * The relative URI must begin with "/" and must be a valid HTTP relative URI.
1555      * It can contain a path and query string arguments.
1556      * If the relative URI is empty, then the root path "/" will be used.
1557      * No spaces are allowed, and the maximum length allowed is 2083 characters.
1558      * </pre>
1559      *
1560      * <code>string relative_uri = 3;</code>
1561      *
1562      * @param value The bytes for relativeUri to set.
1563      * @return This builder for chaining.
1564      */
setRelativeUriBytes(com.google.protobuf.ByteString value)1565     public Builder setRelativeUriBytes(com.google.protobuf.ByteString value) {
1566       if (value == null) {
1567         throw new NullPointerException();
1568       }
1569       checkByteStringIsUtf8(value);
1570       relativeUri_ = value;
1571       bitField0_ |= 0x00000004;
1572       onChanged();
1573       return this;
1574     }
1575 
1576     private com.google.protobuf.MapField<java.lang.String, java.lang.String> headers_;
1577 
internalGetHeaders()1578     private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetHeaders() {
1579       if (headers_ == null) {
1580         return com.google.protobuf.MapField.emptyMapField(HeadersDefaultEntryHolder.defaultEntry);
1581       }
1582       return headers_;
1583     }
1584 
1585     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableHeaders()1586         internalGetMutableHeaders() {
1587       if (headers_ == null) {
1588         headers_ = com.google.protobuf.MapField.newMapField(HeadersDefaultEntryHolder.defaultEntry);
1589       }
1590       if (!headers_.isMutable()) {
1591         headers_ = headers_.copy();
1592       }
1593       bitField0_ |= 0x00000008;
1594       onChanged();
1595       return headers_;
1596     }
1597 
getHeadersCount()1598     public int getHeadersCount() {
1599       return internalGetHeaders().getMap().size();
1600     }
1601     /**
1602      *
1603      *
1604      * <pre>
1605      * HTTP request headers.
1606      * This map contains the header field names and values.
1607      * Headers can be set when the
1608      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1609      * Repeated headers are not supported but a header value can contain commas.
1610      * Cloud Tasks sets some headers to default values:
1611      * * `User-Agent`: By default, this header is
1612      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1613      *   This header can be modified, but Cloud Tasks will append
1614      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1615      *   modified `User-Agent`.
1616      * If the task has a
1617      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1618      * sets the following headers:
1619      * * `Content-Type`: By default, the `Content-Type` header is set to
1620      *   `"application/octet-stream"`. The default can be overridden by explicitly
1621      *   setting `Content-Type` to a particular media type when the
1622      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1623      *   For example, `Content-Type` can be set to `"application/json"`.
1624      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1625      *   output only.   It cannot be changed.
1626      * The headers below cannot be set or overridden:
1627      * * `Host`
1628      * * `X-Google-*`
1629      * * `X-AppEngine-*`
1630      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1631      * such as headers containing information about the task; see
1632      * [request
1633      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1634      * These headers are set only when the task is dispatched, so they are not
1635      * visible when the task is returned in a Cloud Tasks response.
1636      * Although there is no specific limit for the maximum number of headers or
1637      * the size, there is a limit on the maximum size of the
1638      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1639      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1640      * documentation.
1641      * </pre>
1642      *
1643      * <code>map&lt;string, string&gt; headers = 4;</code>
1644      */
1645     @java.lang.Override
containsHeaders(java.lang.String key)1646     public boolean containsHeaders(java.lang.String key) {
1647       if (key == null) {
1648         throw new NullPointerException("map key");
1649       }
1650       return internalGetHeaders().getMap().containsKey(key);
1651     }
1652     /** Use {@link #getHeadersMap()} instead. */
1653     @java.lang.Override
1654     @java.lang.Deprecated
getHeaders()1655     public java.util.Map<java.lang.String, java.lang.String> getHeaders() {
1656       return getHeadersMap();
1657     }
1658     /**
1659      *
1660      *
1661      * <pre>
1662      * HTTP request headers.
1663      * This map contains the header field names and values.
1664      * Headers can be set when the
1665      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1666      * Repeated headers are not supported but a header value can contain commas.
1667      * Cloud Tasks sets some headers to default values:
1668      * * `User-Agent`: By default, this header is
1669      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1670      *   This header can be modified, but Cloud Tasks will append
1671      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1672      *   modified `User-Agent`.
1673      * If the task has a
1674      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1675      * sets the following headers:
1676      * * `Content-Type`: By default, the `Content-Type` header is set to
1677      *   `"application/octet-stream"`. The default can be overridden by explicitly
1678      *   setting `Content-Type` to a particular media type when the
1679      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1680      *   For example, `Content-Type` can be set to `"application/json"`.
1681      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1682      *   output only.   It cannot be changed.
1683      * The headers below cannot be set or overridden:
1684      * * `Host`
1685      * * `X-Google-*`
1686      * * `X-AppEngine-*`
1687      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1688      * such as headers containing information about the task; see
1689      * [request
1690      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1691      * These headers are set only when the task is dispatched, so they are not
1692      * visible when the task is returned in a Cloud Tasks response.
1693      * Although there is no specific limit for the maximum number of headers or
1694      * the size, there is a limit on the maximum size of the
1695      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1696      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1697      * documentation.
1698      * </pre>
1699      *
1700      * <code>map&lt;string, string&gt; headers = 4;</code>
1701      */
1702     @java.lang.Override
getHeadersMap()1703     public java.util.Map<java.lang.String, java.lang.String> getHeadersMap() {
1704       return internalGetHeaders().getMap();
1705     }
1706     /**
1707      *
1708      *
1709      * <pre>
1710      * HTTP request headers.
1711      * This map contains the header field names and values.
1712      * Headers can be set when the
1713      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1714      * Repeated headers are not supported but a header value can contain commas.
1715      * Cloud Tasks sets some headers to default values:
1716      * * `User-Agent`: By default, this header is
1717      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1718      *   This header can be modified, but Cloud Tasks will append
1719      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1720      *   modified `User-Agent`.
1721      * If the task has a
1722      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1723      * sets the following headers:
1724      * * `Content-Type`: By default, the `Content-Type` header is set to
1725      *   `"application/octet-stream"`. The default can be overridden by explicitly
1726      *   setting `Content-Type` to a particular media type when the
1727      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1728      *   For example, `Content-Type` can be set to `"application/json"`.
1729      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1730      *   output only.   It cannot be changed.
1731      * The headers below cannot be set or overridden:
1732      * * `Host`
1733      * * `X-Google-*`
1734      * * `X-AppEngine-*`
1735      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1736      * such as headers containing information about the task; see
1737      * [request
1738      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1739      * These headers are set only when the task is dispatched, so they are not
1740      * visible when the task is returned in a Cloud Tasks response.
1741      * Although there is no specific limit for the maximum number of headers or
1742      * the size, there is a limit on the maximum size of the
1743      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1744      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1745      * documentation.
1746      * </pre>
1747      *
1748      * <code>map&lt;string, string&gt; headers = 4;</code>
1749      */
1750     @java.lang.Override
getHeadersOrDefault( java.lang.String key, java.lang.String defaultValue)1751     public /* nullable */ java.lang.String getHeadersOrDefault(
1752         java.lang.String key,
1753         /* nullable */
1754         java.lang.String defaultValue) {
1755       if (key == null) {
1756         throw new NullPointerException("map key");
1757       }
1758       java.util.Map<java.lang.String, java.lang.String> map = internalGetHeaders().getMap();
1759       return map.containsKey(key) ? map.get(key) : defaultValue;
1760     }
1761     /**
1762      *
1763      *
1764      * <pre>
1765      * HTTP request headers.
1766      * This map contains the header field names and values.
1767      * Headers can be set when the
1768      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1769      * Repeated headers are not supported but a header value can contain commas.
1770      * Cloud Tasks sets some headers to default values:
1771      * * `User-Agent`: By default, this header is
1772      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1773      *   This header can be modified, but Cloud Tasks will append
1774      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1775      *   modified `User-Agent`.
1776      * If the task has a
1777      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1778      * sets the following headers:
1779      * * `Content-Type`: By default, the `Content-Type` header is set to
1780      *   `"application/octet-stream"`. The default can be overridden by explicitly
1781      *   setting `Content-Type` to a particular media type when the
1782      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1783      *   For example, `Content-Type` can be set to `"application/json"`.
1784      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1785      *   output only.   It cannot be changed.
1786      * The headers below cannot be set or overridden:
1787      * * `Host`
1788      * * `X-Google-*`
1789      * * `X-AppEngine-*`
1790      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1791      * such as headers containing information about the task; see
1792      * [request
1793      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1794      * These headers are set only when the task is dispatched, so they are not
1795      * visible when the task is returned in a Cloud Tasks response.
1796      * Although there is no specific limit for the maximum number of headers or
1797      * the size, there is a limit on the maximum size of the
1798      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1799      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1800      * documentation.
1801      * </pre>
1802      *
1803      * <code>map&lt;string, string&gt; headers = 4;</code>
1804      */
1805     @java.lang.Override
getHeadersOrThrow(java.lang.String key)1806     public java.lang.String getHeadersOrThrow(java.lang.String key) {
1807       if (key == null) {
1808         throw new NullPointerException("map key");
1809       }
1810       java.util.Map<java.lang.String, java.lang.String> map = internalGetHeaders().getMap();
1811       if (!map.containsKey(key)) {
1812         throw new java.lang.IllegalArgumentException();
1813       }
1814       return map.get(key);
1815     }
1816 
clearHeaders()1817     public Builder clearHeaders() {
1818       bitField0_ = (bitField0_ & ~0x00000008);
1819       internalGetMutableHeaders().getMutableMap().clear();
1820       return this;
1821     }
1822     /**
1823      *
1824      *
1825      * <pre>
1826      * HTTP request headers.
1827      * This map contains the header field names and values.
1828      * Headers can be set when the
1829      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1830      * Repeated headers are not supported but a header value can contain commas.
1831      * Cloud Tasks sets some headers to default values:
1832      * * `User-Agent`: By default, this header is
1833      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1834      *   This header can be modified, but Cloud Tasks will append
1835      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1836      *   modified `User-Agent`.
1837      * If the task has a
1838      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1839      * sets the following headers:
1840      * * `Content-Type`: By default, the `Content-Type` header is set to
1841      *   `"application/octet-stream"`. The default can be overridden by explicitly
1842      *   setting `Content-Type` to a particular media type when the
1843      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1844      *   For example, `Content-Type` can be set to `"application/json"`.
1845      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1846      *   output only.   It cannot be changed.
1847      * The headers below cannot be set or overridden:
1848      * * `Host`
1849      * * `X-Google-*`
1850      * * `X-AppEngine-*`
1851      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1852      * such as headers containing information about the task; see
1853      * [request
1854      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1855      * These headers are set only when the task is dispatched, so they are not
1856      * visible when the task is returned in a Cloud Tasks response.
1857      * Although there is no specific limit for the maximum number of headers or
1858      * the size, there is a limit on the maximum size of the
1859      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1860      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1861      * documentation.
1862      * </pre>
1863      *
1864      * <code>map&lt;string, string&gt; headers = 4;</code>
1865      */
removeHeaders(java.lang.String key)1866     public Builder removeHeaders(java.lang.String key) {
1867       if (key == null) {
1868         throw new NullPointerException("map key");
1869       }
1870       internalGetMutableHeaders().getMutableMap().remove(key);
1871       return this;
1872     }
1873     /** Use alternate mutation accessors instead. */
1874     @java.lang.Deprecated
getMutableHeaders()1875     public java.util.Map<java.lang.String, java.lang.String> getMutableHeaders() {
1876       bitField0_ |= 0x00000008;
1877       return internalGetMutableHeaders().getMutableMap();
1878     }
1879     /**
1880      *
1881      *
1882      * <pre>
1883      * HTTP request headers.
1884      * This map contains the header field names and values.
1885      * Headers can be set when the
1886      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1887      * Repeated headers are not supported but a header value can contain commas.
1888      * Cloud Tasks sets some headers to default values:
1889      * * `User-Agent`: By default, this header is
1890      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1891      *   This header can be modified, but Cloud Tasks will append
1892      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1893      *   modified `User-Agent`.
1894      * If the task has a
1895      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1896      * sets the following headers:
1897      * * `Content-Type`: By default, the `Content-Type` header is set to
1898      *   `"application/octet-stream"`. The default can be overridden by explicitly
1899      *   setting `Content-Type` to a particular media type when the
1900      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1901      *   For example, `Content-Type` can be set to `"application/json"`.
1902      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1903      *   output only.   It cannot be changed.
1904      * The headers below cannot be set or overridden:
1905      * * `Host`
1906      * * `X-Google-*`
1907      * * `X-AppEngine-*`
1908      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1909      * such as headers containing information about the task; see
1910      * [request
1911      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1912      * These headers are set only when the task is dispatched, so they are not
1913      * visible when the task is returned in a Cloud Tasks response.
1914      * Although there is no specific limit for the maximum number of headers or
1915      * the size, there is a limit on the maximum size of the
1916      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1917      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1918      * documentation.
1919      * </pre>
1920      *
1921      * <code>map&lt;string, string&gt; headers = 4;</code>
1922      */
putHeaders(java.lang.String key, java.lang.String value)1923     public Builder putHeaders(java.lang.String key, java.lang.String value) {
1924       if (key == null) {
1925         throw new NullPointerException("map key");
1926       }
1927       if (value == null) {
1928         throw new NullPointerException("map value");
1929       }
1930       internalGetMutableHeaders().getMutableMap().put(key, value);
1931       bitField0_ |= 0x00000008;
1932       return this;
1933     }
1934     /**
1935      *
1936      *
1937      * <pre>
1938      * HTTP request headers.
1939      * This map contains the header field names and values.
1940      * Headers can be set when the
1941      * [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1942      * Repeated headers are not supported but a header value can contain commas.
1943      * Cloud Tasks sets some headers to default values:
1944      * * `User-Agent`: By default, this header is
1945      *   `"AppEngine-Google; (+http://code.google.com/appengine)"`.
1946      *   This header can be modified, but Cloud Tasks will append
1947      *   `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
1948      *   modified `User-Agent`.
1949      * If the task has a
1950      * [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks
1951      * sets the following headers:
1952      * * `Content-Type`: By default, the `Content-Type` header is set to
1953      *   `"application/octet-stream"`. The default can be overridden by explicitly
1954      *   setting `Content-Type` to a particular media type when the
1955      *   [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
1956      *   For example, `Content-Type` can be set to `"application/json"`.
1957      * * `Content-Length`: This is computed by Cloud Tasks. This value is
1958      *   output only.   It cannot be changed.
1959      * The headers below cannot be set or overridden:
1960      * * `Host`
1961      * * `X-Google-*`
1962      * * `X-AppEngine-*`
1963      * In addition, Cloud Tasks sets some headers when the task is dispatched,
1964      * such as headers containing information about the task; see
1965      * [request
1966      * headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
1967      * These headers are set only when the task is dispatched, so they are not
1968      * visible when the task is returned in a Cloud Tasks response.
1969      * Although there is no specific limit for the maximum number of headers or
1970      * the size, there is a limit on the maximum size of the
1971      * [Task][google.cloud.tasks.v2beta3.Task]. For more information, see the
1972      * [CreateTask][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]
1973      * documentation.
1974      * </pre>
1975      *
1976      * <code>map&lt;string, string&gt; headers = 4;</code>
1977      */
putAllHeaders(java.util.Map<java.lang.String, java.lang.String> values)1978     public Builder putAllHeaders(java.util.Map<java.lang.String, java.lang.String> values) {
1979       internalGetMutableHeaders().getMutableMap().putAll(values);
1980       bitField0_ |= 0x00000008;
1981       return this;
1982     }
1983 
1984     private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;
1985     /**
1986      *
1987      *
1988      * <pre>
1989      * HTTP request body.
1990      * A request body is allowed only if the HTTP method is POST or PUT. It is
1991      * an error to set a body on a task with an incompatible
1992      * [HttpMethod][google.cloud.tasks.v2beta3.HttpMethod].
1993      * </pre>
1994      *
1995      * <code>bytes body = 5;</code>
1996      *
1997      * @return The body.
1998      */
1999     @java.lang.Override
getBody()2000     public com.google.protobuf.ByteString getBody() {
2001       return body_;
2002     }
2003     /**
2004      *
2005      *
2006      * <pre>
2007      * HTTP request body.
2008      * A request body is allowed only if the HTTP method is POST or PUT. It is
2009      * an error to set a body on a task with an incompatible
2010      * [HttpMethod][google.cloud.tasks.v2beta3.HttpMethod].
2011      * </pre>
2012      *
2013      * <code>bytes body = 5;</code>
2014      *
2015      * @param value The body to set.
2016      * @return This builder for chaining.
2017      */
setBody(com.google.protobuf.ByteString value)2018     public Builder setBody(com.google.protobuf.ByteString value) {
2019       if (value == null) {
2020         throw new NullPointerException();
2021       }
2022       body_ = value;
2023       bitField0_ |= 0x00000010;
2024       onChanged();
2025       return this;
2026     }
2027     /**
2028      *
2029      *
2030      * <pre>
2031      * HTTP request body.
2032      * A request body is allowed only if the HTTP method is POST or PUT. It is
2033      * an error to set a body on a task with an incompatible
2034      * [HttpMethod][google.cloud.tasks.v2beta3.HttpMethod].
2035      * </pre>
2036      *
2037      * <code>bytes body = 5;</code>
2038      *
2039      * @return This builder for chaining.
2040      */
clearBody()2041     public Builder clearBody() {
2042       bitField0_ = (bitField0_ & ~0x00000010);
2043       body_ = getDefaultInstance().getBody();
2044       onChanged();
2045       return this;
2046     }
2047 
2048     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2049     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
2050       return super.setUnknownFields(unknownFields);
2051     }
2052 
2053     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2054     public final Builder mergeUnknownFields(
2055         final com.google.protobuf.UnknownFieldSet unknownFields) {
2056       return super.mergeUnknownFields(unknownFields);
2057     }
2058 
2059     // @@protoc_insertion_point(builder_scope:google.cloud.tasks.v2beta3.AppEngineHttpRequest)
2060   }
2061 
2062   // @@protoc_insertion_point(class_scope:google.cloud.tasks.v2beta3.AppEngineHttpRequest)
2063   private static final com.google.cloud.tasks.v2beta3.AppEngineHttpRequest DEFAULT_INSTANCE;
2064 
2065   static {
2066     DEFAULT_INSTANCE = new com.google.cloud.tasks.v2beta3.AppEngineHttpRequest();
2067   }
2068 
getDefaultInstance()2069   public static com.google.cloud.tasks.v2beta3.AppEngineHttpRequest getDefaultInstance() {
2070     return DEFAULT_INSTANCE;
2071   }
2072 
2073   private static final com.google.protobuf.Parser<AppEngineHttpRequest> PARSER =
2074       new com.google.protobuf.AbstractParser<AppEngineHttpRequest>() {
2075         @java.lang.Override
2076         public AppEngineHttpRequest parsePartialFrom(
2077             com.google.protobuf.CodedInputStream input,
2078             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2079             throws com.google.protobuf.InvalidProtocolBufferException {
2080           Builder builder = newBuilder();
2081           try {
2082             builder.mergeFrom(input, extensionRegistry);
2083           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2084             throw e.setUnfinishedMessage(builder.buildPartial());
2085           } catch (com.google.protobuf.UninitializedMessageException e) {
2086             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
2087           } catch (java.io.IOException e) {
2088             throw new com.google.protobuf.InvalidProtocolBufferException(e)
2089                 .setUnfinishedMessage(builder.buildPartial());
2090           }
2091           return builder.buildPartial();
2092         }
2093       };
2094 
parser()2095   public static com.google.protobuf.Parser<AppEngineHttpRequest> parser() {
2096     return PARSER;
2097   }
2098 
2099   @java.lang.Override
getParserForType()2100   public com.google.protobuf.Parser<AppEngineHttpRequest> getParserForType() {
2101     return PARSER;
2102   }
2103 
2104   @java.lang.Override
getDefaultInstanceForType()2105   public com.google.cloud.tasks.v2beta3.AppEngineHttpRequest getDefaultInstanceForType() {
2106     return DEFAULT_INSTANCE;
2107   }
2108 }
2109