Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html
new file mode 100644
index 0000000..defd988
--- /dev/null
+++ b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html
@@ -0,0 +1,3879 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="cloudtasks_v2beta3.html">Cloud Tasks API</a> . <a href="cloudtasks_v2beta3.projects.html">projects</a> . <a href="cloudtasks_v2beta3.projects.locations.html">locations</a> . <a href="cloudtasks_v2beta3.projects.locations.queues.html">queues</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="cloudtasks_v2beta3.projects.locations.queues.tasks.html">tasks()</a></code>
+</p>
+<p class="firstline">Returns the tasks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a queue.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a queue.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a queue.</p>
+<p class="toc_element">
+  <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the access control policy for a Queue.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
+<p class="firstline">Lists queues.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a queue.</p>
+<p class="toc_element">
+  <code><a href="#pause">pause(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Pauses the queue.</p>
+<p class="toc_element">
+  <code><a href="#purge">purge(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Purges a queue by deleting all of its tasks.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Resume a queue.</p>
+<p class="toc_element">
+  <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the access control policy for a Queue. Replaces any existing</p>
+<p class="toc_element">
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns permissions that a caller has on a Queue.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Creates a queue.
+
+Queues created with this method allow tasks to live for a maximum of 31
+days. After a task is 31 days old, the task will be deleted regardless of whether
+it was dispatched or not.
+
+WARNING: Using this method may have unintended side effects if you are
+using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
+Read
+[Overview of Queue Management and
+queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
+this method.
+
+Args:
+  parent: string, Required.
+
+The location name in which the queue will be created.
+For example: `projects/PROJECT_ID/locations/LOCATION_ID`
+
+The list of allowed locations can be obtained by calling Cloud
+Tasks' implementation of
+ListLocations. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A queue is a container of related tasks. Queues are configured to manage
+    # how those tasks are dispatched. Configurable properties include rate limits,
+    # retry options, queue types, and others.
+  "name": "A String", # Caller-specified and required in CreateQueue,
+      # after which it becomes output only.
+      # 
+      # The queue name.
+      # 
+      # The queue name must have the following format:
+      # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+      # 
+      # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+      #    hyphens (-), colons (:), or periods (.).
+      #    For more information, see
+      #    [Identifying
+      #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+      # * `LOCATION_ID` is the canonical ID for the queue's location.
+      #    The list of available locations can be obtained by calling
+      #    ListLocations.
+      #    For more information, see https://cloud.google.com/about/locations/.
+      # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+      #   hyphens (-). The maximum length is 100 characters.
+  "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+      # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+      # field is unset, then no logs are written.
+      # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+    "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+        # This field may contain any value between 0.0 and 1.0, inclusive.
+        # 0.0 is the default and means that no operations are logged.
+  },
+  "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+      # 
+      # rate_limits and retry_config are
+      # related because they both control task attempts. However they control task
+      # attempts in different ways:
+      # 
+      # * rate_limits controls the total rate of
+      #   dispatches from a queue (i.e. all traffic dispatched from the
+      #   queue, regardless of whether the dispatch is from a first
+      #   attempt or a retry).
+      # * retry_config controls what happens to
+      #   particular a task after its first attempt fails. That is,
+      #   retry_config controls task retries (the
+      #   second attempt, third attempt, etc).
+      # 
+      # The queue's actual dispatch rate is the result of:
+      # 
+      # * Number of tasks in the queue
+      # * User-specified throttling: rate_limits,
+      #   retry_config, and the
+      #   queue's state.
+      # * System throttling due to `429` (Too Many Requests) or `503` (Service
+      #   Unavailable) responses from the worker, high error rates, or to smooth
+      #   sudden large traffic spikes.
+      #
+      # This message determines the maximum rate that tasks can be dispatched by a
+      # queue, regardless of whether the dispatch is a first task attempt or a retry.
+      #
+      # Note: The debugging command, RunTask, will run a task
+      # even if the queue has reached its RateLimits.
+    "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+        # to be dispatched for this queue. After this threshold has been
+        # reached, Cloud Tasks stops dispatching tasks until the number of
+        # concurrent requests decreases.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # The maximum allowed value is 5,000.
+        #
+        #
+        # This field has the same meaning as
+        # [max_concurrent_requests in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+    "maxBurstSize": 42, # Output only. The max burst size.
+        #
+        # Max burst size limits how fast tasks in queue are processed when
+        # many tasks are in the queue and the rate is high. This field
+        # allows the queue to have a high rate so processing starts shortly
+        # after a task is enqueued, but still limits resource usage when
+        # many tasks are enqueued in a short period of time.
+        #
+        # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+        # algorithm is used to control the rate of task dispatches. Each
+        # queue has a token bucket that holds tokens, up to the maximum
+        # specified by `max_burst_size`. Each time a task is dispatched, a
+        # token is removed from the bucket. Tasks will be dispatched until
+        # the queue's bucket runs out of tokens. The bucket will be
+        # continuously refilled with new tokens based on
+        # max_dispatches_per_second.
+        #
+        # Cloud Tasks will pick the value of `max_burst_size` based on the
+        # value of
+        # max_dispatches_per_second.
+        #
+        # For App Engine queues that were created or updated using
+        # `queue.yaml/xml`, `max_burst_size` is equal to
+        # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+        # Since `max_burst_size` is output only, if
+        # UpdateQueue is called on a queue
+        # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+        # on the value of
+        # max_dispatches_per_second,
+        # regardless of whether
+        # max_dispatches_per_second
+        # is updated.
+    "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        # * For App Engine queues, the maximum allowed value
+        #   is 500.
+        #
+        #
+        # This field has the same meaning as
+        # [rate in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+  },
+  "state": "A String", # Output only. The state of the queue.
+      # 
+      # `state` can only be changed by called
+      # PauseQueue,
+      # ResumeQueue, or uploading
+      # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+      # UpdateQueue cannot be used to change `state`.
+  "purgeTime": "A String", # Output only. The last time this queue was purged.
+      # 
+      # All tasks that were created before this time
+      # were purged.
+      # 
+      # A queue can be purged using PurgeQueue, the
+      # [App Engine Task Queue SDK, or the Cloud
+      # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+      # 
+      # Purge time will be truncated to the nearest microsecond. Purge
+      # time will be unset if the queue has never been purged.
+  "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+      # App Engine tasks in this queue.
+      # Http tasks are not affected by this proto.
+      #
+      # The task will be delivered to the App Engine application hostname
+      # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+      # The documentation for AppEngineHttpRequest explains how the
+      # task's host URL is constructed.
+      #
+      # Using AppEngineHttpQueue requires
+      # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+      # Google IAM permission for the project
+      # and the following scope:
+      #
+      # `https://www.googleapis.com/auth/cloud-platform`
+    "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+        # task-level app_engine_routing.
+        #
+        # If set, `app_engine_routing_override` is used for all tasks in
+        # the queue, no matter what the setting is for the
+        # task-level app_engine_routing.
+        #
+        # Defines routing characteristics specific to App Engine - service, version,
+        # and instance.
+        #
+        # For more information about services, versions, and instances see
+        # [An Overview of App
+        # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+        # [Microservices Architecture on Google App
+        # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+        # [App Engine Standard request
+        # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+        # and [App Engine Flex request
+        # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+      "instance": "A String", # App instance.
+          #
+          # By default, the task is sent to an instance which is available when
+          # the task is attempted.
+          #
+          # Requests can only be sent to a specific instance if
+          # [manual scaling is used in App Engine
+          # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+          # App Engine Flex does not support instances. For more information, see
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+      "host": "A String", # Output only. The host that the task is sent to.
+          #
+          # The host is constructed from the domain name of the app associated with
+          # the queue's project ID (for example <app-id>.appspot.com), and the
+          # service, version,
+          # and instance. Tasks which were created using
+          # the App Engine SDK might have a custom domain name.
+          #
+          # For more information, see
+          # [How Requests are
+          # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+      "version": "A String", # App version.
+          #
+          # By default, the task is sent to the version which is the default
+          # version when the task is attempted.
+          #
+          # For some queues or tasks which were created using the App Engine
+          # Task Queue API, host is not parsable
+          # into service,
+          # version, and
+          # instance. For example, some tasks
+          # which were created using the App Engine SDK use a custom domain
+          # name; custom domains are not parsed by Cloud Tasks. If
+          # host is not parsable, then
+          # service,
+          # version, and
+          # instance are the empty string.
+      "service": "A String", # App service.
+          #
+          # By default, the task is sent to the service which is the default
+          # service when the task is attempted.
+          #
+          # For some queues or tasks which were created using the App Engine
+          # Task Queue API, host is not parsable
+          # into service,
+          # version, and
+          # instance. For example, some tasks
+          # which were created using the App Engine SDK use a custom domain
+          # name; custom domains are not parsed by Cloud Tasks. If
+          # host is not parsable, then
+          # service,
+          # version, and
+          # instance are the empty string.
+    },
+  },
+  "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+      # 
+      # * For tasks created using Cloud Tasks: the queue-level retry settings
+      #   apply to all tasks in the queue that were created using Cloud Tasks.
+      #   Retry settings cannot be set on individual tasks.
+      # * For tasks created using the App Engine SDK: the queue-level retry
+      #   settings apply to all tasks in the queue which do not have retry settings
+      #   explicitly set on the task and were created by the App Engine SDK. See
+      #   [App Engine
+      #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+      #
+      # These settings determine when a failed task attempt is retried.
+    "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+        # retrying a failed task, measured from when the task was first
+        # attempted. Once `max_retry_duration` time has passed *and* the
+        # task has been attempted max_attempts
+        # times, no further attempts will be made and the task will be
+        # deleted.
+        #
+        # If zero, then the task age is unlimited.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `max_retry_duration` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [task_age_limit in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+        #
+        # A task's retry interval starts at
+        # min_backoff, then doubles
+        # `max_doublings` times, then increases linearly, and finally
+        # retries retries at intervals of
+        # max_backoff up to
+        # max_attempts times.
+        #
+        # For example, if min_backoff is 10s,
+        # max_backoff is 300s, and
+        # `max_doublings` is 3, then the a task will first be retried in
+        # 10s. The retry interval will double three times, and then
+        # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+        # intervals of max_backoff until the
+        # task has been attempted max_attempts
+        # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+        # 240s, 300s, 300s, ....
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # This field has the same meaning as
+        # [max_doublings in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxAttempts": 42, # Number of attempts per task.
+        #
+        # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+        # first attempt fails, then there will be `max_attempts - 1` retries). Must
+        # be >= -1.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        # -1 indicates unlimited attempts.
+        #
+        # This field has the same meaning as
+        # [task_retry_limit in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxBackoff": "A String", # A task will be scheduled for retry between
+        # min_backoff and
+        # max_backoff duration after it fails,
+        # if the queue's RetryConfig specifies that the task should be
+        # retried.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `max_backoff` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [max_backoff_seconds in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "minBackoff": "A String", # A task will be scheduled for retry between
+        # min_backoff and
+        # max_backoff duration after it fails,
+        # if the queue's RetryConfig specifies that the task should be
+        # retried.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `min_backoff` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [min_backoff_seconds in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a queue.
+
+This command will delete the queue even if it has tasks in it.
+
+Note: If you delete a queue, a queue with the same name can't be created
+for 7 days.
+
+WARNING: Using this method may have unintended side effects if you are
+using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
+Read
+[Overview of Queue Management and
+queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
+this method.
+
+Args:
+  name: string, Required.
+
+The queue name. For example:
+`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a queue.
+
+Args:
+  name: string, Required.
+
+The resource name of the queue. For example:
+`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
+  <pre>Gets the access control policy for a Queue.
+Returns an empty policy if the resource exists and does not have a policy
+set.
+
+Authorization requires the following
+[Google IAM](https://cloud.google.com/iam) permission on the specified
+resource parent:
+
+* `cloudtasks.queues.getIamPolicy`
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested.
+See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `GetIamPolicy` method.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Defines an Identity and Access Management (IAM) policy. It is used to
+      # specify access control policies for Cloud Platform resources.
+      #
+      #
+      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
+      # `members` to a `role`, where the members can be user accounts, Google groups,
+      # Google domains, and service accounts. A `role` is a named list of permissions
+      # defined by IAM.
+      #
+      # **JSON Example**
+      #
+      #     {
+      #       "bindings": [
+      #         {
+      #           "role": "roles/owner",
+      #           "members": [
+      #             "user:mike@example.com",
+      #             "group:admins@example.com",
+      #             "domain:google.com",
+      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
+      #           ]
+      #         },
+      #         {
+      #           "role": "roles/viewer",
+      #           "members": ["user:sean@example.com"]
+      #         }
+      #       ]
+      #     }
+      #
+      # **YAML Example**
+      #
+      #     bindings:
+      #     - members:
+      #       - user:mike@example.com
+      #       - group:admins@example.com
+      #       - domain:google.com
+      #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
+      #       role: roles/owner
+      #     - members:
+      #       - user:sean@example.com
+      #       role: roles/viewer
+      #
+      #
+      # For a description of IAM and its features, see the
+      # [IAM developer's guide](https://cloud.google.com/iam/docs).
+    "bindings": [ # Associates a list of `members` to a `role`.
+        # `bindings` with no members will result in an error.
+      { # Associates `members` with a `role`.
+        "role": "A String", # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+        "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
+            # NOTE: An unsatisfied condition will not allow user access via current
+            # binding. Different bindings, including their conditions, are examined
+            # independently.
+            #
+            #     title: "User account presence"
+            #     description: "Determines whether the request has a user account"
+            #     expression: "size(request.user) > 0"
+          "description": "A String", # An optional description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+          "expression": "A String", # Textual representation of an expression in
+              # Common Expression Language syntax.
+              #
+              # The application context of the containing message determines which
+              # well-known feature set of CEL is supported.
+          "location": "A String", # An optional string indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          "title": "A String", # An optional title for the expression, i.e. a short string describing
+              # its purpose. This can be used e.g. in UIs which allow to enter the
+              # expression.
+        },
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+            # `members` can have the following values:
+            #
+            # * `allUsers`: A special identifier that represents anyone who is
+            #    on the internet; with or without a Google account.
+            #
+            # * `allAuthenticatedUsers`: A special identifier that represents anyone
+            #    who is authenticated with a Google account or a service account.
+            #
+            # * `user:{emailid}`: An email address that represents a specific Google
+            #    account. For example, `alice@gmail.com` .
+            #
+            #
+            # * `serviceAccount:{emailid}`: An email address that represents a service
+            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
+            #
+            # * `group:{emailid}`: An email address that represents a Google group.
+            #    For example, `admins@example.com`.
+            #
+            #
+            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+            #    users of that domain. For example, `google.com` or `example.com`.
+            #
+          "A String",
+        ],
+      },
+    ],
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
+        # policy is overwritten blindly.
+    "version": 42, # Deprecated.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
+  <pre>Lists queues.
+
+Queues are returned in lexicographical order.
+
+Args:
+  parent: string, Required.
+
+The location name.
+For example: `projects/PROJECT_ID/locations/LOCATION_ID` (required)
+  pageToken: string, A token identifying the page of results to return.
+
+To request the first page results, page_token must be empty. To
+request the next page of results, page_token must be the value of
+next_page_token returned
+from the previous call to ListQueues
+method. It is an error to switch the value of the
+filter while iterating through pages.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Requested page size.
+
+The maximum page size is 9800. If unspecified, the page size will
+be the maximum. Fewer queues than requested might be returned,
+even if more queues exist; use the
+next_page_token in the
+response to determine if more queues exist.
+  filter: string, `filter` can be used to specify a subset of queues. Any Queue
+field can be used as a filter and several operators as supported.
+For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as
+described in
+[Stackdriver's Advanced Logs
+Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
+
+Sample filter "state: PAUSED".
+
+Note that using filters might cause fewer queues than the
+requested page_size to be returned.
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListQueues.
+    "nextPageToken": "A String", # A token to retrieve next page of results.
+        #
+        # To return the next page of results, call
+        # ListQueues with this value as the
+        # page_token.
+        #
+        # If the next_page_token is empty, there are no more results.
+        #
+        # The page token is valid for only 2 hours.
+    "queues": [ # The list of queues.
+      { # A queue is a container of related tasks. Queues are configured to manage
+          # how those tasks are dispatched. Configurable properties include rate limits,
+          # retry options, queue types, and others.
+        "name": "A String", # Caller-specified and required in CreateQueue,
+            # after which it becomes output only.
+            #
+            # The queue name.
+            #
+            # The queue name must have the following format:
+            # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+            #
+            # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+            #    hyphens (-), colons (:), or periods (.).
+            #    For more information, see
+            #    [Identifying
+            #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+            # * `LOCATION_ID` is the canonical ID for the queue's location.
+            #    The list of available locations can be obtained by calling
+            #    ListLocations.
+            #    For more information, see https://cloud.google.com/about/locations/.
+            # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+            #   hyphens (-). The maximum length is 100 characters.
+        "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+            # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+            # field is unset, then no logs are written.
+            # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+              # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+              # This field may contain any value between 0.0 and 1.0, inclusive.
+              # 0.0 is the default and means that no operations are logged.
+        },
+        "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+            #
+            # rate_limits and retry_config are
+            # related because they both control task attempts. However they control task
+            # attempts in different ways:
+            #
+            # * rate_limits controls the total rate of
+            #   dispatches from a queue (i.e. all traffic dispatched from the
+            #   queue, regardless of whether the dispatch is from a first
+            #   attempt or a retry).
+            # * retry_config controls what happens to
+            #   particular a task after its first attempt fails. That is,
+            #   retry_config controls task retries (the
+            #   second attempt, third attempt, etc).
+            #
+            # The queue's actual dispatch rate is the result of:
+            #
+            # * Number of tasks in the queue
+            # * User-specified throttling: rate_limits,
+            #   retry_config, and the
+            #   queue's state.
+            # * System throttling due to `429` (Too Many Requests) or `503` (Service
+            #   Unavailable) responses from the worker, high error rates, or to smooth
+            #   sudden large traffic spikes.
+            #
+            # This message determines the maximum rate that tasks can be dispatched by a
+            # queue, regardless of whether the dispatch is a first task attempt or a retry.
+            #
+            # Note: The debugging command, RunTask, will run a task
+            # even if the queue has reached its RateLimits.
+          "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+              # to be dispatched for this queue. After this threshold has been
+              # reached, Cloud Tasks stops dispatching tasks until the number of
+              # concurrent requests decreases.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              #
+              # The maximum allowed value is 5,000.
+              #
+              #
+              # This field has the same meaning as
+              # [max_concurrent_requests in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+          "maxBurstSize": 42, # Output only. The max burst size.
+              #
+              # Max burst size limits how fast tasks in queue are processed when
+              # many tasks are in the queue and the rate is high. This field
+              # allows the queue to have a high rate so processing starts shortly
+              # after a task is enqueued, but still limits resource usage when
+              # many tasks are enqueued in a short period of time.
+              #
+              # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+              # algorithm is used to control the rate of task dispatches. Each
+              # queue has a token bucket that holds tokens, up to the maximum
+              # specified by `max_burst_size`. Each time a task is dispatched, a
+              # token is removed from the bucket. Tasks will be dispatched until
+              # the queue's bucket runs out of tokens. The bucket will be
+              # continuously refilled with new tokens based on
+              # max_dispatches_per_second.
+              #
+              # Cloud Tasks will pick the value of `max_burst_size` based on the
+              # value of
+              # max_dispatches_per_second.
+              #
+              # For App Engine queues that were created or updated using
+              # `queue.yaml/xml`, `max_burst_size` is equal to
+              # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+              # Since `max_burst_size` is output only, if
+              # UpdateQueue is called on a queue
+              # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+              # on the value of
+              # max_dispatches_per_second,
+              # regardless of whether
+              # max_dispatches_per_second
+              # is updated.
+          "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              # * For App Engine queues, the maximum allowed value
+              #   is 500.
+              #
+              #
+              # This field has the same meaning as
+              # [rate in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+        },
+        "state": "A String", # Output only. The state of the queue.
+            #
+            # `state` can only be changed by called
+            # PauseQueue,
+            # ResumeQueue, or uploading
+            # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+            # UpdateQueue cannot be used to change `state`.
+        "purgeTime": "A String", # Output only. The last time this queue was purged.
+            #
+            # All tasks that were created before this time
+            # were purged.
+            #
+            # A queue can be purged using PurgeQueue, the
+            # [App Engine Task Queue SDK, or the Cloud
+            # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+            #
+            # Purge time will be truncated to the nearest microsecond. Purge
+            # time will be unset if the queue has never been purged.
+        "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+            # App Engine tasks in this queue.
+            # Http tasks are not affected by this proto.
+            #
+            # The task will be delivered to the App Engine application hostname
+            # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+            # The documentation for AppEngineHttpRequest explains how the
+            # task's host URL is constructed.
+            #
+            # Using AppEngineHttpQueue requires
+            # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+            # Google IAM permission for the project
+            # and the following scope:
+            #
+            # `https://www.googleapis.com/auth/cloud-platform`
+          "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+              # task-level app_engine_routing.
+              #
+              # If set, `app_engine_routing_override` is used for all tasks in
+              # the queue, no matter what the setting is for the
+              # task-level app_engine_routing.
+              #
+              # Defines routing characteristics specific to App Engine - service, version,
+              # and instance.
+              #
+              # For more information about services, versions, and instances see
+              # [An Overview of App
+              # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+              # [Microservices Architecture on Google App
+              # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+              # [App Engine Standard request
+              # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+              # and [App Engine Flex request
+              # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+            "instance": "A String", # App instance.
+                #
+                # By default, the task is sent to an instance which is available when
+                # the task is attempted.
+                #
+                # Requests can only be sent to a specific instance if
+                # [manual scaling is used in App Engine
+                # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+                # App Engine Flex does not support instances. For more information, see
+                # [App Engine Standard request
+                # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+                # and [App Engine Flex request
+                # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+            "host": "A String", # Output only. The host that the task is sent to.
+                #
+                # The host is constructed from the domain name of the app associated with
+                # the queue's project ID (for example <app-id>.appspot.com), and the
+                # service, version,
+                # and instance. Tasks which were created using
+                # the App Engine SDK might have a custom domain name.
+                #
+                # For more information, see
+                # [How Requests are
+                # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+            "version": "A String", # App version.
+                #
+                # By default, the task is sent to the version which is the default
+                # version when the task is attempted.
+                #
+                # For some queues or tasks which were created using the App Engine
+                # Task Queue API, host is not parsable
+                # into service,
+                # version, and
+                # instance. For example, some tasks
+                # which were created using the App Engine SDK use a custom domain
+                # name; custom domains are not parsed by Cloud Tasks. If
+                # host is not parsable, then
+                # service,
+                # version, and
+                # instance are the empty string.
+            "service": "A String", # App service.
+                #
+                # By default, the task is sent to the service which is the default
+                # service when the task is attempted.
+                #
+                # For some queues or tasks which were created using the App Engine
+                # Task Queue API, host is not parsable
+                # into service,
+                # version, and
+                # instance. For example, some tasks
+                # which were created using the App Engine SDK use a custom domain
+                # name; custom domains are not parsed by Cloud Tasks. If
+                # host is not parsable, then
+                # service,
+                # version, and
+                # instance are the empty string.
+          },
+        },
+        "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+            #
+            # * For tasks created using Cloud Tasks: the queue-level retry settings
+            #   apply to all tasks in the queue that were created using Cloud Tasks.
+            #   Retry settings cannot be set on individual tasks.
+            # * For tasks created using the App Engine SDK: the queue-level retry
+            #   settings apply to all tasks in the queue which do not have retry settings
+            #   explicitly set on the task and were created by the App Engine SDK. See
+            #   [App Engine
+            #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+            #
+            # These settings determine when a failed task attempt is retried.
+          "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+              # retrying a failed task, measured from when the task was first
+              # attempted. Once `max_retry_duration` time has passed *and* the
+              # task has been attempted max_attempts
+              # times, no further attempts will be made and the task will be
+              # deleted.
+              #
+              # If zero, then the task age is unlimited.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              #
+              # `max_retry_duration` will be truncated to the nearest second.
+              #
+              # This field has the same meaning as
+              # [task_age_limit in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+          "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+              #
+              # A task's retry interval starts at
+              # min_backoff, then doubles
+              # `max_doublings` times, then increases linearly, and finally
+              # retries retries at intervals of
+              # max_backoff up to
+              # max_attempts times.
+              #
+              # For example, if min_backoff is 10s,
+              # max_backoff is 300s, and
+              # `max_doublings` is 3, then the a task will first be retried in
+              # 10s. The retry interval will double three times, and then
+              # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+              # intervals of max_backoff until the
+              # task has been attempted max_attempts
+              # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+              # 240s, 300s, 300s, ....
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              #
+              # This field has the same meaning as
+              # [max_doublings in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+          "maxAttempts": 42, # Number of attempts per task.
+              #
+              # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+              # first attempt fails, then there will be `max_attempts - 1` retries). Must
+              # be >= -1.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              # -1 indicates unlimited attempts.
+              #
+              # This field has the same meaning as
+              # [task_retry_limit in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+          "maxBackoff": "A String", # A task will be scheduled for retry between
+              # min_backoff and
+              # max_backoff duration after it fails,
+              # if the queue's RetryConfig specifies that the task should be
+              # retried.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              #
+              # `max_backoff` will be truncated to the nearest second.
+              #
+              # This field has the same meaning as
+              # [max_backoff_seconds in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+          "minBackoff": "A String", # A task will be scheduled for retry between
+              # min_backoff and
+              # max_backoff duration after it fails,
+              # if the queue's RetryConfig specifies that the task should be
+              # retried.
+              #
+              # If unspecified when the queue is created, Cloud Tasks will pick the
+              # default.
+              #
+              #
+              # `min_backoff` will be truncated to the nearest second.
+              #
+              # This field has the same meaning as
+              # [min_backoff_seconds in
+              # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a queue.
+
+This method creates the queue if it does not exist and updates
+the queue if it does exist.
+
+Queues created with this method allow tasks to live for a maximum of 31
+days. After a task is 31 days old, the task will be deleted regardless of whether
+it was dispatched or not.
+
+WARNING: Using this method may have unintended side effects if you are
+using an App Engine `queue.yaml` or `queue.xml` file to manage your queues.
+Read
+[Overview of Queue Management and
+queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using
+this method.
+
+Args:
+  name: string, Caller-specified and required in CreateQueue,
+after which it becomes output only.
+
+The queue name.
+
+The queue name must have the following format:
+`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+
+* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+   hyphens (-), colons (:), or periods (.).
+   For more information, see
+   [Identifying
+   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+* `LOCATION_ID` is the canonical ID for the queue's location.
+   The list of available locations can be obtained by calling
+   ListLocations.
+   For more information, see https://cloud.google.com/about/locations/.
+* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+  hyphens (-). The maximum length is 100 characters. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A queue is a container of related tasks. Queues are configured to manage
+    # how those tasks are dispatched. Configurable properties include rate limits,
+    # retry options, queue types, and others.
+  "name": "A String", # Caller-specified and required in CreateQueue,
+      # after which it becomes output only.
+      # 
+      # The queue name.
+      # 
+      # The queue name must have the following format:
+      # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+      # 
+      # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+      #    hyphens (-), colons (:), or periods (.).
+      #    For more information, see
+      #    [Identifying
+      #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+      # * `LOCATION_ID` is the canonical ID for the queue's location.
+      #    The list of available locations can be obtained by calling
+      #    ListLocations.
+      #    For more information, see https://cloud.google.com/about/locations/.
+      # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+      #   hyphens (-). The maximum length is 100 characters.
+  "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+      # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+      # field is unset, then no logs are written.
+      # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+    "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+        # This field may contain any value between 0.0 and 1.0, inclusive.
+        # 0.0 is the default and means that no operations are logged.
+  },
+  "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+      # 
+      # rate_limits and retry_config are
+      # related because they both control task attempts. However they control task
+      # attempts in different ways:
+      # 
+      # * rate_limits controls the total rate of
+      #   dispatches from a queue (i.e. all traffic dispatched from the
+      #   queue, regardless of whether the dispatch is from a first
+      #   attempt or a retry).
+      # * retry_config controls what happens to
+      #   particular a task after its first attempt fails. That is,
+      #   retry_config controls task retries (the
+      #   second attempt, third attempt, etc).
+      # 
+      # The queue's actual dispatch rate is the result of:
+      # 
+      # * Number of tasks in the queue
+      # * User-specified throttling: rate_limits,
+      #   retry_config, and the
+      #   queue's state.
+      # * System throttling due to `429` (Too Many Requests) or `503` (Service
+      #   Unavailable) responses from the worker, high error rates, or to smooth
+      #   sudden large traffic spikes.
+      #
+      # This message determines the maximum rate that tasks can be dispatched by a
+      # queue, regardless of whether the dispatch is a first task attempt or a retry.
+      #
+      # Note: The debugging command, RunTask, will run a task
+      # even if the queue has reached its RateLimits.
+    "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+        # to be dispatched for this queue. After this threshold has been
+        # reached, Cloud Tasks stops dispatching tasks until the number of
+        # concurrent requests decreases.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # The maximum allowed value is 5,000.
+        #
+        #
+        # This field has the same meaning as
+        # [max_concurrent_requests in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+    "maxBurstSize": 42, # Output only. The max burst size.
+        #
+        # Max burst size limits how fast tasks in queue are processed when
+        # many tasks are in the queue and the rate is high. This field
+        # allows the queue to have a high rate so processing starts shortly
+        # after a task is enqueued, but still limits resource usage when
+        # many tasks are enqueued in a short period of time.
+        #
+        # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+        # algorithm is used to control the rate of task dispatches. Each
+        # queue has a token bucket that holds tokens, up to the maximum
+        # specified by `max_burst_size`. Each time a task is dispatched, a
+        # token is removed from the bucket. Tasks will be dispatched until
+        # the queue's bucket runs out of tokens. The bucket will be
+        # continuously refilled with new tokens based on
+        # max_dispatches_per_second.
+        #
+        # Cloud Tasks will pick the value of `max_burst_size` based on the
+        # value of
+        # max_dispatches_per_second.
+        #
+        # For App Engine queues that were created or updated using
+        # `queue.yaml/xml`, `max_burst_size` is equal to
+        # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+        # Since `max_burst_size` is output only, if
+        # UpdateQueue is called on a queue
+        # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+        # on the value of
+        # max_dispatches_per_second,
+        # regardless of whether
+        # max_dispatches_per_second
+        # is updated.
+    "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        # * For App Engine queues, the maximum allowed value
+        #   is 500.
+        #
+        #
+        # This field has the same meaning as
+        # [rate in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+  },
+  "state": "A String", # Output only. The state of the queue.
+      # 
+      # `state` can only be changed by called
+      # PauseQueue,
+      # ResumeQueue, or uploading
+      # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+      # UpdateQueue cannot be used to change `state`.
+  "purgeTime": "A String", # Output only. The last time this queue was purged.
+      # 
+      # All tasks that were created before this time
+      # were purged.
+      # 
+      # A queue can be purged using PurgeQueue, the
+      # [App Engine Task Queue SDK, or the Cloud
+      # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+      # 
+      # Purge time will be truncated to the nearest microsecond. Purge
+      # time will be unset if the queue has never been purged.
+  "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+      # App Engine tasks in this queue.
+      # Http tasks are not affected by this proto.
+      #
+      # The task will be delivered to the App Engine application hostname
+      # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+      # The documentation for AppEngineHttpRequest explains how the
+      # task's host URL is constructed.
+      #
+      # Using AppEngineHttpQueue requires
+      # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+      # Google IAM permission for the project
+      # and the following scope:
+      #
+      # `https://www.googleapis.com/auth/cloud-platform`
+    "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+        # task-level app_engine_routing.
+        #
+        # If set, `app_engine_routing_override` is used for all tasks in
+        # the queue, no matter what the setting is for the
+        # task-level app_engine_routing.
+        #
+        # Defines routing characteristics specific to App Engine - service, version,
+        # and instance.
+        #
+        # For more information about services, versions, and instances see
+        # [An Overview of App
+        # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+        # [Microservices Architecture on Google App
+        # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+        # [App Engine Standard request
+        # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+        # and [App Engine Flex request
+        # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+      "instance": "A String", # App instance.
+          #
+          # By default, the task is sent to an instance which is available when
+          # the task is attempted.
+          #
+          # Requests can only be sent to a specific instance if
+          # [manual scaling is used in App Engine
+          # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+          # App Engine Flex does not support instances. For more information, see
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+      "host": "A String", # Output only. The host that the task is sent to.
+          #
+          # The host is constructed from the domain name of the app associated with
+          # the queue's project ID (for example <app-id>.appspot.com), and the
+          # service, version,
+          # and instance. Tasks which were created using
+          # the App Engine SDK might have a custom domain name.
+          #
+          # For more information, see
+          # [How Requests are
+          # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+      "version": "A String", # App version.
+          #
+          # By default, the task is sent to the version which is the default
+          # version when the task is attempted.
+          #
+          # For some queues or tasks which were created using the App Engine
+          # Task Queue API, host is not parsable
+          # into service,
+          # version, and
+          # instance. For example, some tasks
+          # which were created using the App Engine SDK use a custom domain
+          # name; custom domains are not parsed by Cloud Tasks. If
+          # host is not parsable, then
+          # service,
+          # version, and
+          # instance are the empty string.
+      "service": "A String", # App service.
+          #
+          # By default, the task is sent to the service which is the default
+          # service when the task is attempted.
+          #
+          # For some queues or tasks which were created using the App Engine
+          # Task Queue API, host is not parsable
+          # into service,
+          # version, and
+          # instance. For example, some tasks
+          # which were created using the App Engine SDK use a custom domain
+          # name; custom domains are not parsed by Cloud Tasks. If
+          # host is not parsable, then
+          # service,
+          # version, and
+          # instance are the empty string.
+    },
+  },
+  "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+      # 
+      # * For tasks created using Cloud Tasks: the queue-level retry settings
+      #   apply to all tasks in the queue that were created using Cloud Tasks.
+      #   Retry settings cannot be set on individual tasks.
+      # * For tasks created using the App Engine SDK: the queue-level retry
+      #   settings apply to all tasks in the queue which do not have retry settings
+      #   explicitly set on the task and were created by the App Engine SDK. See
+      #   [App Engine
+      #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+      #
+      # These settings determine when a failed task attempt is retried.
+    "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+        # retrying a failed task, measured from when the task was first
+        # attempted. Once `max_retry_duration` time has passed *and* the
+        # task has been attempted max_attempts
+        # times, no further attempts will be made and the task will be
+        # deleted.
+        #
+        # If zero, then the task age is unlimited.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `max_retry_duration` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [task_age_limit in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+        #
+        # A task's retry interval starts at
+        # min_backoff, then doubles
+        # `max_doublings` times, then increases linearly, and finally
+        # retries retries at intervals of
+        # max_backoff up to
+        # max_attempts times.
+        #
+        # For example, if min_backoff is 10s,
+        # max_backoff is 300s, and
+        # `max_doublings` is 3, then the a task will first be retried in
+        # 10s. The retry interval will double three times, and then
+        # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+        # intervals of max_backoff until the
+        # task has been attempted max_attempts
+        # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+        # 240s, 300s, 300s, ....
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # This field has the same meaning as
+        # [max_doublings in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxAttempts": 42, # Number of attempts per task.
+        #
+        # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+        # first attempt fails, then there will be `max_attempts - 1` retries). Must
+        # be >= -1.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        # -1 indicates unlimited attempts.
+        #
+        # This field has the same meaning as
+        # [task_retry_limit in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "maxBackoff": "A String", # A task will be scheduled for retry between
+        # min_backoff and
+        # max_backoff duration after it fails,
+        # if the queue's RetryConfig specifies that the task should be
+        # retried.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `max_backoff` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [max_backoff_seconds in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    "minBackoff": "A String", # A task will be scheduled for retry between
+        # min_backoff and
+        # max_backoff duration after it fails,
+        # if the queue's RetryConfig specifies that the task should be
+        # retried.
+        #
+        # If unspecified when the queue is created, Cloud Tasks will pick the
+        # default.
+        #
+        #
+        # `min_backoff` will be truncated to the nearest second.
+        #
+        # This field has the same meaning as
+        # [min_backoff_seconds in
+        # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+  },
+}
+
+  updateMask: string, A mask used to specify which fields of the queue are being updated.
+
+If empty, then all fields will be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="pause">pause(name, body=None, x__xgafv=None)</code>
+  <pre>Pauses the queue.
+
+If a queue is paused then the system will stop dispatching tasks
+until the queue is resumed via
+ResumeQueue. Tasks can still be added
+when the queue is paused. A queue is paused if its
+state is PAUSED.
+
+Args:
+  name: string, Required.
+
+The queue name. For example:
+`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for PauseQueue.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="purge">purge(name, body=None, x__xgafv=None)</code>
+  <pre>Purges a queue by deleting all of its tasks.
+
+All tasks created before this method is called are permanently deleted.
+
+Purge operations can take up to one minute to take effect. Tasks
+might be dispatched before the purge takes effect. A purge is irreversible.
+
+Args:
+  name: string, Required.
+
+The queue name. For example:
+`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for PurgeQueue.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(name, body=None, x__xgafv=None)</code>
+  <pre>Resume a queue.
+
+This method resumes a queue after it has been
+PAUSED or
+DISABLED. The state of a queue is stored
+in the queue's state; after calling this method it
+will be set to RUNNING.
+
+WARNING: Resuming many high-QPS queues at the same time can
+lead to target overloading. If you are resuming high-QPS
+queues, follow the 500/50/5 pattern described in
+[Managing Cloud Tasks Scaling
+Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).
+
+Args:
+  name: string, Required.
+
+The queue name. For example:
+`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ResumeQueue.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A queue is a container of related tasks. Queues are configured to manage
+      # how those tasks are dispatched. Configurable properties include rate limits,
+      # retry options, queue types, and others.
+    "name": "A String", # Caller-specified and required in CreateQueue,
+        # after which it becomes output only.
+        #
+        # The queue name.
+        #
+        # The queue name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
+        #
+        # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+        #    hyphens (-), colons (:), or periods (.).
+        #    For more information, see
+        #    [Identifying
+        #    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
+        # * `LOCATION_ID` is the canonical ID for the queue's location.
+        #    The list of available locations can be obtained by calling
+        #    ListLocations.
+        #    For more information, see https://cloud.google.com/about/locations/.
+        # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
+        #   hyphens (-). The maximum length is 100 characters.
+    "stackdriverLoggingConfig": { # Configuration options for writing logs to # Configuration options for writing logs to
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this
+        # field is unset, then no logs are written.
+        # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+      "samplingRatio": 3.14, # Specifies the fraction of operations to write to
+          # [Stackdriver Logging](https://cloud.google.com/logging/docs/).
+          # This field may contain any value between 0.0 and 1.0, inclusive.
+          # 0.0 is the default and means that no operations are logged.
+    },
+    "rateLimits": { # Rate limits. # Rate limits for task dispatches.
+        #
+        # rate_limits and retry_config are
+        # related because they both control task attempts. However they control task
+        # attempts in different ways:
+        #
+        # * rate_limits controls the total rate of
+        #   dispatches from a queue (i.e. all traffic dispatched from the
+        #   queue, regardless of whether the dispatch is from a first
+        #   attempt or a retry).
+        # * retry_config controls what happens to
+        #   particular a task after its first attempt fails. That is,
+        #   retry_config controls task retries (the
+        #   second attempt, third attempt, etc).
+        #
+        # The queue's actual dispatch rate is the result of:
+        #
+        # * Number of tasks in the queue
+        # * User-specified throttling: rate_limits,
+        #   retry_config, and the
+        #   queue's state.
+        # * System throttling due to `429` (Too Many Requests) or `503` (Service
+        #   Unavailable) responses from the worker, high error rates, or to smooth
+        #   sudden large traffic spikes.
+        #
+        # This message determines the maximum rate that tasks can be dispatched by a
+        # queue, regardless of whether the dispatch is a first task attempt or a retry.
+        #
+        # Note: The debugging command, RunTask, will run a task
+        # even if the queue has reached its RateLimits.
+      "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows
+          # to be dispatched for this queue. After this threshold has been
+          # reached, Cloud Tasks stops dispatching tasks until the number of
+          # concurrent requests decreases.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # The maximum allowed value is 5,000.
+          #
+          #
+          # This field has the same meaning as
+          # [max_concurrent_requests in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).
+      "maxBurstSize": 42, # Output only. The max burst size.
+          #
+          # Max burst size limits how fast tasks in queue are processed when
+          # many tasks are in the queue and the rate is high. This field
+          # allows the queue to have a high rate so processing starts shortly
+          # after a task is enqueued, but still limits resource usage when
+          # many tasks are enqueued in a short period of time.
+          #
+          # The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
+          # algorithm is used to control the rate of task dispatches. Each
+          # queue has a token bucket that holds tokens, up to the maximum
+          # specified by `max_burst_size`. Each time a task is dispatched, a
+          # token is removed from the bucket. Tasks will be dispatched until
+          # the queue's bucket runs out of tokens. The bucket will be
+          # continuously refilled with new tokens based on
+          # max_dispatches_per_second.
+          #
+          # Cloud Tasks will pick the value of `max_burst_size` based on the
+          # value of
+          # max_dispatches_per_second.
+          #
+          # For App Engine queues that were created or updated using
+          # `queue.yaml/xml`, `max_burst_size` is equal to
+          # [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).
+          # Since `max_burst_size` is output only, if
+          # UpdateQueue is called on a queue
+          # created by `queue.yaml/xml`, `max_burst_size` will be reset based
+          # on the value of
+          # max_dispatches_per_second,
+          # regardless of whether
+          # max_dispatches_per_second
+          # is updated.
+      "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # * For App Engine queues, the maximum allowed value
+          #   is 500.
+          #
+          #
+          # This field has the same meaning as
+          # [rate in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).
+    },
+    "state": "A String", # Output only. The state of the queue.
+        #
+        # `state` can only be changed by called
+        # PauseQueue,
+        # ResumeQueue, or uploading
+        # [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).
+        # UpdateQueue cannot be used to change `state`.
+    "purgeTime": "A String", # Output only. The last time this queue was purged.
+        #
+        # All tasks that were created before this time
+        # were purged.
+        #
+        # A queue can be purged using PurgeQueue, the
+        # [App Engine Task Queue SDK, or the Cloud
+        # Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+        #
+        # Purge time will be truncated to the nearest microsecond. Purge
+        # time will be unset if the queue has never been purged.
+    "appEngineHttpQueue": { # App Engine HTTP queue. # AppEngineHttpQueue settings apply only to
+        # App Engine tasks in this queue.
+        # Http tasks are not affected by this proto.
+        #
+        # The task will be delivered to the App Engine application hostname
+        # specified by its AppEngineHttpQueue and AppEngineHttpRequest.
+        # The documentation for AppEngineHttpRequest explains how the
+        # task's host URL is constructed.
+        #
+        # Using AppEngineHttpQueue requires
+        # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
+        # Google IAM permission for the project
+        # and the following scope:
+        #
+        # `https://www.googleapis.com/auth/cloud-platform`
+      "appEngineRoutingOverride": { # App Engine Routing. # Overrides for the
+          # task-level app_engine_routing.
+          #
+          # If set, `app_engine_routing_override` is used for all tasks in
+          # the queue, no matter what the setting is for the
+          # task-level app_engine_routing.
+          #
+          # Defines routing characteristics specific to App Engine - service, version,
+          # and instance.
+          #
+          # For more information about services, versions, and instances see
+          # [An Overview of App
+          # Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
+          # [Microservices Architecture on Google App
+          # Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
+          # [App Engine Standard request
+          # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
+          # and [App Engine Flex request
+          # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "instance": "A String", # App instance.
+            #
+            # By default, the task is sent to an instance which is available when
+            # the task is attempted.
+            #
+            # Requests can only be sent to a specific instance if
+            # [manual scaling is used in App Engine
+            # Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
+            # App Engine Flex does not support instances. For more information, see
+            # [App Engine Standard request
+            # routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
+            # and [App Engine Flex request
+            # routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
+        "host": "A String", # Output only. The host that the task is sent to.
+            #
+            # The host is constructed from the domain name of the app associated with
+            # the queue's project ID (for example <app-id>.appspot.com), and the
+            # service, version,
+            # and instance. Tasks which were created using
+            # the App Engine SDK might have a custom domain name.
+            #
+            # For more information, see
+            # [How Requests are
+            # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
+        "version": "A String", # App version.
+            #
+            # By default, the task is sent to the version which is the default
+            # version when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+        "service": "A String", # App service.
+            #
+            # By default, the task is sent to the service which is the default
+            # service when the task is attempted.
+            #
+            # For some queues or tasks which were created using the App Engine
+            # Task Queue API, host is not parsable
+            # into service,
+            # version, and
+            # instance. For example, some tasks
+            # which were created using the App Engine SDK use a custom domain
+            # name; custom domains are not parsed by Cloud Tasks. If
+            # host is not parsable, then
+            # service,
+            # version, and
+            # instance are the empty string.
+      },
+    },
+    "retryConfig": { # Retry config. # Settings that determine the retry behavior.
+        #
+        # * For tasks created using Cloud Tasks: the queue-level retry settings
+        #   apply to all tasks in the queue that were created using Cloud Tasks.
+        #   Retry settings cannot be set on individual tasks.
+        # * For tasks created using the App Engine SDK: the queue-level retry
+        #   settings apply to all tasks in the queue which do not have retry settings
+        #   explicitly set on the task and were created by the App Engine SDK. See
+        #   [App Engine
+        #   documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks).
+        #
+        # These settings determine when a failed task attempt is retried.
+      "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for
+          # retrying a failed task, measured from when the task was first
+          # attempted. Once `max_retry_duration` time has passed *and* the
+          # task has been attempted max_attempts
+          # times, no further attempts will be made and the task will be
+          # deleted.
+          #
+          # If zero, then the task age is unlimited.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_retry_duration` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [task_age_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxDoublings": 42, # The time between retries will double `max_doublings` times.
+          #
+          # A task's retry interval starts at
+          # min_backoff, then doubles
+          # `max_doublings` times, then increases linearly, and finally
+          # retries retries at intervals of
+          # max_backoff up to
+          # max_attempts times.
+          #
+          # For example, if min_backoff is 10s,
+          # max_backoff is 300s, and
+          # `max_doublings` is 3, then the a task will first be retried in
+          # 10s. The retry interval will double three times, and then
+          # increase linearly by 2^3 * 10s.  Finally, the task will retry at
+          # intervals of max_backoff until the
+          # task has been attempted max_attempts
+          # times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,
+          # 240s, 300s, 300s, ....
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # This field has the same meaning as
+          # [max_doublings in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxAttempts": 42, # Number of attempts per task.
+          #
+          # Cloud Tasks will attempt the task `max_attempts` times (that is, if the
+          # first attempt fails, then there will be `max_attempts - 1` retries). Must
+          # be >= -1.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          # -1 indicates unlimited attempts.
+          #
+          # This field has the same meaning as
+          # [task_retry_limit in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "maxBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `max_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [max_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+      "minBackoff": "A String", # A task will be scheduled for retry between
+          # min_backoff and
+          # max_backoff duration after it fails,
+          # if the queue's RetryConfig specifies that the task should be
+          # retried.
+          #
+          # If unspecified when the queue is created, Cloud Tasks will pick the
+          # default.
+          #
+          #
+          # `min_backoff` will be truncated to the nearest second.
+          #
+          # This field has the same meaning as
+          # [min_backoff_seconds in
+          # queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
+  <pre>Sets the access control policy for a Queue. Replaces any existing
+policy.
+
+Note: The Cloud Console does not check queue-level IAM permissions yet.
+Project-level permissions are required to use the Cloud Console.
+
+Authorization requires the following
+[Google IAM](https://cloud.google.com/iam) permission on the specified
+resource parent:
+
+* `cloudtasks.queues.setIamPolicy`
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified.
+See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
+        # the policy is limited to a few 10s of KB. An empty policy is a
+        # valid policy but certain Cloud Platform services (such as Projects)
+        # might reject them.
+        # specify access control policies for Cloud Platform resources.
+        #
+        #
+        # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
+        # `members` to a `role`, where the members can be user accounts, Google groups,
+        # Google domains, and service accounts. A `role` is a named list of permissions
+        # defined by IAM.
+        #
+        # **JSON Example**
+        #
+        #     {
+        #       "bindings": [
+        #         {
+        #           "role": "roles/owner",
+        #           "members": [
+        #             "user:mike@example.com",
+        #             "group:admins@example.com",
+        #             "domain:google.com",
+        #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
+        #           ]
+        #         },
+        #         {
+        #           "role": "roles/viewer",
+        #           "members": ["user:sean@example.com"]
+        #         }
+        #       ]
+        #     }
+        #
+        # **YAML Example**
+        #
+        #     bindings:
+        #     - members:
+        #       - user:mike@example.com
+        #       - group:admins@example.com
+        #       - domain:google.com
+        #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
+        #       role: roles/owner
+        #     - members:
+        #       - user:sean@example.com
+        #       role: roles/viewer
+        #
+        #
+        # For a description of IAM and its features, see the
+        # [IAM developer's guide](https://cloud.google.com/iam/docs).
+      "bindings": [ # Associates a list of `members` to a `role`.
+          # `bindings` with no members will result in an error.
+        { # Associates `members` with a `role`.
+          "role": "A String", # Role that is assigned to `members`.
+              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+          "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
+              # NOTE: An unsatisfied condition will not allow user access via current
+              # binding. Different bindings, including their conditions, are examined
+              # independently.
+              #
+              #     title: "User account presence"
+              #     description: "Determines whether the request has a user account"
+              #     expression: "size(request.user) > 0"
+            "description": "A String", # An optional description of the expression. This is a longer text which
+                # describes the expression, e.g. when hovered over it in a UI.
+            "expression": "A String", # Textual representation of an expression in
+                # Common Expression Language syntax.
+                #
+                # The application context of the containing message determines which
+                # well-known feature set of CEL is supported.
+            "location": "A String", # An optional string indicating the location of the expression for error
+                # reporting, e.g. a file name and a position in the file.
+            "title": "A String", # An optional title for the expression, i.e. a short string describing
+                # its purpose. This can be used e.g. in UIs which allow to enter the
+                # expression.
+          },
+          "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+              # `members` can have the following values:
+              #
+              # * `allUsers`: A special identifier that represents anyone who is
+              #    on the internet; with or without a Google account.
+              #
+              # * `allAuthenticatedUsers`: A special identifier that represents anyone
+              #    who is authenticated with a Google account or a service account.
+              #
+              # * `user:{emailid}`: An email address that represents a specific Google
+              #    account. For example, `alice@gmail.com` .
+              #
+              #
+              # * `serviceAccount:{emailid}`: An email address that represents a service
+              #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
+              #
+              # * `group:{emailid}`: An email address that represents a Google group.
+              #    For example, `admins@example.com`.
+              #
+              #
+              # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+              #    users of that domain. For example, `google.com` or `example.com`.
+              #
+            "A String",
+          ],
+        },
+      ],
+      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+          # prevent simultaneous updates of a policy from overwriting each other.
+          # It is strongly suggested that systems make use of the `etag` in the
+          # read-modify-write cycle to perform policy updates in order to avoid race
+          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+          # systems are expected to put that etag in the request to `setIamPolicy` to
+          # ensure that their change will be applied to the same version of the policy.
+          #
+          # If no `etag` is provided in the call to `setIamPolicy`, then the existing
+          # policy is overwritten blindly.
+      "version": 42, # Deprecated.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Defines an Identity and Access Management (IAM) policy. It is used to
+      # specify access control policies for Cloud Platform resources.
+      #
+      #
+      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
+      # `members` to a `role`, where the members can be user accounts, Google groups,
+      # Google domains, and service accounts. A `role` is a named list of permissions
+      # defined by IAM.
+      #
+      # **JSON Example**
+      #
+      #     {
+      #       "bindings": [
+      #         {
+      #           "role": "roles/owner",
+      #           "members": [
+      #             "user:mike@example.com",
+      #             "group:admins@example.com",
+      #             "domain:google.com",
+      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
+      #           ]
+      #         },
+      #         {
+      #           "role": "roles/viewer",
+      #           "members": ["user:sean@example.com"]
+      #         }
+      #       ]
+      #     }
+      #
+      # **YAML Example**
+      #
+      #     bindings:
+      #     - members:
+      #       - user:mike@example.com
+      #       - group:admins@example.com
+      #       - domain:google.com
+      #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
+      #       role: roles/owner
+      #     - members:
+      #       - user:sean@example.com
+      #       role: roles/viewer
+      #
+      #
+      # For a description of IAM and its features, see the
+      # [IAM developer's guide](https://cloud.google.com/iam/docs).
+    "bindings": [ # Associates a list of `members` to a `role`.
+        # `bindings` with no members will result in an error.
+      { # Associates `members` with a `role`.
+        "role": "A String", # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+        "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
+            # NOTE: An unsatisfied condition will not allow user access via current
+            # binding. Different bindings, including their conditions, are examined
+            # independently.
+            #
+            #     title: "User account presence"
+            #     description: "Determines whether the request has a user account"
+            #     expression: "size(request.user) > 0"
+          "description": "A String", # An optional description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
+          "expression": "A String", # Textual representation of an expression in
+              # Common Expression Language syntax.
+              #
+              # The application context of the containing message determines which
+              # well-known feature set of CEL is supported.
+          "location": "A String", # An optional string indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
+          "title": "A String", # An optional title for the expression, i.e. a short string describing
+              # its purpose. This can be used e.g. in UIs which allow to enter the
+              # expression.
+        },
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+            # `members` can have the following values:
+            #
+            # * `allUsers`: A special identifier that represents anyone who is
+            #    on the internet; with or without a Google account.
+            #
+            # * `allAuthenticatedUsers`: A special identifier that represents anyone
+            #    who is authenticated with a Google account or a service account.
+            #
+            # * `user:{emailid}`: An email address that represents a specific Google
+            #    account. For example, `alice@gmail.com` .
+            #
+            #
+            # * `serviceAccount:{emailid}`: An email address that represents a service
+            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
+            #
+            # * `group:{emailid}`: An email address that represents a Google group.
+            #    For example, `admins@example.com`.
+            #
+            #
+            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+            #    users of that domain. For example, `google.com` or `example.com`.
+            #
+          "A String",
+        ],
+      },
+    ],
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+        # prevent simultaneous updates of a policy from overwriting each other.
+        # It is strongly suggested that systems make use of the `etag` in the
+        # read-modify-write cycle to perform policy updates in order to avoid race
+        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+        # systems are expected to put that etag in the request to `setIamPolicy` to
+        # ensure that their change will be applied to the same version of the policy.
+        #
+        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
+        # policy is overwritten blindly.
+    "version": 42, # Deprecated.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
+  <pre>Returns permissions that a caller has on a Queue.
+If the resource does not exist, this will return an empty set of
+permissions, not a NOT_FOUND error.
+
+Note: This operation is designed to be used for building permission-aware
+UIs and command-line tools, not for authorization checking. This operation
+may "fail open" without warning.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested.
+See the operation documentation for the appropriate value for this field. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
+        # wildcards (such as '*' or 'storage.*') are not allowed. For more
+        # information see
+        # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
+        # allowed.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file