chore: regens API reference docs (#889)

diff --git a/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html b/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
index 9056d5e..d38dc85 100644
--- a/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
+++ b/docs/dyn/cloudtasks_v2.projects.locations.queues.tasks.html
@@ -75,7 +75,7 @@
 <h1><a href="cloudtasks_v2.html">Cloud Tasks API</a> . <a href="cloudtasks_v2.projects.html">projects</a> . <a href="cloudtasks_v2.projects.locations.html">locations</a> . <a href="cloudtasks_v2.projects.locations.queues.html">queues</a> . <a href="cloudtasks_v2.projects.locations.queues.tasks.html">tasks</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a task and adds it to a queue.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -90,11 +90,11 @@
   <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="#run">run(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#run">run(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Forces a task to run now.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Creates a task and adds it to a queue.
 
 Tasks cannot be updated after creation; there is no UpdateTask command.
@@ -102,13 +102,11 @@
 * The maximum task size is 100KB.
 
 Args:
-  parent: string, Required.
-
-The queue name. For example:
+  parent: string, Required. The queue name. For example:
 `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
 
 The queue must already exist. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message for CreateTask.
@@ -124,9 +122,7 @@
         # Authorization for FULL requires
         # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
         # permission on the Task resource.
-    "task": { # A unit of scheduled work. # Required.
-        # 
-        # The task to add.
+    "task": { # A unit of scheduled work. # Required. The task to add.
         # 
         # Task names have the following format:
         # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.
@@ -159,6 +155,122 @@
         # task commands. The infrastructure relies on an approximately
         # uniform distribution of task ids to store and serve tasks
         # efficiently.
+      "httpRequest": { # HTTP request. # HTTP request that is sent to the worker.
+          #
+          # An HTTP task is a task that has HttpRequest set.
+          #
+          # The task will be pushed to the worker as an HTTP request. If the worker
+          # or the redirected worker acknowledges the task by returning a successful HTTP
+          # response code ([`200` - `299`]), the task will be removed from the queue. If
+          # any other HTTP response code is returned or no response is received, the
+          # task will be retried according to the following:
+          #
+          # * User-specified throttling: retry configuration,
+          #   rate limits, and the queue's state.
+          #
+          # * System throttling: To prevent the worker from overloading, Cloud Tasks may
+          #   temporarily reduce the queue's effective rate. User-specified settings
+          #   will not be changed.
+          #
+          #  System throttling happens because:
+          #
+          #   * Cloud Tasks backs off on all errors. Normally the backoff specified in
+          #     rate limits will be used. But if the worker returns
+          #     `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
+          #     errors is high, Cloud Tasks will use a higher backoff rate. The retry
+          #     specified in the `Retry-After` HTTP response header is considered.
+          #
+          #   * To prevent traffic spikes and to smooth sudden increases in traffic,
+          #     dispatches ramp up slowly when the queue is newly created or idle and
+          #     if large numbers of tasks suddenly become available to dispatch (due to
+          #     spikes in create task rates, the queue being unpaused, or many tasks
+          #     that are scheduled at the same time).
+        "body": "A String", # HTTP request body.
+            #
+            # A request body is allowed only if the
+            # HTTP method is POST, PUT, or PATCH. It is an
+            # error to set body on a task with an incompatible HttpMethod.
+        "headers": { # HTTP request headers.
+            #
+            # This map contains the header field names and values.
+            # Headers can be set when the
+            # task is created.
+            #
+            # These headers represent a subset of the headers that will accompany the
+            # task's HTTP request. Some HTTP request headers will be ignored or replaced.
+            #
+            # A partial list of headers that will be ignored or replaced is:
+            #
+            # * Host: This will be computed by Cloud Tasks and derived from
+            #   HttpRequest.url.
+            # * Content-Length: This will be computed by Cloud Tasks.
+            # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
+            # * X-Google-*: Google use only.
+            # * X-AppEngine-*: Google use only.
+            #
+            # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+            # `Content-Type` to a media type when the
+            #  task is created.
+            #  For example, `Content-Type` can be set to `"application/octet-stream"` or
+            #  `"application/json"`.
+            #
+            # Headers which can have multiple values (according to RFC2616) can be
+            # specified using comma-separated values.
+            #
+            # The size of the headers must be less than 80KB.
+          "a_key": "A String",
+        },
+        "url": "A String", # Required. The full url path that the request will be sent to.
+            #
+            # This string must begin with either "http://" or "https://". Some examples
+            # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
+            # encode some characters for safety and compatibility. The maximum allowed
+            # URL length is 2083 characters after encoding.
+            #
+            # The `Location` header response from a redirect response [`300` - `399`]
+            # may be followed. The redirect is not counted as a separate attempt.
+        "oidcToken": { # Contains information needed for generating an # If specified, an
+            # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+            # token will be generated and attached as an `Authorization` header in the
+            # HTTP request.
+            #
+            # This type of authorization can be used for many scenarios, including
+            # calling Cloud Run, or endpoints where you intend to validate the token
+            # yourself.
+            # [OpenID Connect
+            # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+            # This type of authorization can be used for many scenarios, including
+            # calling Cloud Run, or endpoints where you intend to validate the token
+            # yourself.
+          "audience": "A String", # Audience to be used when generating OIDC token. If not specified, the URI
+              # specified in target will be used.
+          "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+              # to be used for generating OIDC token.
+              # The service account must be within the same project as the queue. The
+              # caller must have iam.serviceAccounts.actAs permission for the service
+              # account.
+        },
+        "oauthToken": { # Contains information needed for generating an # If specified, an
+            # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
+            # will be generated and attached as an `Authorization` header in the HTTP
+            # request.
+            #
+            # This type of authorization should generally only be used when calling
+            # Google APIs hosted on *.googleapis.com.
+            # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
+            # This type of authorization should generally only be used when calling Google
+            # APIs hosted on *.googleapis.com.
+          "scope": "A String", # OAuth scope to be used for generating OAuth access token.
+              # If not specified, "https://www.googleapis.com/auth/cloud-platform"
+              # will be used.
+          "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+              # to be used for generating OAuth token.
+              # The service account must be within the same project as the queue. The
+              # caller must have iam.serviceAccounts.actAs permission for the service
+              # account.
+        },
+        "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
+      },
       "appEngineHttpRequest": { # App Engine HTTP request. # HTTP request that is sent to the App Engine app handler.
           #
           # An App Engine task is a task that has AppEngineHttpRequest set.
@@ -189,11 +301,10 @@
           # The AppEngineRouting used to construct the URL that the task is
           # delivered to can be set at the queue-level or task-level:
           #
-          # * 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.
+          # * If app_engine_routing_override is set on the
+          #   queue, this value is used for all
+          #   tasks in the queue, no matter what the setting is for the task-level
+          #   app_engine_routing.
           #
           #
           # The `url` that the task will be sent to is:
@@ -261,7 +372,7 @@
             # In addition, Cloud Tasks sets some headers when the task is dispatched,
             # such as headers containing information about the task; see
             # [request
-            # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).
+            # headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
             # These headers are set only when the task is dispatched, so they are not
             # visible when the task is returned in a Cloud Tasks response.
             #
@@ -272,10 +383,10 @@
         },
         "appEngineRouting": { # App Engine Routing. # Task-level setting for 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.
+            # * If app_engine_routing_override is set on the
+            #   queue, this value 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.
@@ -289,6 +400,13 @@
             # 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).
+            #
+            # Using AppEngineRouting 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`
           "instance": "A String", # App instance.
               #
               # By default, the task is sent to an instance which is available when
@@ -305,7 +423,7 @@
           "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
+              # the queue's project ID (for example &lt;app-id&gt;.appspot.com), and the
               # service, version,
               # and instance. Tasks which were created using
               # the App Engine SDK might have a custom domain name.
@@ -355,15 +473,32 @@
         "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
             #
             # The app's request handler for the task's target URL must be able to handle
-            # HTTP requests with this http_method, otherwise the task attempt will fail
-            # with error code 405 (Method Not Allowed). See
-            # [Writing a push task request
+            # HTTP requests with this http_method, otherwise the task attempt fails with
+            # error code 405 (Method Not Allowed). See [Writing a push task request
             # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
-            # and the documentation for the request handlers in the language your app is
-            # written in e.g.
-            # [Python Request
-            # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
+            # and the App Engine documentation for your runtime on [How Requests are
+            # Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
       },
+      "name": "A String", # Optionally caller-specified in CreateTask.
+          #
+          # The task name.
+          #
+          # The task name must have the following format:
+          # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
+          # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
+          #   hyphens (-), or underscores (_). The maximum length is 500 characters.
       "firstAttempt": { # The status of a task attempt. # Output only. The status of the task's first attempt.
           #
           # Only dispatch_time will be set.
@@ -431,29 +566,7 @@
             #
             # `dispatch_time` will be truncated to the nearest microsecond.
       },
-      "name": "A String", # Optionally caller-specified in CreateTask.
-          #
-          # The task name.
-          #
-          # The task name must have the following format:
-          # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
-          # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-          #   hyphens (-), or underscores (_). The maximum length is 500 characters.
-      "scheduleTime": "A String", # The time when the task is scheduled to be attempted.
-          #
-          # For App Engine queues, this is when the task will be attempted or retried.
+      "scheduleTime": "A String", # The time when the task is scheduled to be attempted or retried.
           #
           # `schedule_time` will be truncated to the nearest microsecond.
       "dispatchDeadline": "A String", # The deadline for requests sent to the worker. If the worker does not
@@ -468,6 +581,8 @@
           #
           # The default and maximum values depend on the type of request:
           #
+          # * For HTTP tasks, the default is 10 minutes. The deadline
+          #   must be in the interval [15 seconds, 30 minutes].
           #
           # * For App Engine tasks, 0 indicates that the
           #   request has the default deadline. The default deadline depends on the
@@ -507,6 +622,122 @@
   An object of the form:
 
     { # A unit of scheduled work.
+    "httpRequest": { # HTTP request. # HTTP request that is sent to the worker.
+        #
+        # An HTTP task is a task that has HttpRequest set.
+        #
+        # The task will be pushed to the worker as an HTTP request. If the worker
+        # or the redirected worker acknowledges the task by returning a successful HTTP
+        # response code ([`200` - `299`]), the task will be removed from the queue. If
+        # any other HTTP response code is returned or no response is received, the
+        # task will be retried according to the following:
+        #
+        # * User-specified throttling: retry configuration,
+        #   rate limits, and the queue's state.
+        #
+        # * System throttling: To prevent the worker from overloading, Cloud Tasks may
+        #   temporarily reduce the queue's effective rate. User-specified settings
+        #   will not be changed.
+        #
+        #  System throttling happens because:
+        #
+        #   * Cloud Tasks backs off on all errors. Normally the backoff specified in
+        #     rate limits will be used. But if the worker returns
+        #     `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
+        #     errors is high, Cloud Tasks will use a higher backoff rate. The retry
+        #     specified in the `Retry-After` HTTP response header is considered.
+        #
+        #   * To prevent traffic spikes and to smooth sudden increases in traffic,
+        #     dispatches ramp up slowly when the queue is newly created or idle and
+        #     if large numbers of tasks suddenly become available to dispatch (due to
+        #     spikes in create task rates, the queue being unpaused, or many tasks
+        #     that are scheduled at the same time).
+      "body": "A String", # HTTP request body.
+          #
+          # A request body is allowed only if the
+          # HTTP method is POST, PUT, or PATCH. It is an
+          # error to set body on a task with an incompatible HttpMethod.
+      "headers": { # HTTP request headers.
+          #
+          # This map contains the header field names and values.
+          # Headers can be set when the
+          # task is created.
+          #
+          # These headers represent a subset of the headers that will accompany the
+          # task's HTTP request. Some HTTP request headers will be ignored or replaced.
+          #
+          # A partial list of headers that will be ignored or replaced is:
+          #
+          # * Host: This will be computed by Cloud Tasks and derived from
+          #   HttpRequest.url.
+          # * Content-Length: This will be computed by Cloud Tasks.
+          # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
+          # * X-Google-*: Google use only.
+          # * X-AppEngine-*: Google use only.
+          #
+          # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+          # `Content-Type` to a media type when the
+          #  task is created.
+          #  For example, `Content-Type` can be set to `"application/octet-stream"` or
+          #  `"application/json"`.
+          #
+          # Headers which can have multiple values (according to RFC2616) can be
+          # specified using comma-separated values.
+          #
+          # The size of the headers must be less than 80KB.
+        "a_key": "A String",
+      },
+      "url": "A String", # Required. The full url path that the request will be sent to.
+          #
+          # This string must begin with either "http://" or "https://". Some examples
+          # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
+          # encode some characters for safety and compatibility. The maximum allowed
+          # URL length is 2083 characters after encoding.
+          #
+          # The `Location` header response from a redirect response [`300` - `399`]
+          # may be followed. The redirect is not counted as a separate attempt.
+      "oidcToken": { # Contains information needed for generating an # If specified, an
+          # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+          # token will be generated and attached as an `Authorization` header in the
+          # HTTP request.
+          #
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+          # [OpenID Connect
+          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+        "audience": "A String", # Audience to be used when generating OIDC token. If not specified, the URI
+            # specified in target will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OIDC token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "oauthToken": { # Contains information needed for generating an # If specified, an
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
+          # will be generated and attached as an `Authorization` header in the HTTP
+          # request.
+          #
+          # This type of authorization should generally only be used when calling
+          # Google APIs hosted on *.googleapis.com.
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
+          # This type of authorization should generally only be used when calling Google
+          # APIs hosted on *.googleapis.com.
+        "scope": "A String", # OAuth scope to be used for generating OAuth access token.
+            # If not specified, "https://www.googleapis.com/auth/cloud-platform"
+            # will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OAuth token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
+    },
     "appEngineHttpRequest": { # App Engine HTTP request. # HTTP request that is sent to the App Engine app handler.
         #
         # An App Engine task is a task that has AppEngineHttpRequest set.
@@ -537,11 +768,10 @@
         # The AppEngineRouting used to construct the URL that the task is
         # delivered to can be set at the queue-level or task-level:
         #
-        # * 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.
+        # * If app_engine_routing_override is set on the
+        #   queue, this value is used for all
+        #   tasks in the queue, no matter what the setting is for the task-level
+        #   app_engine_routing.
         #
         #
         # The `url` that the task will be sent to is:
@@ -609,7 +839,7 @@
           # In addition, Cloud Tasks sets some headers when the task is dispatched,
           # such as headers containing information about the task; see
           # [request
-          # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).
+          # headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
           # These headers are set only when the task is dispatched, so they are not
           # visible when the task is returned in a Cloud Tasks response.
           #
@@ -620,10 +850,10 @@
       },
       "appEngineRouting": { # App Engine Routing. # Task-level setting for 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.
+          # * If app_engine_routing_override is set on the
+          #   queue, this value 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.
@@ -637,6 +867,13 @@
           # 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).
+          #
+          # Using AppEngineRouting 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`
         "instance": "A String", # App instance.
             #
             # By default, the task is sent to an instance which is available when
@@ -653,7 +890,7 @@
         "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
+            # the queue's project ID (for example &lt;app-id&gt;.appspot.com), and the
             # service, version,
             # and instance. Tasks which were created using
             # the App Engine SDK might have a custom domain name.
@@ -703,15 +940,32 @@
       "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
           #
           # The app's request handler for the task's target URL must be able to handle
-          # HTTP requests with this http_method, otherwise the task attempt will fail
-          # with error code 405 (Method Not Allowed). See
-          # [Writing a push task request
+          # HTTP requests with this http_method, otherwise the task attempt fails with
+          # error code 405 (Method Not Allowed). See [Writing a push task request
           # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
-          # and the documentation for the request handlers in the language your app is
-          # written in e.g.
-          # [Python Request
-          # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
+          # and the App Engine documentation for your runtime on [How Requests are
+          # Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
     },
+    "name": "A String", # Optionally caller-specified in CreateTask.
+        #
+        # The task name.
+        #
+        # The task name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
+        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
+        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
     "firstAttempt": { # The status of a task attempt. # Output only. The status of the task's first attempt.
         #
         # Only dispatch_time will be set.
@@ -779,29 +1033,7 @@
           #
           # `dispatch_time` will be truncated to the nearest microsecond.
     },
-    "name": "A String", # Optionally caller-specified in CreateTask.
-        #
-        # The task name.
-        #
-        # The task name must have the following format:
-        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
-        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
-    "scheduleTime": "A String", # The time when the task is scheduled to be attempted.
-        #
-        # For App Engine queues, this is when the task will be attempted or retried.
+    "scheduleTime": "A String", # The time when the task is scheduled to be attempted or retried.
         #
         # `schedule_time` will be truncated to the nearest microsecond.
     "dispatchDeadline": "A String", # The deadline for requests sent to the worker. If the worker does not
@@ -816,6 +1048,8 @@
         #
         # The default and maximum values depend on the type of request:
         #
+        # * For HTTP tasks, the default is 10 minutes. The deadline
+        #   must be in the interval [15 seconds, 30 minutes].
         #
         # * For App Engine tasks, 0 indicates that the
         #   request has the default deadline. The default deadline depends on the
@@ -855,9 +1089,7 @@
 failed.
 
 Args:
-  name: string, Required.
-
-The task name. For example:
+  name: string, Required. The task name. For example:
 `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -884,9 +1116,7 @@
   <pre>Gets a task.
 
 Args:
-  name: string, Required.
-
-The task name. For example:
+  name: string, Required. The task name. For example:
 `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` (required)
   responseView: string, The response_view specifies which subset of the Task will be
 returned.
@@ -909,6 +1139,122 @@
   An object of the form:
 
     { # A unit of scheduled work.
+    "httpRequest": { # HTTP request. # HTTP request that is sent to the worker.
+        #
+        # An HTTP task is a task that has HttpRequest set.
+        #
+        # The task will be pushed to the worker as an HTTP request. If the worker
+        # or the redirected worker acknowledges the task by returning a successful HTTP
+        # response code ([`200` - `299`]), the task will be removed from the queue. If
+        # any other HTTP response code is returned or no response is received, the
+        # task will be retried according to the following:
+        #
+        # * User-specified throttling: retry configuration,
+        #   rate limits, and the queue's state.
+        #
+        # * System throttling: To prevent the worker from overloading, Cloud Tasks may
+        #   temporarily reduce the queue's effective rate. User-specified settings
+        #   will not be changed.
+        #
+        #  System throttling happens because:
+        #
+        #   * Cloud Tasks backs off on all errors. Normally the backoff specified in
+        #     rate limits will be used. But if the worker returns
+        #     `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
+        #     errors is high, Cloud Tasks will use a higher backoff rate. The retry
+        #     specified in the `Retry-After` HTTP response header is considered.
+        #
+        #   * To prevent traffic spikes and to smooth sudden increases in traffic,
+        #     dispatches ramp up slowly when the queue is newly created or idle and
+        #     if large numbers of tasks suddenly become available to dispatch (due to
+        #     spikes in create task rates, the queue being unpaused, or many tasks
+        #     that are scheduled at the same time).
+      "body": "A String", # HTTP request body.
+          #
+          # A request body is allowed only if the
+          # HTTP method is POST, PUT, or PATCH. It is an
+          # error to set body on a task with an incompatible HttpMethod.
+      "headers": { # HTTP request headers.
+          #
+          # This map contains the header field names and values.
+          # Headers can be set when the
+          # task is created.
+          #
+          # These headers represent a subset of the headers that will accompany the
+          # task's HTTP request. Some HTTP request headers will be ignored or replaced.
+          #
+          # A partial list of headers that will be ignored or replaced is:
+          #
+          # * Host: This will be computed by Cloud Tasks and derived from
+          #   HttpRequest.url.
+          # * Content-Length: This will be computed by Cloud Tasks.
+          # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
+          # * X-Google-*: Google use only.
+          # * X-AppEngine-*: Google use only.
+          #
+          # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+          # `Content-Type` to a media type when the
+          #  task is created.
+          #  For example, `Content-Type` can be set to `"application/octet-stream"` or
+          #  `"application/json"`.
+          #
+          # Headers which can have multiple values (according to RFC2616) can be
+          # specified using comma-separated values.
+          #
+          # The size of the headers must be less than 80KB.
+        "a_key": "A String",
+      },
+      "url": "A String", # Required. The full url path that the request will be sent to.
+          #
+          # This string must begin with either "http://" or "https://". Some examples
+          # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
+          # encode some characters for safety and compatibility. The maximum allowed
+          # URL length is 2083 characters after encoding.
+          #
+          # The `Location` header response from a redirect response [`300` - `399`]
+          # may be followed. The redirect is not counted as a separate attempt.
+      "oidcToken": { # Contains information needed for generating an # If specified, an
+          # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+          # token will be generated and attached as an `Authorization` header in the
+          # HTTP request.
+          #
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+          # [OpenID Connect
+          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+        "audience": "A String", # Audience to be used when generating OIDC token. If not specified, the URI
+            # specified in target will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OIDC token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "oauthToken": { # Contains information needed for generating an # If specified, an
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
+          # will be generated and attached as an `Authorization` header in the HTTP
+          # request.
+          #
+          # This type of authorization should generally only be used when calling
+          # Google APIs hosted on *.googleapis.com.
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
+          # This type of authorization should generally only be used when calling Google
+          # APIs hosted on *.googleapis.com.
+        "scope": "A String", # OAuth scope to be used for generating OAuth access token.
+            # If not specified, "https://www.googleapis.com/auth/cloud-platform"
+            # will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OAuth token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
+    },
     "appEngineHttpRequest": { # App Engine HTTP request. # HTTP request that is sent to the App Engine app handler.
         #
         # An App Engine task is a task that has AppEngineHttpRequest set.
@@ -939,11 +1285,10 @@
         # The AppEngineRouting used to construct the URL that the task is
         # delivered to can be set at the queue-level or task-level:
         #
-        # * 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.
+        # * If app_engine_routing_override is set on the
+        #   queue, this value is used for all
+        #   tasks in the queue, no matter what the setting is for the task-level
+        #   app_engine_routing.
         #
         #
         # The `url` that the task will be sent to is:
@@ -1011,7 +1356,7 @@
           # In addition, Cloud Tasks sets some headers when the task is dispatched,
           # such as headers containing information about the task; see
           # [request
-          # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).
+          # headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
           # These headers are set only when the task is dispatched, so they are not
           # visible when the task is returned in a Cloud Tasks response.
           #
@@ -1022,10 +1367,10 @@
       },
       "appEngineRouting": { # App Engine Routing. # Task-level setting for 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.
+          # * If app_engine_routing_override is set on the
+          #   queue, this value 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.
@@ -1039,6 +1384,13 @@
           # 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).
+          #
+          # Using AppEngineRouting 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`
         "instance": "A String", # App instance.
             #
             # By default, the task is sent to an instance which is available when
@@ -1055,7 +1407,7 @@
         "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
+            # the queue's project ID (for example &lt;app-id&gt;.appspot.com), and the
             # service, version,
             # and instance. Tasks which were created using
             # the App Engine SDK might have a custom domain name.
@@ -1105,15 +1457,32 @@
       "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
           #
           # The app's request handler for the task's target URL must be able to handle
-          # HTTP requests with this http_method, otherwise the task attempt will fail
-          # with error code 405 (Method Not Allowed). See
-          # [Writing a push task request
+          # HTTP requests with this http_method, otherwise the task attempt fails with
+          # error code 405 (Method Not Allowed). See [Writing a push task request
           # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
-          # and the documentation for the request handlers in the language your app is
-          # written in e.g.
-          # [Python Request
-          # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
+          # and the App Engine documentation for your runtime on [How Requests are
+          # Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
     },
+    "name": "A String", # Optionally caller-specified in CreateTask.
+        #
+        # The task name.
+        #
+        # The task name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
+        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
+        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
     "firstAttempt": { # The status of a task attempt. # Output only. The status of the task's first attempt.
         #
         # Only dispatch_time will be set.
@@ -1181,29 +1550,7 @@
           #
           # `dispatch_time` will be truncated to the nearest microsecond.
     },
-    "name": "A String", # Optionally caller-specified in CreateTask.
-        #
-        # The task name.
-        #
-        # The task name must have the following format:
-        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
-        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
-    "scheduleTime": "A String", # The time when the task is scheduled to be attempted.
-        #
-        # For App Engine queues, this is when the task will be attempted or retried.
+    "scheduleTime": "A String", # The time when the task is scheduled to be attempted or retried.
         #
         # `schedule_time` will be truncated to the nearest microsecond.
     "dispatchDeadline": "A String", # The deadline for requests sent to the worker. If the worker does not
@@ -1218,6 +1565,8 @@
         #
         # The default and maximum values depend on the type of request:
         #
+        # * For HTTP tasks, the default is 10 minutes. The deadline
+        #   must be in the interval [15 seconds, 30 minutes].
         #
         # * For App Engine tasks, 0 indicates that the
         #   request has the default deadline. The default deadline depends on the
@@ -1261,9 +1610,7 @@
 time.
 
 Args:
-  parent: string, Required.
-
-The queue name. For example:
+  parent: string, Required. The queue name. For example:
 `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` (required)
   responseView: string, The response_view specifies which subset of the Task will be
 returned.
@@ -1312,6 +1659,122 @@
         # If the next_page_token is empty, there are no more results.
     "tasks": [ # The list of tasks.
       { # A unit of scheduled work.
+        "httpRequest": { # HTTP request. # HTTP request that is sent to the worker.
+            #
+            # An HTTP task is a task that has HttpRequest set.
+            #
+            # The task will be pushed to the worker as an HTTP request. If the worker
+            # or the redirected worker acknowledges the task by returning a successful HTTP
+            # response code ([`200` - `299`]), the task will be removed from the queue. If
+            # any other HTTP response code is returned or no response is received, the
+            # task will be retried according to the following:
+            #
+            # * User-specified throttling: retry configuration,
+            #   rate limits, and the queue's state.
+            #
+            # * System throttling: To prevent the worker from overloading, Cloud Tasks may
+            #   temporarily reduce the queue's effective rate. User-specified settings
+            #   will not be changed.
+            #
+            #  System throttling happens because:
+            #
+            #   * Cloud Tasks backs off on all errors. Normally the backoff specified in
+            #     rate limits will be used. But if the worker returns
+            #     `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
+            #     errors is high, Cloud Tasks will use a higher backoff rate. The retry
+            #     specified in the `Retry-After` HTTP response header is considered.
+            #
+            #   * To prevent traffic spikes and to smooth sudden increases in traffic,
+            #     dispatches ramp up slowly when the queue is newly created or idle and
+            #     if large numbers of tasks suddenly become available to dispatch (due to
+            #     spikes in create task rates, the queue being unpaused, or many tasks
+            #     that are scheduled at the same time).
+          "body": "A String", # HTTP request body.
+              #
+              # A request body is allowed only if the
+              # HTTP method is POST, PUT, or PATCH. It is an
+              # error to set body on a task with an incompatible HttpMethod.
+          "headers": { # HTTP request headers.
+              #
+              # This map contains the header field names and values.
+              # Headers can be set when the
+              # task is created.
+              #
+              # These headers represent a subset of the headers that will accompany the
+              # task's HTTP request. Some HTTP request headers will be ignored or replaced.
+              #
+              # A partial list of headers that will be ignored or replaced is:
+              #
+              # * Host: This will be computed by Cloud Tasks and derived from
+              #   HttpRequest.url.
+              # * Content-Length: This will be computed by Cloud Tasks.
+              # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
+              # * X-Google-*: Google use only.
+              # * X-AppEngine-*: Google use only.
+              #
+              # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+              # `Content-Type` to a media type when the
+              #  task is created.
+              #  For example, `Content-Type` can be set to `"application/octet-stream"` or
+              #  `"application/json"`.
+              #
+              # Headers which can have multiple values (according to RFC2616) can be
+              # specified using comma-separated values.
+              #
+              # The size of the headers must be less than 80KB.
+            "a_key": "A String",
+          },
+          "url": "A String", # Required. The full url path that the request will be sent to.
+              #
+              # This string must begin with either "http://" or "https://". Some examples
+              # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
+              # encode some characters for safety and compatibility. The maximum allowed
+              # URL length is 2083 characters after encoding.
+              #
+              # The `Location` header response from a redirect response [`300` - `399`]
+              # may be followed. The redirect is not counted as a separate attempt.
+          "oidcToken": { # Contains information needed for generating an # If specified, an
+              # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+              # token will be generated and attached as an `Authorization` header in the
+              # HTTP request.
+              #
+              # This type of authorization can be used for many scenarios, including
+              # calling Cloud Run, or endpoints where you intend to validate the token
+              # yourself.
+              # [OpenID Connect
+              # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+              # This type of authorization can be used for many scenarios, including
+              # calling Cloud Run, or endpoints where you intend to validate the token
+              # yourself.
+            "audience": "A String", # Audience to be used when generating OIDC token. If not specified, the URI
+                # specified in target will be used.
+            "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+                # to be used for generating OIDC token.
+                # The service account must be within the same project as the queue. The
+                # caller must have iam.serviceAccounts.actAs permission for the service
+                # account.
+          },
+          "oauthToken": { # Contains information needed for generating an # If specified, an
+              # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
+              # will be generated and attached as an `Authorization` header in the HTTP
+              # request.
+              #
+              # This type of authorization should generally only be used when calling
+              # Google APIs hosted on *.googleapis.com.
+              # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
+              # This type of authorization should generally only be used when calling Google
+              # APIs hosted on *.googleapis.com.
+            "scope": "A String", # OAuth scope to be used for generating OAuth access token.
+                # If not specified, "https://www.googleapis.com/auth/cloud-platform"
+                # will be used.
+            "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+                # to be used for generating OAuth token.
+                # The service account must be within the same project as the queue. The
+                # caller must have iam.serviceAccounts.actAs permission for the service
+                # account.
+          },
+          "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
+        },
         "appEngineHttpRequest": { # App Engine HTTP request. # HTTP request that is sent to the App Engine app handler.
             #
             # An App Engine task is a task that has AppEngineHttpRequest set.
@@ -1342,11 +1805,10 @@
             # The AppEngineRouting used to construct the URL that the task is
             # delivered to can be set at the queue-level or task-level:
             #
-            # * 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.
+            # * If app_engine_routing_override is set on the
+            #   queue, this value is used for all
+            #   tasks in the queue, no matter what the setting is for the task-level
+            #   app_engine_routing.
             #
             #
             # The `url` that the task will be sent to is:
@@ -1414,7 +1876,7 @@
               # In addition, Cloud Tasks sets some headers when the task is dispatched,
               # such as headers containing information about the task; see
               # [request
-              # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).
+              # headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
               # These headers are set only when the task is dispatched, so they are not
               # visible when the task is returned in a Cloud Tasks response.
               #
@@ -1425,10 +1887,10 @@
           },
           "appEngineRouting": { # App Engine Routing. # Task-level setting for 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.
+              # * If app_engine_routing_override is set on the
+              #   queue, this value 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.
@@ -1442,6 +1904,13 @@
               # 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).
+              #
+              # Using AppEngineRouting 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`
             "instance": "A String", # App instance.
                 #
                 # By default, the task is sent to an instance which is available when
@@ -1458,7 +1927,7 @@
             "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
+                # the queue's project ID (for example &lt;app-id&gt;.appspot.com), and the
                 # service, version,
                 # and instance. Tasks which were created using
                 # the App Engine SDK might have a custom domain name.
@@ -1508,15 +1977,32 @@
           "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
               #
               # The app's request handler for the task's target URL must be able to handle
-              # HTTP requests with this http_method, otherwise the task attempt will fail
-              # with error code 405 (Method Not Allowed). See
-              # [Writing a push task request
+              # HTTP requests with this http_method, otherwise the task attempt fails with
+              # error code 405 (Method Not Allowed). See [Writing a push task request
               # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
-              # and the documentation for the request handlers in the language your app is
-              # written in e.g.
-              # [Python Request
-              # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
+              # and the App Engine documentation for your runtime on [How Requests are
+              # Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
         },
+        "name": "A String", # Optionally caller-specified in CreateTask.
+            #
+            # The task name.
+            #
+            # The task name must have the following format:
+            # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
+            # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
+            #   hyphens (-), or underscores (_). The maximum length is 500 characters.
         "firstAttempt": { # The status of a task attempt. # Output only. The status of the task's first attempt.
             #
             # Only dispatch_time will be set.
@@ -1584,29 +2070,7 @@
               #
               # `dispatch_time` will be truncated to the nearest microsecond.
         },
-        "name": "A String", # Optionally caller-specified in CreateTask.
-            #
-            # The task name.
-            #
-            # The task name must have the following format:
-            # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
-            # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-            #   hyphens (-), or underscores (_). The maximum length is 500 characters.
-        "scheduleTime": "A String", # The time when the task is scheduled to be attempted.
-            #
-            # For App Engine queues, this is when the task will be attempted or retried.
+        "scheduleTime": "A String", # The time when the task is scheduled to be attempted or retried.
             #
             # `schedule_time` will be truncated to the nearest microsecond.
         "dispatchDeadline": "A String", # The deadline for requests sent to the worker. If the worker does not
@@ -1621,6 +2085,8 @@
             #
             # The default and maximum values depend on the type of request:
             #
+            # * For HTTP tasks, the default is 10 minutes. The deadline
+            #   must be in the interval [15 seconds, 30 minutes].
             #
             # * For App Engine tasks, 0 indicates that the
             #   request has the default deadline. The default deadline depends on the
@@ -1668,7 +2134,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="run">run(name, body, x__xgafv=None)</code>
+    <code class="details" id="run">run(name, body=None, x__xgafv=None)</code>
   <pre>Forces a task to run now.
 
 When this method is called, Cloud Tasks will dispatch the task, even if
@@ -1695,11 +2161,9 @@
 task that has already succeeded or permanently failed.
 
 Args:
-  name: string, Required.
-
-The task name. For example:
+  name: string, Required. The task name. For example:
 `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message for forcing a task to run now using
@@ -1727,6 +2191,122 @@
   An object of the form:
 
     { # A unit of scheduled work.
+    "httpRequest": { # HTTP request. # HTTP request that is sent to the worker.
+        #
+        # An HTTP task is a task that has HttpRequest set.
+        #
+        # The task will be pushed to the worker as an HTTP request. If the worker
+        # or the redirected worker acknowledges the task by returning a successful HTTP
+        # response code ([`200` - `299`]), the task will be removed from the queue. If
+        # any other HTTP response code is returned or no response is received, the
+        # task will be retried according to the following:
+        #
+        # * User-specified throttling: retry configuration,
+        #   rate limits, and the queue's state.
+        #
+        # * System throttling: To prevent the worker from overloading, Cloud Tasks may
+        #   temporarily reduce the queue's effective rate. User-specified settings
+        #   will not be changed.
+        #
+        #  System throttling happens because:
+        #
+        #   * Cloud Tasks backs off on all errors. Normally the backoff specified in
+        #     rate limits will be used. But if the worker returns
+        #     `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
+        #     errors is high, Cloud Tasks will use a higher backoff rate. The retry
+        #     specified in the `Retry-After` HTTP response header is considered.
+        #
+        #   * To prevent traffic spikes and to smooth sudden increases in traffic,
+        #     dispatches ramp up slowly when the queue is newly created or idle and
+        #     if large numbers of tasks suddenly become available to dispatch (due to
+        #     spikes in create task rates, the queue being unpaused, or many tasks
+        #     that are scheduled at the same time).
+      "body": "A String", # HTTP request body.
+          #
+          # A request body is allowed only if the
+          # HTTP method is POST, PUT, or PATCH. It is an
+          # error to set body on a task with an incompatible HttpMethod.
+      "headers": { # HTTP request headers.
+          #
+          # This map contains the header field names and values.
+          # Headers can be set when the
+          # task is created.
+          #
+          # These headers represent a subset of the headers that will accompany the
+          # task's HTTP request. Some HTTP request headers will be ignored or replaced.
+          #
+          # A partial list of headers that will be ignored or replaced is:
+          #
+          # * Host: This will be computed by Cloud Tasks and derived from
+          #   HttpRequest.url.
+          # * Content-Length: This will be computed by Cloud Tasks.
+          # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
+          # * X-Google-*: Google use only.
+          # * X-AppEngine-*: Google use only.
+          #
+          # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+          # `Content-Type` to a media type when the
+          #  task is created.
+          #  For example, `Content-Type` can be set to `"application/octet-stream"` or
+          #  `"application/json"`.
+          #
+          # Headers which can have multiple values (according to RFC2616) can be
+          # specified using comma-separated values.
+          #
+          # The size of the headers must be less than 80KB.
+        "a_key": "A String",
+      },
+      "url": "A String", # Required. The full url path that the request will be sent to.
+          #
+          # This string must begin with either "http://" or "https://". Some examples
+          # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
+          # encode some characters for safety and compatibility. The maximum allowed
+          # URL length is 2083 characters after encoding.
+          #
+          # The `Location` header response from a redirect response [`300` - `399`]
+          # may be followed. The redirect is not counted as a separate attempt.
+      "oidcToken": { # Contains information needed for generating an # If specified, an
+          # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+          # token will be generated and attached as an `Authorization` header in the
+          # HTTP request.
+          #
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+          # [OpenID Connect
+          # token](https://developers.google.com/identity/protocols/OpenIDConnect).
+          # This type of authorization can be used for many scenarios, including
+          # calling Cloud Run, or endpoints where you intend to validate the token
+          # yourself.
+        "audience": "A String", # Audience to be used when generating OIDC token. If not specified, the URI
+            # specified in target will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OIDC token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "oauthToken": { # Contains information needed for generating an # If specified, an
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
+          # will be generated and attached as an `Authorization` header in the HTTP
+          # request.
+          #
+          # This type of authorization should generally only be used when calling
+          # Google APIs hosted on *.googleapis.com.
+          # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
+          # This type of authorization should generally only be used when calling Google
+          # APIs hosted on *.googleapis.com.
+        "scope": "A String", # OAuth scope to be used for generating OAuth access token.
+            # If not specified, "https://www.googleapis.com/auth/cloud-platform"
+            # will be used.
+        "serviceAccountEmail": "A String", # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
+            # to be used for generating OAuth token.
+            # The service account must be within the same project as the queue. The
+            # caller must have iam.serviceAccounts.actAs permission for the service
+            # account.
+      },
+      "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
+    },
     "appEngineHttpRequest": { # App Engine HTTP request. # HTTP request that is sent to the App Engine app handler.
         #
         # An App Engine task is a task that has AppEngineHttpRequest set.
@@ -1757,11 +2337,10 @@
         # The AppEngineRouting used to construct the URL that the task is
         # delivered to can be set at the queue-level or task-level:
         #
-        # * 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.
+        # * If app_engine_routing_override is set on the
+        #   queue, this value is used for all
+        #   tasks in the queue, no matter what the setting is for the task-level
+        #   app_engine_routing.
         #
         #
         # The `url` that the task will be sent to is:
@@ -1829,7 +2408,7 @@
           # In addition, Cloud Tasks sets some headers when the task is dispatched,
           # such as headers containing information about the task; see
           # [request
-          # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).
+          # headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
           # These headers are set only when the task is dispatched, so they are not
           # visible when the task is returned in a Cloud Tasks response.
           #
@@ -1840,10 +2419,10 @@
       },
       "appEngineRouting": { # App Engine Routing. # Task-level setting for 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.
+          # * If app_engine_routing_override is set on the
+          #   queue, this value 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.
@@ -1857,6 +2436,13 @@
           # 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).
+          #
+          # Using AppEngineRouting 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`
         "instance": "A String", # App instance.
             #
             # By default, the task is sent to an instance which is available when
@@ -1873,7 +2459,7 @@
         "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
+            # the queue's project ID (for example &lt;app-id&gt;.appspot.com), and the
             # service, version,
             # and instance. Tasks which were created using
             # the App Engine SDK might have a custom domain name.
@@ -1923,15 +2509,32 @@
       "httpMethod": "A String", # The HTTP method to use for the request. The default is POST.
           #
           # The app's request handler for the task's target URL must be able to handle
-          # HTTP requests with this http_method, otherwise the task attempt will fail
-          # with error code 405 (Method Not Allowed). See
-          # [Writing a push task request
+          # HTTP requests with this http_method, otherwise the task attempt fails with
+          # error code 405 (Method Not Allowed). See [Writing a push task request
           # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
-          # and the documentation for the request handlers in the language your app is
-          # written in e.g.
-          # [Python Request
-          # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
+          # and the App Engine documentation for your runtime on [How Requests are
+          # Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).
     },
+    "name": "A String", # Optionally caller-specified in CreateTask.
+        #
+        # The task name.
+        #
+        # The task name must have the following format:
+        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
+        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
+        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
     "firstAttempt": { # The status of a task attempt. # Output only. The status of the task's first attempt.
         #
         # Only dispatch_time will be set.
@@ -1999,29 +2602,7 @@
           #
           # `dispatch_time` will be truncated to the nearest microsecond.
     },
-    "name": "A String", # Optionally caller-specified in CreateTask.
-        #
-        # The task name.
-        #
-        # The task name must have the following format:
-        # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_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 task'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.
-        # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-        #   hyphens (-), or underscores (_). The maximum length is 500 characters.
-    "scheduleTime": "A String", # The time when the task is scheduled to be attempted.
-        #
-        # For App Engine queues, this is when the task will be attempted or retried.
+    "scheduleTime": "A String", # The time when the task is scheduled to be attempted or retried.
         #
         # `schedule_time` will be truncated to the nearest microsecond.
     "dispatchDeadline": "A String", # The deadline for requests sent to the worker. If the worker does not
@@ -2036,6 +2617,8 @@
         #
         # The default and maximum values depend on the type of request:
         #
+        # * For HTTP tasks, the default is 10 minutes. The deadline
+        #   must be in the interval [15 seconds, 30 minutes].
         #
         # * For App Engine tasks, 0 indicates that the
         #   request has the default deadline. The default deadline depends on the