Types for Cloud Tasks API Client#

class google.cloud.tasks_v2.types.Any#
type_url#

Field google.protobuf.Any.type_url

value#

Field google.protobuf.Any.value

class google.cloud.tasks_v2.types.AppEngineHttpRequest#

App Engine HTTP request.

The message defines the HTTP request that is sent to an App Engine app when the task is dispatched.

Using [AppEngineHttpRequest][google.cloud.tasks.v2.AppEngineHttpRequest] 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

The task will be delivered to the App Engine app which belongs to the same project as the queue. For more information, see How Requests are Routed and how routing is affected by dispatch files. Traffic is encrypted during transport and never leaves Google datacenters. Because this traffic is carried over a communication mechanism internal to Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS). The request to the handler, however, will appear to have used the HTTP protocol.

The [AppEngineRouting][google.cloud.tasks.v2.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][google.cloud.tasks.v2.AppEngineHttpQueue.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][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing].

The url that the task will be sent to is:

  • url = [host][google.cloud.tasks.v2.AppEngineRouting.host] + [relative_uri][google.cloud.tasks.v2.AppEngineHttpRequest.relative_uri]

Tasks can be dispatched to secure app handlers, unsecure app handlers, and URIs restricted with `login: admin <https://cloud.google.com/appengine/docs/standard/python/config/appref>`_. Because tasks are not run as any user, they cannot be dispatched to URIs restricted with `login: required <https://cloud.google.com/appengine/docs/standard/python/config/appref>`_ Task dispatches also do not follow redirects.

The task attempt has succeeded if the app’s request handler returns an HTTP response code in the range [200 - 299]. The task attempt has failed if the app’s handler returns a non-2xx response code or Cloud Tasks does not receive response before the [deadline][google.cloud.tasks.v2.Task.dispatch_deadline]. Failed tasks will be retried according to the [retry configuration][Queue.RetryConfig]. 503 (Service Unavailable) is considered an App Engine system error instead of an application error and will cause Cloud Tasks’ traffic congestion control to temporarily throttle the queue’s dispatches. Unlike other types of task targets, a 429 (Too Many Requests) response from an app handler does not cause traffic congestion control to throttle the queue.

http_method#

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 handler and the documentation for the request handlers in the language your app is written in e.g. Python Request Handler.

app_engine_routing#

Task-level setting for App Engine routing. If set, [app_engi ne_routing_override][google.cloud.tasks.v2.AppEngineHttpQueu e.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][google.cloud.tasks.v2.AppEngineHttpRequest.ap p_engine_routing].

relative_uri#

The relative URI. The relative URI must begin with “/” and must be a valid HTTP relative URI. It can contain a path and query string arguments. If the relative URI is empty, then the root path “/” will be used. No spaces are allowed, and the maximum length allowed is 2083 characters.

headers#

HTTP request headers. This map contains the header field names and values. Headers can be set when the [task is created][google.cloud.tasks.v2.CloudTasks.CreateTask]. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: - User-Agent: By default, this header is "AppEngine-Google; (+http://code.google.com/appengine)". This header can be modified, but Cloud Tasks will append "AppEngine-Google; (+http://code.google.com/appengine)" to the modified User-Agent. If the task has a [body][google.cloud.tasks.v2.AppEngineHttpRequest.body], Cloud Tasks sets the following headers: - Content-Type: By default, the Content-Type header is set to "application/octet-stream". The default can be overridden by explicitly setting Content-Type to a particular media type when the [task is created][google.cloud.tasks.v2.CloudTasks.CreateTask]. For example, Content-Type can be set to "application/json". - Content-Length: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: - Host - X-Google-* - X-AppEngine-* In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see 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. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the [Task][google.cloud.tasks.v2.Task]. For more information, see the [CreateTask][google.cloud.tasks.v2.CloudTasks.CreateTask] documentation.

body#

HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It is an error to set a body on a task with an incompatible [HttpMethod][google.cloud.tasks.v2.HttpMethod].

class HeadersEntry#
key#

Field google.cloud.tasks.v2.AppEngineHttpRequest.HeadersEntry.key

value#

Field google.cloud.tasks.v2.AppEngineHttpRequest.HeadersEntry.value

app_engine_routing

Field google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing

body

Field google.cloud.tasks.v2.AppEngineHttpRequest.body

headers

Field google.cloud.tasks.v2.AppEngineHttpRequest.headers

http_method

Field google.cloud.tasks.v2.AppEngineHttpRequest.http_method

relative_uri

Field google.cloud.tasks.v2.AppEngineHttpRequest.relative_uri

class google.cloud.tasks_v2.types.AppEngineRouting#

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, Microservices Architecture on Google App Engine, App Engine Standard request routing, and App Engine Flex request routing.

service#

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][google.cloud.tasks.v2.AppEngineRouting.host] is not parsable into [service][google.cloud.tasks.v2.AppEngineRouting.service], [version][google.cloud.tasks.v2.AppEngineRouting.version], and [instance][google.cloud.tasks.v2.AppEngineRouting.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][google.cloud.tasks.v2.AppEngineRouting.host] is not parsable, then [service][google.cloud.tasks.v2.AppEngineRouting.service], [version][google.cloud.tasks.v2.AppEngineRouting.version], and [instance][google.cloud.tasks.v2.AppEngineRouting.instance] are the empty string.

version#

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][google.cloud.tasks.v2.AppEngineRouting.host] is not parsable into [service][google.cloud.tasks.v2.AppEngineRouting.service], [version][google.cloud.tasks.v2.AppEngineRouting.version], and [instance][google.cloud.tasks.v2.AppEngineRouting.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][google.cloud.tasks.v2.AppEngineRouting.host] is not parsable, then [service][google.cloud.tasks.v2.AppEngineRouting.service], [version][google.cloud.tasks.v2.AppEngineRouting.version], and [instance][google.cloud.tasks.v2.AppEngineRouting.instance] are the empty string.

instance#

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. App Engine Flex does not support instances. For more information, see App Engine Standard request routing and App Engine Flex request routing.

host#

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 .appspot.com), and the [service][google.cloud.tasks.v2.AppEngineRouting.service], [version][google.cloud.tasks.v2.AppEngineRouting.version], and [instance][google.cloud.tasks.v2.AppEngineRouting.instance]. Tasks which were created using the App Engine SDK might have a custom domain name. For more information, see How Requests are Routed.

host

Field google.cloud.tasks.v2.AppEngineRouting.host

instance

Field google.cloud.tasks.v2.AppEngineRouting.instance

service

Field google.cloud.tasks.v2.AppEngineRouting.service

version

Field google.cloud.tasks.v2.AppEngineRouting.version

class google.cloud.tasks_v2.types.Attempt#

The status of a task attempt.

schedule_time#

Output only. The time that this attempt was scheduled. schedule_time will be truncated to the nearest microsecond.

dispatch_time#

Output only. The time that this attempt was dispatched. dispatch_time will be truncated to the nearest microsecond.

response_time#

Output only. The time that this attempt response was received. response_time will be truncated to the nearest microsecond.

response_status#

Output only. The response from the worker for this attempt. If response_time is unset, then the task has not been attempted or is currently running and the response_status field is meaningless.

dispatch_time

Field google.cloud.tasks.v2.Attempt.dispatch_time

response_status

Field google.cloud.tasks.v2.Attempt.response_status

response_time

Field google.cloud.tasks.v2.Attempt.response_time

schedule_time

Field google.cloud.tasks.v2.Attempt.schedule_time

class google.cloud.tasks_v2.types.AuditConfigDelta#

One delta entry for AuditConfig. Each individual change (only one exempted_member in each entry) to a AuditConfig will be a separate entry.

action#

The action that was performed on an audit configuration in a policy. Required

service#

Specifies a service that was configured for Cloud Audit Logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services. Required

exempted_member#

A single identity that is exempted from “data access” audit logging for the service specified above. Follows the same format of Binding.members.

log_type#

Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always enabled, and cannot be configured. Required

action

Field google.iam.v1.AuditConfigDelta.action

exempted_member

Field google.iam.v1.AuditConfigDelta.exempted_member

log_type

Field google.iam.v1.AuditConfigDelta.log_type

service

Field google.iam.v1.AuditConfigDelta.service

class google.cloud.tasks_v2.types.Binding#

Associates members with a role.

role#

Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner.

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.

condition#

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.

condition

Field google.iam.v1.Binding.condition

members

Field google.iam.v1.Binding.members

role

Field google.iam.v1.Binding.role

class google.cloud.tasks_v2.types.BindingDelta#

One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.

action#

The action that was performed on a Binding. Required

role#

Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner. Required

member#

A single identity requesting access for a Cloud Platform resource. Follows the same format of Binding.members. Required

condition#

Unimplemented. The condition that is associated with this binding. This field is logged only for Cloud Audit Logging.

action

Field google.iam.v1.BindingDelta.action

condition

Field google.iam.v1.BindingDelta.condition

member

Field google.iam.v1.BindingDelta.member

role

Field google.iam.v1.BindingDelta.role

class google.cloud.tasks_v2.types.CreateQueueRequest#

Request message for [CreateQueue][google.cloud.tasks.v2.CloudTasks.CreateQueue].

parent#

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][google.cloud.location.Locati ons.ListLocations].

queue#

Required. The queue to create. [Queue’s name][google.cloud.tasks.v2.Queue.name] cannot be the same as an existing queue.

parent

Field google.cloud.tasks.v2.CreateQueueRequest.parent

queue

Field google.cloud.tasks.v2.CreateQueueRequest.queue

class google.cloud.tasks_v2.types.CreateTaskRequest#

Request message for [CreateTask][google.cloud.tasks.v2.CloudTasks.CreateTask].

parent#

Required. The queue name. For example: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID The queue must already exist.

task#

Required. The task to add. Task names have the following format: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUE UE_ID/tasks/TASK_ID. The user can optionally specify a task [name][google.cloud.tasks.v2.Task.name]. If a name is not specified then the system will generate a random unique task id, which will be set in the task returned in the [response][google.cloud.tasks.v2.Task.name]. If [schedule_time][google.cloud.tasks.v2.Task.schedule_time] is not set or is in the past then Cloud Tasks will set it to the current time. Task De-duplication: Explicitly specifying a task ID enables task de-duplication. If a task’s ID is identical to that of an existing task or a task that was deleted or executed recently then the call will fail with [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS]. If the task’s queue was created using Cloud Tasks, then another task with the same name can’t be created for ~1hour after the original task was deleted or executed. If the task’s queue was created using queue.yaml or queue.xml, then another task with the same name can’t be created for ~9days after the original task was deleted or executed. Because there is an extra lookup cost to identify duplicate task names, these [CreateTask][google.cloud.tasks.v2.CloudTasks.CreateTask] calls have significantly increased latency. Using hashed strings for the task id or for the prefix of the task id is recommended. Choosing task ids that are sequential or have sequential prefixes, for example using a timestamp, causes an increase in latency and error rates in all task commands. The infrastructure relies on an approximately uniform distribution of task ids to store and serve tasks efficiently.

response_view#

The response_view specifies which subset of the [Task][google.cloud.tasks.v2.Task] will be returned. By default response_view is [BASIC][google.cloud.tasks.v2.Task.View.BASIC]; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for [FULL][google.cloud.tasks.v2.Task.View.FULL] requires cloudtasks.tasks.fullView Google IAM permission on the [Task][google.cloud.tasks.v2.Task] resource.

parent

Field google.cloud.tasks.v2.CreateTaskRequest.parent

response_view

Field google.cloud.tasks.v2.CreateTaskRequest.response_view

task

Field google.cloud.tasks.v2.CreateTaskRequest.task

class google.cloud.tasks_v2.types.DeleteQueueRequest#

Request message for [DeleteQueue][google.cloud.tasks.v2.CloudTasks.DeleteQueue].

name#

Required. The queue name. For example: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID

name

Field google.cloud.tasks.v2.DeleteQueueRequest.name

class google.cloud.tasks_v2.types.DeleteTaskRequest#

Request message for deleting a task using [DeleteTask][google.cloud.tasks.v2.CloudTasks.DeleteTask].

name#

Required. The task name. For example: projects/PROJECT_ID/l ocations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID

name

Field google.cloud.tasks.v2.DeleteTaskRequest.name

class google.cloud.tasks_v2.types.Duration#
nanos#

Field google.protobuf.Duration.nanos

seconds#

Field google.protobuf.Duration.seconds

class google.cloud.tasks_v2.types.Empty#
class google.cloud.tasks_v2.types.Expr#
description#

Field google.type.Expr.description

expression#

Field google.type.Expr.expression

location#

Field google.type.Expr.location

title#

Field google.type.Expr.title

class google.cloud.tasks_v2.types.FieldMask#
paths#

Field google.protobuf.FieldMask.paths

class google.cloud.tasks_v2.types.GetIamPolicyRequest#

Request message for GetIamPolicy method.

resource#

REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

options#

OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy. This field is only used by Cloud IAM.

options

Field google.iam.v1.GetIamPolicyRequest.options

resource

Field google.iam.v1.GetIamPolicyRequest.resource

class google.cloud.tasks_v2.types.GetPolicyOptions#

Encapsulates settings provided to GetIamPolicy.

requested_policy_version#

Optional. The policy format version to be returned. Acceptable values are 0 and 1. If the value is 0, or the field is omitted, policy format version 1 will be returned.

requested_policy_version

Field google.iam.v1.GetPolicyOptions.requested_policy_version

class google.cloud.tasks_v2.types.GetQueueRequest#

Request message for [GetQueue][google.cloud.tasks.v2.CloudTasks.GetQueue].

name#

Required. The resource name of the queue. For example: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID

name

Field google.cloud.tasks.v2.GetQueueRequest.name

class google.cloud.tasks_v2.types.GetTaskRequest#

Request message for getting a task using [GetTask][google.cloud.tasks.v2.CloudTasks.GetTask].

name#

Required. The task name. For example: projects/PROJECT_ID/l ocations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID

response_view#

The response_view specifies which subset of the [Task][google.cloud.tasks.v2.Task] will be returned. By default response_view is [BASIC][google.cloud.tasks.v2.Task.View.BASIC]; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for [FULL][google.cloud.tasks.v2.Task.View.FULL] requires cloudtasks.tasks.fullView Google IAM permission on the [Task][google.cloud.tasks.v2.Task] resource.

name

Field google.cloud.tasks.v2.GetTaskRequest.name

response_view

Field google.cloud.tasks.v2.GetTaskRequest.response_view

class google.cloud.tasks_v2.types.ListQueuesRequest#

Request message for [ListQueues][google.cloud.tasks.v2.CloudTasks.ListQueues].

parent#

Required. The location name. For example: projects/PROJECT_ID/locations/LOCATION_ID

filter#

filter can be used to specify a subset of queues. Any [Queue][google.cloud.tasks.v2.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. Sample filter “state: PAUSED”. Note that using filters might cause fewer queues than the requested page_size to be returned.

page_size#

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][google.cloud.tasks.v2.ListQueuesRe sponse.next_page_token] in the response to determine if more queues exist.

page_token#

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 [ne xt_page_token][google.cloud.tasks.v2.ListQueuesResponse.next _page_token] returned from the previous call to [ListQueues][google.cloud.tasks.v2.CloudTasks.ListQueues] method. It is an error to switch the value of the [filter][google.cloud.tasks.v2.ListQueuesRequest.filter] while iterating through pages.

filter

Field google.cloud.tasks.v2.ListQueuesRequest.filter

page_size

Field google.cloud.tasks.v2.ListQueuesRequest.page_size

page_token

Field google.cloud.tasks.v2.ListQueuesRequest.page_token

parent

Field google.cloud.tasks.v2.ListQueuesRequest.parent

class google.cloud.tasks_v2.types.ListQueuesResponse#

Response message for [ListQueues][google.cloud.tasks.v2.CloudTasks.ListQueues].

queues#

The list of queues.

next_page_token#

A token to retrieve next page of results. To return the next page of results, call [ListQueues][google.cloud.tasks.v2.CloudTasks.ListQueues] with this value as the [page_token][google.cloud.tasks.v2.ListQueu esRequest.page_token]. If the next_page_token is empty, there are no more results. The page token is valid for only 2 hours.

next_page_token

Field google.cloud.tasks.v2.ListQueuesResponse.next_page_token

queues

Field google.cloud.tasks.v2.ListQueuesResponse.queues

class google.cloud.tasks_v2.types.ListTasksRequest#

Request message for listing tasks using [ListTasks][google.cloud.tasks.v2.CloudTasks.ListTasks].

parent#

Required. The queue name. For example: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID

response_view#

The response_view specifies which subset of the [Task][google.cloud.tasks.v2.Task] will be returned. By default response_view is [BASIC][google.cloud.tasks.v2.Task.View.BASIC]; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for [FULL][google.cloud.tasks.v2.Task.View.FULL] requires cloudtasks.tasks.fullView Google IAM permission on the [Task][google.cloud.tasks.v2.Task] resource.

page_size#

Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use [next_page_token][go ogle.cloud.tasks.v2.ListTasksResponse.next_page_token] in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.

page_token#

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 [ne xt_page_token][google.cloud.tasks.v2.ListTasksResponse.next _page_token] returned from the previous call to [ListTasks][google.cloud.tasks.v2.CloudTasks.ListTasks] method. The page token is valid for only 2 hours.

page_size

Field google.cloud.tasks.v2.ListTasksRequest.page_size

page_token

Field google.cloud.tasks.v2.ListTasksRequest.page_token

parent

Field google.cloud.tasks.v2.ListTasksRequest.parent

response_view

Field google.cloud.tasks.v2.ListTasksRequest.response_view

class google.cloud.tasks_v2.types.ListTasksResponse#

Response message for listing tasks using [ListTasks][google.cloud.tasks.v2.CloudTasks.ListTasks].

tasks#

The list of tasks.

next_page_token#

A token to retrieve next page of results. To return the next page of results, call [ListTasks][google.cloud.tasks.v2.CloudTasks.ListTasks] with this value as the [page_token][google.cloud.tasks.v2.ListTask sRequest.page_token]. If the next_page_token is empty, there are no more results.

next_page_token

Field google.cloud.tasks.v2.ListTasksResponse.next_page_token

tasks

Field google.cloud.tasks.v2.ListTasksResponse.tasks

class google.cloud.tasks_v2.types.PauseQueueRequest#

Request message for [PauseQueue][google.cloud.tasks.v2.CloudTasks.PauseQueue].

name#

Required. The queue name. For example: projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID

name

Field google.cloud.tasks.v2.PauseQueueRequest.name

class google.cloud.tasks_v2.types.Policy#

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.

version#

Deprecated.

bindings#

Associates a list of members to a role. bindings with no members will result in an error.

etag#

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.

bindings

Field google.iam.v1.Policy.bindings

etag

Field google.iam.v1.Policy.etag

version

Field google.iam.v1.Policy.version

class google.cloud.tasks_v2.types.PolicyDelta#

The difference delta between two policies.

binding_deltas#

The delta for Bindings between two policies.

audit_config_deltas#

The delta for AuditConfigs between two policies.

audit_config_deltas

Field google.iam.v1.PolicyDelta.audit_config_deltas

binding_deltas

Field google.iam.v1.PolicyDelta.binding_deltas

class google.cloud.tasks_v2.types.PurgeQueueRequest#

Request message for [PurgeQueue][google.cloud.tasks.v2.CloudTasks.PurgeQueue].

name#

Required. The queue name. For example: projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID

name

Field google.cloud.tasks.v2.PurgeQueueRequest.name

class google.cloud.tasks_v2.types.Queue#

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#

Caller-specified and required in [CreateQueue][google.cloud.tasks.v2.CloudTasks.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 - LOCATION_ID is the canonical ID for the queue’s location. The list of available locations can be obtained by calling [ListLocatio ns][google.cloud.location.Locations.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.

app_engine_routing_override#

Overrides for [task-level app_engine_routing][google.cloud.t asks.v2.AppEngineHttpRequest.app_engine_routing]. These settings apply only to [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest] in this queue. If set, app_engine_routing_override is used for all [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest] in the queue, no matter what the setting is for the [task-level app_ engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.ap p_engine_routing].

rate_limits#

Rate limits for task dispatches. [rate_limits][google.cloud.tasks.v2.Queue.rate_limits] and [retry_config][google.cloud.tasks.v2.Queue.retry_config] are related because they both control task attempts. However they control task attempts in different ways: - [rate_limits][google.cloud.tasks.v2.Queue.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][google.cloud.tasks.v2.Queue.retry_config] controls what happens to particular a task after its first attempt fails. That is, [retry_config][google.cloud.tasks.v2.Queue.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][google.cloud.tasks.v2.Queue.rate_limits], [retry_config][google.cloud.tasks.v2.Queue.retry_config], and the [queue’s state][google.cloud.tasks.v2.Queue.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.

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.

state#

Output only. The state of the queue. state can only be changed by called [PauseQueue][google.cloud.tasks.v2.CloudTasks.PauseQueue], [ResumeQueue][google.cloud.tasks.v2.CloudTasks.ResumeQueue], or uploading queue.yaml/xml. [UpdateQueue][google.cloud.tasks.v2.CloudTasks.UpdateQueue] cannot be used to change state.

purge_time#

Output only. The last time this queue was purged. All tasks that were [created][google.cloud.tasks.v2.Task.create_time] before this time were purged. A queue can be purged using [PurgeQueue][google.cloud.tasks.v2.CloudTasks.PurgeQueue], the App Engine Task Queue SDK, or the Cloud Console. Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.

app_engine_routing_override

Field google.cloud.tasks.v2.Queue.app_engine_routing_override

name

Field google.cloud.tasks.v2.Queue.name

purge_time

Field google.cloud.tasks.v2.Queue.purge_time

rate_limits

Field google.cloud.tasks.v2.Queue.rate_limits

retry_config

Field google.cloud.tasks.v2.Queue.retry_config

state

Field google.cloud.tasks.v2.Queue.state

class google.cloud.tasks_v2.types.RateLimits#

Rate limits.

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][google.cloud.tasks.v2.CloudTasks.RunTask], will run a task even if the queue has reached its [RateLimits][google.cloud.tasks.v2.RateLimits].

max_dispatches_per_second#

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][google.cloud.tasks.v2.AppEngineHttpQueue], the maximum allowed value is 500. This field has the same meaning as rate in queue.yaml/xml.

max_burst_size#

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 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_dispatche s_per_second][google.cloud.tasks.v2.RateLimits.max_dispatch es_per_second]. Cloud Tasks will pick the value of max_burst_size based on the value of [max_dispatches_per _second][google.cloud.tasks.v2.RateLimits.max_dispatches_pe r_second]. For App Engine queues that were created or updated using queue.yaml/xml, max_burst_size is equal to bucket_size. Since max_burst_size is output only, if [UpdateQueue][google.cloud.tasks.v2.CloudTasks.UpdateQueue] is called on a queue created by queue.yaml/xml, max_burst_size will be reset based on the value of [max_d ispatches_per_second][google.cloud.tasks.v2.RateLimits.max_ dispatches_per_second], regardless of whether [max_dispatch es_per_second][google.cloud.tasks.v2.RateLimits.max_dispatc hes_per_second] is updated.

max_concurrent_dispatches#

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.

max_burst_size

Field google.cloud.tasks.v2.RateLimits.max_burst_size

max_concurrent_dispatches

Field google.cloud.tasks.v2.RateLimits.max_concurrent_dispatches

max_dispatches_per_second

Field google.cloud.tasks.v2.RateLimits.max_dispatches_per_second

class google.cloud.tasks_v2.types.ResumeQueueRequest#

Request message for [ResumeQueue][google.cloud.tasks.v2.CloudTasks.ResumeQueue].

name#

Required. The queue name. For example: projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID

name

Field google.cloud.tasks.v2.ResumeQueueRequest.name

class google.cloud.tasks_v2.types.RetryConfig#

Retry config.

These settings determine when a failed task attempt is retried.

max_attempts#

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.

max_retry_duration#

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][google.cloud .tasks.v2.RetryConfig.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.

min_backoff#

A task will be [scheduled][google.cloud.tasks.v2.Task.schedule_time] for retry between [min_backoff][google.cloud.tasks.v2.RetryConfig.min_backoff] and [max_backoff][google.cloud.tasks.v2.RetryConfig.max_backoff] duration after it fails, if the queue’s [RetryConfig][google.cloud.tasks.v2.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.

max_backoff#

A task will be [scheduled][google.cloud.tasks.v2.Task.schedule_time] for retry between [min_backoff][google.cloud.tasks.v2.RetryConfig.min_backoff] and [max_backoff][google.cloud.tasks.v2.RetryConfig.max_backoff] duration after it fails, if the queue’s [RetryConfig][google.cloud.tasks.v2.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.

max_doublings#

The time between retries will double max_doublings times. A task’s retry interval starts at [min_backoff][google.cloud. tasks.v2.RetryConfig.min_backoff], then doubles max_doublings times, then increases linearly, and finally retries retries at intervals of [max_backoff][google.cloud.tasks.v2.RetryConfig.max_backoff] up to [max_attempts][google.cloud.tasks.v2.RetryConfig.max_a ttempts] times. For example, if [min_backoff][google.cloud.tasks.v2.RetryConfig.min_backoff] is 10s, [max_backoff][google.cloud.tasks.v2.RetryConfig.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][google.cloud.tasks.v2.RetryConfig.max_backoff] until the task has been attempted [max_attempts][google.cloud .tasks.v2.RetryConfig.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.

max_attempts

Field google.cloud.tasks.v2.RetryConfig.max_attempts

max_backoff

Field google.cloud.tasks.v2.RetryConfig.max_backoff

max_doublings

Field google.cloud.tasks.v2.RetryConfig.max_doublings

max_retry_duration

Field google.cloud.tasks.v2.RetryConfig.max_retry_duration

min_backoff

Field google.cloud.tasks.v2.RetryConfig.min_backoff

class google.cloud.tasks_v2.types.RunTaskRequest#

Request message for forcing a task to run now using [RunTask][google.cloud.tasks.v2.CloudTasks.RunTask].

name#

Required. The task name. For example: projects/PROJECT_ID/l ocations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID

response_view#

The response_view specifies which subset of the [Task][google.cloud.tasks.v2.Task] will be returned. By default response_view is [BASIC][google.cloud.tasks.v2.Task.View.BASIC]; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for [FULL][google.cloud.tasks.v2.Task.View.FULL] requires cloudtasks.tasks.fullView Google IAM permission on the [Task][google.cloud.tasks.v2.Task] resource.

name

Field google.cloud.tasks.v2.RunTaskRequest.name

response_view

Field google.cloud.tasks.v2.RunTaskRequest.response_view

class google.cloud.tasks_v2.types.SetIamPolicyRequest#

Request message for SetIamPolicy method.

resource#

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

policy#

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.

policy

Field google.iam.v1.SetIamPolicyRequest.policy

resource

Field google.iam.v1.SetIamPolicyRequest.resource

class google.cloud.tasks_v2.types.Status#
code#

Field google.rpc.Status.code

details#

Field google.rpc.Status.details

message#

Field google.rpc.Status.message

class google.cloud.tasks_v2.types.Task#

A unit of scheduled work.

name#

Optionally caller-specified in [CreateTask][google.cloud.tasks.v2.CloudTasks.CreateTask]. The task name. The task name must have the following format: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/ta sks/TASK_ID - PROJECT_ID can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see Identifying projects - LOCATION_ID is the canonical ID for the task’s location. The list of available locations can be obtained by calling [ListLocations][google .cloud.location.Locations.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.

message_type#

Required. The message to send to the worker.

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][goog le.cloud.tasks.v2.AppEngineHttpRequest] set.

schedule_time#

The time when the task is scheduled to be attempted. For App Engine queues, this is when the task will be attempted or retried. schedule_time will be truncated to the nearest microsecond.

create_time#

Output only. The time that the task was created. create_time will be truncated to the nearest second.

dispatch_deadline#

The deadline for requests sent to the worker. If the worker does not respond by this deadline then the request is cancelled and the attempt is marked as a DEADLINE_EXCEEDED failure. Cloud Tasks will retry the task according to the [RetryConfig][google.cloud.tasks.v2.RetryConfig]. Note that when the request is cancelled, Cloud Tasks will stop listing for the response, but whether the worker stops processing depends on the worker. For example, if the worker is stuck, it may not react to cancelled requests. The default and maximum values depend on the type of request: - For [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest], 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. Regardless of the task’s dispatch_deadline, the app handler will not run for longer than than the service’s timeout. We recommend setting the dispatch_deadline to at most a few seconds more than the app handler’s timeout. For more information see Timeouts. dispatch_deadline will be truncated to the nearest millisecond. The deadline is an approximate deadline.

dispatch_count#

Output only. The number of attempts dispatched. This count includes attempts which have been dispatched but haven’t received a response.

response_count#

Output only. The number of attempts which have received a response.

first_attempt#

Output only. The status of the task’s first attempt. Only [dispatch_time][google.cloud.tasks.v2.Attempt.dispatch_time] will be set. The other [Attempt][google.cloud.tasks.v2.Attempt] information is not retained by Cloud Tasks.

last_attempt#

Output only. The status of the task’s last attempt.

view#

Output only. The view specifies which subset of the [Task][google.cloud.tasks.v2.Task] has been returned.

app_engine_http_request

Field google.cloud.tasks.v2.Task.app_engine_http_request

create_time

Field google.cloud.tasks.v2.Task.create_time

dispatch_count

Field google.cloud.tasks.v2.Task.dispatch_count

dispatch_deadline

Field google.cloud.tasks.v2.Task.dispatch_deadline

first_attempt

Field google.cloud.tasks.v2.Task.first_attempt

last_attempt

Field google.cloud.tasks.v2.Task.last_attempt

name

Field google.cloud.tasks.v2.Task.name

response_count

Field google.cloud.tasks.v2.Task.response_count

schedule_time

Field google.cloud.tasks.v2.Task.schedule_time

view

Field google.cloud.tasks.v2.Task.view

class google.cloud.tasks_v2.types.TestIamPermissionsRequest#

Request message for TestIamPermissions method.

resource#

REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

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.

permissions

Field google.iam.v1.TestIamPermissionsRequest.permissions

resource

Field google.iam.v1.TestIamPermissionsRequest.resource

class google.cloud.tasks_v2.types.TestIamPermissionsResponse#

Response message for TestIamPermissions method.

permissions#

A subset of TestPermissionsRequest.permissions that the caller is allowed.

permissions

Field google.iam.v1.TestIamPermissionsResponse.permissions

class google.cloud.tasks_v2.types.Timestamp#
nanos#

Field google.protobuf.Timestamp.nanos

seconds#

Field google.protobuf.Timestamp.seconds

class google.cloud.tasks_v2.types.UpdateQueueRequest#

Request message for [UpdateQueue][google.cloud.tasks.v2.CloudTasks.UpdateQueue].

queue#

Required. The queue to create or update. The queue’s [name][google.cloud.tasks.v2.Queue.name] must be specified. Output only fields cannot be modified using UpdateQueue. Any value specified for an output only field will be ignored. The queue’s [name][google.cloud.tasks.v2.Queue.name] cannot be changed.

update_mask#

A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.

queue

Field google.cloud.tasks.v2.UpdateQueueRequest.queue

update_mask

Field google.cloud.tasks.v2.UpdateQueueRequest.update_mask