| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: deprecated_member_use_from_same_package |
| // ignore_for_file: doc_directive_unknown |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unintended_html_in_doc_comment |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| /// Cloud Tasks API - v2 |
| /// |
| /// Manages the execution of large numbers of distributed requests. |
| /// |
| /// For more information, see <https://cloud.google.com/tasks/> |
| /// |
| /// Create an instance of [CloudTasksApi] to access these resources: |
| /// |
| /// - [ProjectsResource] |
| /// - [ProjectsLocationsResource] |
| /// - [ProjectsLocationsQueuesResource] |
| /// - [ProjectsLocationsQueuesTasksResource] |
| library; |
| |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| import 'dart:core' as core; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| import '../shared.dart'; |
| import '../src/user_agent.dart'; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| /// Manages the execution of large numbers of distributed requests. |
| class CloudTasksApi { |
| /// See, edit, configure, and delete your Google Cloud data and see the email |
| /// address for your Google Account. |
| static const cloudPlatformScope = |
| 'https://www.googleapis.com/auth/cloud-platform'; |
| |
| /// Manage tasks and queues in the Cloud Tasks service |
| static const cloudTasksScope = 'https://www.googleapis.com/auth/cloud-tasks'; |
| |
| final commons.ApiRequester _requester; |
| |
| ProjectsResource get projects => ProjectsResource(_requester); |
| |
| CloudTasksApi( |
| http.Client client, { |
| core.String rootUrl = 'https://cloudtasks.googleapis.com/', |
| core.String servicePath = '', |
| }) : _requester = commons.ApiRequester( |
| client, |
| rootUrl, |
| servicePath, |
| requestHeaders, |
| ); |
| } |
| |
| class ProjectsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsResource get locations => |
| ProjectsLocationsResource(_requester); |
| |
| ProjectsResource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsLocationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsQueuesResource get queues => |
| ProjectsLocationsQueuesResource(_requester); |
| |
| ProjectsLocationsResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Gets information about a location. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Resource name for the location. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Location]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Location> get(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Location.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the CMEK config. |
| /// |
| /// Gets the Customer Managed Encryption Key configured with the Cloud Tasks |
| /// lcoation. By default there is no kms_key configured. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The config. For example: |
| /// projects/PROJECT_ID/locations/LOCATION_ID/CmekConfig\` |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+/cmekConfig$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [CmekConfig]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<CmekConfig> getCmekConfig( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return CmekConfig.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Lists information about the supported locations for this service. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource that owns the locations collection, if applicable. |
| /// Value must have pattern `^projects/\[^/\]+$`. |
| /// |
| /// [extraLocationTypes] - Optional. Unless explicitly documented otherwise, |
| /// don't use this unsupported field which is primarily intended for internal |
| /// usage. |
| /// |
| /// [filter] - A filter to narrow down results to a preferred subset. The |
| /// filtering language accepts strings like `"displayName=tokyo"`, and is |
| /// documented in more detail in \[AIP-160\](https://google.aip.dev/160). |
| /// |
| /// [pageSize] - The maximum number of results to return. If not set, the |
| /// service selects a default. |
| /// |
| /// [pageToken] - A page token received from the `next_page_token` field in |
| /// the response. Send that page token to receive the subsequent page. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListLocationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListLocationsResponse> list( |
| core.String name, { |
| core.List<core.String>? extraLocationTypes, |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (extraLocationTypes != null) 'extraLocationTypes': extraLocationTypes, |
| if (filter != null) 'filter': [filter], |
| if (pageSize != null) 'pageSize': ['${pageSize}'], |
| if (pageToken != null) 'pageToken': [pageToken], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name') + '/locations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListLocationsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Creates or Updates a CMEK config. |
| /// |
| /// Updates the Customer Managed Encryption Key assotiated with the Cloud |
| /// Tasks location (Creates if the key does not already exist). All new tasks |
| /// created in the location will be encrypted at-rest with the KMS-key |
| /// provided in the config. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Output only. The config resource name which includes the project |
| /// and location and must end in 'cmekConfig', in the format |
| /// projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig\` |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+/cmekConfig$`. |
| /// |
| /// [updateMask] - List of fields to be updated in this request. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [CmekConfig]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<CmekConfig> updateCmekConfig( |
| CmekConfig request, |
| core.String name, { |
| core.String? updateMask, |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (updateMask != null) 'updateMask': [updateMask], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return CmekConfig.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsQueuesResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsQueuesTasksResource get tasks => |
| ProjectsLocationsQueuesTasksResource(_requester); |
| |
| ProjectsLocationsQueuesResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates a queue. |
| /// |
| /// Queues created with this method allow tasks to live for a maximum of 31 |
| /// days. After a task is 31 days old, the task will be deleted regardless of |
| /// whether it was dispatched or not. WARNING: Using this method may have |
| /// unintended side effects if you are using an App Engine `queue.yaml` or |
| /// `queue.xml` file to manage your queues. Read |
| /// [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) |
| /// before using this method. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [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. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> create( |
| Queue request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/queues'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a queue. |
| /// |
| /// This command will delete the queue even if it has tasks in it. Note: If |
| /// you delete a queue, you may be prevented from creating a new queue with |
| /// the same name as the deleted queue for a tombstone window of up to 3 days. |
| /// During this window, the CreateQueue operation may appear to recreate the |
| /// queue, but this can be misleading. If you attempt to create a queue with |
| /// the same name as one that is in the tombstone window, run GetQueue to |
| /// confirm that the queue creation was successful. If GetQueue returns 200 |
| /// response code, your queue was successfully created with the name of the |
| /// previously deleted queue. Otherwise, your queue did not successfully |
| /// recreate. WARNING: Using this method may have unintended side effects if |
| /// you are using an App Engine `queue.yaml` or `queue.xml` file to manage |
| /// your queues. Read |
| /// [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) |
| /// before using this method. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets a queue. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name of the queue. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> get(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the access control policy for a Queue. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. Authorization requires the following |
| /// [Google IAM](https://cloud.google.com/iam) permission on the specified |
| /// resource parent: * `cloudtasks.queues.getIamPolicy` |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - REQUIRED: The resource for which the policy is being |
| /// requested. See |
| /// [Resource names](https://cloud.google.com/apis/design/resource_names) for |
| /// the appropriate value for this field. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| GetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists queues. |
| /// |
| /// Queues are returned in lexicographical order. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The location name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID` |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - `filter` can be used to specify a subset of queues. Any Queue |
| /// field can be used as a filter and several operators as supported. For |
| /// example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same as |
| /// described in |
| /// [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). |
| /// Sample filter "state: PAUSED". Note that using filters might cause fewer |
| /// queues than the requested page_size to be returned. |
| /// |
| /// [pageSize] - Requested page size. The maximum page size is 9800. If |
| /// unspecified, the page size will be the maximum. Fewer queues than |
| /// requested might be returned, even if more queues exist; use the |
| /// next_page_token in the response to determine if more queues exist. |
| /// |
| /// [pageToken] - A token identifying the page of results to return. To |
| /// request the first page results, page_token must be empty. To request the |
| /// next page of results, page_token must be the value of next_page_token |
| /// returned from the previous call to ListQueues method. It is an error to |
| /// switch the value of the filter while iterating through pages. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListQueuesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListQueuesResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (filter != null) 'filter': [filter], |
| if (pageSize != null) 'pageSize': ['${pageSize}'], |
| if (pageToken != null) 'pageToken': [pageToken], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/queues'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListQueuesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates a queue. |
| /// |
| /// This method creates the queue if it does not exist and updates the queue |
| /// if it does exist. Queues created with this method allow tasks to live for |
| /// a maximum of 31 days. After a task is 31 days old, the task will be |
| /// deleted regardless of whether it was dispatched or not. WARNING: Using |
| /// this method may have unintended side effects if you are using an App |
| /// Engine `queue.yaml` or `queue.xml` file to manage your queues. Read |
| /// [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) |
| /// before using this method. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Caller-specified and required in CreateQueue, after which it |
| /// becomes output only. The queue name. The queue name must have the |
| /// following format: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` |
| /// can contain letters (\[A-Za-z\]), numbers (\[0-9\]), hyphens (-), colons |
| /// (:), or periods (.). For more information, see |
| /// [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) |
| /// * `LOCATION_ID` is the canonical ID for the queue's location. The list of |
| /// available locations can be obtained by calling ListLocations. For more |
| /// information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` |
| /// can contain letters (\[A-Za-z\]), numbers (\[0-9\]), or hyphens (-). The |
| /// maximum length is 100 characters. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [updateMask] - A mask used to specify which fields of the queue are being |
| /// updated. If empty, then all fields will be updated. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> patch( |
| Queue request, |
| core.String name, { |
| core.String? updateMask, |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (updateMask != null) 'updateMask': [updateMask], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Pauses the queue. |
| /// |
| /// If a queue is paused then the system will stop dispatching tasks until the |
| /// queue is resumed via ResumeQueue. Tasks can still be added when the queue |
| /// is paused. A queue is paused if its state is PAUSED. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> pause( |
| PauseQueueRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name') + ':pause'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Purges a queue by deleting all of its tasks. |
| /// |
| /// All tasks created before this method is called are permanently deleted. |
| /// Purge operations can take up to one minute to take effect. Tasks might be |
| /// dispatched before the purge takes effect. A purge is irreversible. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> purge( |
| PurgeQueueRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name') + ':purge'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Resume a queue. |
| /// |
| /// This method resumes a queue after it has been PAUSED or DISABLED. The |
| /// state of a queue is stored in the queue's state; after calling this method |
| /// it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the |
| /// same time can lead to target overloading. If you are resuming high-QPS |
| /// queues, follow the 500/50/5 pattern described in |
| /// [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling). |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Queue]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Queue> resume( |
| ResumeQueueRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name') + ':resume'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Queue.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the access control policy for a Queue. |
| /// |
| /// Replaces any existing policy. Note: The Cloud Console does not check |
| /// queue-level IAM permissions yet. Project-level permissions are required to |
| /// use the Cloud Console. Authorization requires the following |
| /// [Google IAM](https://cloud.google.com/iam) permission on the specified |
| /// resource parent: * `cloudtasks.queues.setIamPolicy` |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - REQUIRED: The resource for which the policy is being |
| /// specified. See |
| /// [Resource names](https://cloud.google.com/apis/design/resource_names) for |
| /// the appropriate value for this field. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Returns permissions that a caller has on a Queue. |
| /// |
| /// If the resource does not exist, this will return an empty set of |
| /// permissions, not a NOT_FOUND error. Note: This operation is designed to be |
| /// used for building permission-aware UIs and command-line tools, not for |
| /// authorization checking. This operation may "fail open" without warning. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - REQUIRED: The resource for which the policy detail is being |
| /// requested. See |
| /// [Resource names](https://cloud.google.com/apis/design/resource_names) for |
| /// the appropriate value for this field. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = |
| 'v2/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsQueuesTasksResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsQueuesTasksResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates and buffers a new task without the need to explicitly define a |
| /// Task message. |
| /// |
| /// The queue must have HTTP target. To create the task with a custom ID, use |
| /// the following format and set TASK_ID to your desired ID: |
| /// projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID:buffer |
| /// To create the task with an automatically generated ID, use the following |
| /// format: |
| /// projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks:buffer. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [queue] - Required. The parent queue name. For example: |
| /// projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID\` The queue must |
| /// already exist. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [taskId] - Optional. Task ID for the task being created. If not provided, |
| /// Cloud Tasks generates an ID for the task. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BufferTaskResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BufferTaskResponse> buffer( |
| BufferTaskRequest request, |
| core.String queue, |
| core.String taskId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = |
| 'v2/' + |
| core.Uri.encodeFull('$queue') + |
| '/tasks/' + |
| commons.escapeVariable('$taskId') + |
| ':buffer'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return BufferTaskResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Creates a task and adds it to a queue. |
| /// |
| /// Tasks cannot be updated after creation; there is no UpdateTask command. * |
| /// The maximum task size is 100KB. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must |
| /// already exist. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Task]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Task> create( |
| CreateTaskRequest request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/tasks'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Task.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a task. |
| /// |
| /// A task can be deleted if it is scheduled or dispatched. A task cannot be |
| /// deleted if it has executed successfully or permanently failed. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The task name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+/tasks/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets a task. |
| /// |
| /// After a task is successfully executed or has exhausted its retry attempts, |
| /// the task is deleted. A `GetTask` request for a deleted task returns a |
| /// `NOT_FOUND` error. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The task name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+/tasks/\[^/\]+$`. |
| /// |
| /// [responseView] - The response_view specifies which subset of the Task will |
| /// be returned. By default response_view is 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 |
| /// requires `cloudtasks.tasks.fullView` |
| /// [Google IAM](https://cloud.google.com/iam/) permission on the Task |
| /// resource. |
| /// Possible string values are: |
| /// - "VIEW_UNSPECIFIED" : Unspecified. Defaults to BASIC. |
| /// - "BASIC" : The basic view omits fields which can be large or can contain |
| /// sensitive data. This view does not include the body in |
| /// AppEngineHttpRequest. Bodies are desirable to return only when needed, |
| /// because they can be large and because of the sensitivity of the data that |
| /// you choose to store in it. |
| /// - "FULL" : All information is returned. Authorization for FULL requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Queue resource. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Task]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Task> get( |
| core.String name, { |
| core.String? responseView, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (responseView != null) 'responseView': [responseView], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Task.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists the tasks in a queue. |
| /// |
| /// By default, only the BASIC view is retrieved due to performance |
| /// considerations; response_view controls the subset of information which is |
| /// returned. The tasks may be returned in any order. The ordering may change |
| /// at any time. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The queue name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+$`. |
| /// |
| /// [pageSize] - Maximum page size. Fewer tasks than requested might be |
| /// returned, even if more tasks exist; use 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. |
| /// |
| /// [pageToken] - A token identifying the page of results to return. To |
| /// request the first page results, page_token must be empty. To request the |
| /// next page of results, page_token must be the value of next_page_token |
| /// returned from the previous call to ListTasks method. The page token is |
| /// valid for only 2 hours. |
| /// |
| /// [responseView] - The response_view specifies which subset of the Task will |
| /// be returned. By default response_view is 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 |
| /// requires `cloudtasks.tasks.fullView` |
| /// [Google IAM](https://cloud.google.com/iam/) permission on the Task |
| /// resource. |
| /// Possible string values are: |
| /// - "VIEW_UNSPECIFIED" : Unspecified. Defaults to BASIC. |
| /// - "BASIC" : The basic view omits fields which can be large or can contain |
| /// sensitive data. This view does not include the body in |
| /// AppEngineHttpRequest. Bodies are desirable to return only when needed, |
| /// because they can be large and because of the sensitivity of the data that |
| /// you choose to store in it. |
| /// - "FULL" : All information is returned. Authorization for FULL requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Queue resource. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListTasksResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListTasksResponse> list( |
| core.String parent, { |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? responseView, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if (pageSize != null) 'pageSize': ['${pageSize}'], |
| if (pageToken != null) 'pageToken': [pageToken], |
| if (responseView != null) 'responseView': [responseView], |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/tasks'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListTasksResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Forces a task to run now. |
| /// |
| /// When this method is called, Cloud Tasks will dispatch the task, even if |
| /// the task is already running, the queue has reached its RateLimits or is |
| /// PAUSED. This command is meant to be used for manual debugging. For |
| /// example, RunTask can be used to retry a failed task after a fix has been |
| /// made or to manually force a task to be dispatched now. If Cloud Tasks |
| /// receives a successful response from the task's target, then the task will |
| /// be deleted; otherwise the task's schedule_time will be reset to the time |
| /// that RunTask was called plus the retry delay specified in the queue's |
| /// RetryConfig. RunTask returns NOT_FOUND when it is called on a task that |
| /// has already succeeded or permanently failed. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The task name. For example: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/queues/\[^/\]+/tasks/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Task]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Task> run( |
| RunTaskRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| if ($fields != null) 'fields': [$fields], |
| }; |
| |
| final url_ = 'v2/' + core.Uri.encodeFull('$name') + ':run'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Task.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| /// 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 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](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) |
| /// and how routing is affected by |
| /// [dispatch files](https://cloud.google.com/appengine/docs/python/config/dispatchref). |
| /// 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 used to construct the URL that the task is |
| /// delivered to can be set at the queue-level or task-level: * 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: * `url =` |
| /// host `+` 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. Failed tasks will be retried according to the retry configuration. |
| /// `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. |
| class AppEngineHttpRequest { |
| /// Task-level setting for 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. |
| AppEngineRouting? appEngineRouting; |
| |
| /// 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. |
| core.String? body; |
| core.List<core.int> get bodyAsBytes => convert.base64.decode(body!); |
| |
| set bodyAsBytes(core.List<core.int> bytes_) { |
| body = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// HTTP request headers. |
| /// |
| /// This map contains the header field names and values. Headers can be set |
| /// when the task is created. 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, 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. 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](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. 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. For more information, |
| /// see the CreateTask documentation. |
| core.Map<core.String, core.String>? headers; |
| |
| /// 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 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 App Engine documentation for your runtime on |
| /// [How Requests are Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled). |
| /// Possible string values are: |
| /// - "HTTP_METHOD_UNSPECIFIED" : HTTP method unspecified |
| /// - "POST" : HTTP POST |
| /// - "GET" : HTTP GET |
| /// - "HEAD" : HTTP HEAD |
| /// - "PUT" : HTTP PUT |
| /// - "DELETE" : HTTP DELETE |
| /// - "PATCH" : HTTP PATCH |
| /// - "OPTIONS" : HTTP OPTIONS |
| core.String? httpMethod; |
| |
| /// 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. |
| core.String? relativeUri; |
| |
| AppEngineHttpRequest({ |
| this.appEngineRouting, |
| this.body, |
| this.headers, |
| this.httpMethod, |
| this.relativeUri, |
| }); |
| |
| AppEngineHttpRequest.fromJson(core.Map json_) |
| : this( |
| appEngineRouting: |
| json_.containsKey('appEngineRouting') |
| ? AppEngineRouting.fromJson( |
| json_['appEngineRouting'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| body: json_['body'] as core.String?, |
| headers: (json_['headers'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| httpMethod: json_['httpMethod'] as core.String?, |
| relativeUri: json_['relativeUri'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (appEngineRouting != null) 'appEngineRouting': appEngineRouting!, |
| if (body != null) 'body': body!, |
| if (headers != null) 'headers': headers!, |
| if (httpMethod != null) 'httpMethod': httpMethod!, |
| if (relativeUri != null) 'relativeUri': relativeUri!, |
| }; |
| } |
| |
| /// App Engine Routing. |
| /// |
| /// Defines routing characteristics specific to App Engine - service, version, |
| /// and instance. For more information about services, versions, and instances |
| /// see |
| /// [An Overview of App Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), |
| /// [Microservices Architecture on Google App Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), |
| /// [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), |
| /// and |
| /// [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). |
| /// 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` |
| class AppEngineRouting { |
| /// 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, |
| /// version, and instance. Tasks which were created using the App Engine SDK |
| /// might have a custom domain name. For more information, see |
| /// [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). |
| /// |
| /// Output only. |
| core.String? host; |
| |
| /// App instance. |
| /// |
| /// By default, the task is sent to an instance which is available when the |
| /// task is attempted. Requests can only be sent to a specific instance if |
| /// [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). |
| /// App Engine Flex does not support instances. For more information, see |
| /// [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) |
| /// and |
| /// [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). |
| core.String? instance; |
| |
| /// App service. |
| /// |
| /// By default, the task is sent to the service which is the default service |
| /// when the task is attempted. For some queues or tasks which were created |
| /// using the App Engine Task Queue API, host is not parsable into service, |
| /// version, and instance. For example, some tasks which were created using |
| /// the App Engine SDK use a custom domain name; custom domains are not parsed |
| /// by Cloud Tasks. If host is not parsable, then service, version, and |
| /// instance are the empty string. |
| core.String? service; |
| |
| /// App version. |
| /// |
| /// By default, the task is sent to the version which is the default version |
| /// when the task is attempted. For some queues or tasks which were created |
| /// using the App Engine Task Queue API, host is not parsable into service, |
| /// version, and instance. For example, some tasks which were created using |
| /// the App Engine SDK use a custom domain name; custom domains are not parsed |
| /// by Cloud Tasks. If host is not parsable, then service, version, and |
| /// instance are the empty string. |
| core.String? version; |
| |
| AppEngineRouting({this.host, this.instance, this.service, this.version}); |
| |
| AppEngineRouting.fromJson(core.Map json_) |
| : this( |
| host: json_['host'] as core.String?, |
| instance: json_['instance'] as core.String?, |
| service: json_['service'] as core.String?, |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (host != null) 'host': host!, |
| if (instance != null) 'instance': instance!, |
| if (service != null) 'service': service!, |
| if (version != null) 'version': version!, |
| }; |
| } |
| |
| /// The status of a task attempt. |
| class Attempt { |
| /// The time that this attempt was dispatched. |
| /// |
| /// `dispatch_time` will be truncated to the nearest microsecond. |
| /// |
| /// Output only. |
| core.String? dispatchTime; |
| |
| /// 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. |
| /// |
| /// Output only. |
| Status? responseStatus; |
| |
| /// The time that this attempt response was received. |
| /// |
| /// `response_time` will be truncated to the nearest microsecond. |
| /// |
| /// Output only. |
| core.String? responseTime; |
| |
| /// The time that this attempt was scheduled. |
| /// |
| /// `schedule_time` will be truncated to the nearest microsecond. |
| /// |
| /// Output only. |
| core.String? scheduleTime; |
| |
| Attempt({ |
| this.dispatchTime, |
| this.responseStatus, |
| this.responseTime, |
| this.scheduleTime, |
| }); |
| |
| Attempt.fromJson(core.Map json_) |
| : this( |
| dispatchTime: json_['dispatchTime'] as core.String?, |
| responseStatus: |
| json_.containsKey('responseStatus') |
| ? Status.fromJson( |
| json_['responseStatus'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| responseTime: json_['responseTime'] as core.String?, |
| scheduleTime: json_['scheduleTime'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (dispatchTime != null) 'dispatchTime': dispatchTime!, |
| if (responseStatus != null) 'responseStatus': responseStatus!, |
| if (responseTime != null) 'responseTime': responseTime!, |
| if (scheduleTime != null) 'scheduleTime': scheduleTime!, |
| }; |
| } |
| |
| /// Associates `members`, or principals, with a `role`. |
| class Binding { |
| /// The condition that is associated with this binding. |
| /// |
| /// If the condition evaluates to `true`, then this binding applies to the |
| /// current request. If the condition evaluates to `false`, then this binding |
| /// does not apply to the current request. However, a different role binding |
| /// might grant the same role to one or more of the principals in this |
| /// binding. To learn which resources support conditions in their IAM |
| /// policies, see the |
| /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). |
| Expr? condition; |
| |
| /// Specifies the principals requesting access for a Google Cloud 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. Does not include identities that come from external identity |
| /// providers (IdPs) through identity federation. * `user:{emailid}`: An email |
| /// address that represents a specific Google account. For example, |
| /// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that |
| /// represents a Google service account. For example, |
| /// `my-other-app@appspot.gserviceaccount.com`. * |
| /// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An |
| /// identifier for a |
| /// [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). |
| /// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * |
| /// `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`. * |
| /// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: |
| /// A single identity in a workforce identity pool. * |
| /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: |
| /// All workforce identities in a group. * |
| /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: |
| /// All workforce identities with a specific attribute value. * |
| /// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id} |
| /// / * `: All identities in a workforce identity pool. * |
| /// `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: |
| /// A single identity in a workload identity pool. * |
| /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: |
| /// A workload identity pool group. * |
| /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: |
| /// All identities in a workload identity pool with a certain attribute. * |
| /// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id} |
| /// / * `: All identities in a workload identity pool. * |
| /// `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique |
| /// identifier) representing a user that has been recently deleted. For |
| /// example, `alice@example.com?uid=123456789012345678901`. If the user is |
| /// recovered, this value reverts to `user:{emailid}` and the recovered user |
| /// retains the role in the binding. * |
| /// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus |
| /// unique identifier) representing a service account that has been recently |
| /// deleted. For example, |
| /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If |
| /// the service account is undeleted, this value reverts to |
| /// `serviceAccount:{emailid}` and the undeleted service account retains the |
| /// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email |
| /// address (plus unique identifier) representing a Google group that has been |
| /// recently deleted. For example, |
| /// `admins@example.com?uid=123456789012345678901`. If the group is recovered, |
| /// this value reverts to `group:{emailid}` and the recovered group retains |
| /// the role in the binding. * |
| /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: |
| /// Deleted single identity in a workforce identity pool. For example, |
| /// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. |
| core.List<core.String>? members; |
| |
| /// Role that is assigned to the list of `members`, or principals. |
| /// |
| /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an |
| /// overview of the IAM roles and permissions, see the |
| /// [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For |
| /// a list of the available pre-defined roles, see |
| /// [here](https://cloud.google.com/iam/docs/understanding-roles). |
| core.String? role; |
| |
| Binding({this.condition, this.members, this.role}); |
| |
| Binding.fromJson(core.Map json_) |
| : this( |
| condition: |
| json_.containsKey('condition') |
| ? Expr.fromJson( |
| json_['condition'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| members: |
| (json_['members'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| role: json_['role'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (condition != null) 'condition': condition!, |
| if (members != null) 'members': members!, |
| if (role != null) 'role': role!, |
| }; |
| } |
| |
| /// Request message for BufferTask. |
| class BufferTaskRequest { |
| /// Body of the HTTP request. |
| /// |
| /// The body can take any generic value. The value is written to the |
| /// HttpRequest of the \[Task\]. |
| /// |
| /// Optional. |
| HttpBody? body; |
| |
| BufferTaskRequest({this.body}); |
| |
| BufferTaskRequest.fromJson(core.Map json_) |
| : this( |
| body: |
| json_.containsKey('body') |
| ? HttpBody.fromJson( |
| json_['body'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (body != null) 'body': body!, |
| }; |
| } |
| |
| /// Response message for BufferTask. |
| class BufferTaskResponse { |
| /// The created task. |
| Task? task; |
| |
| BufferTaskResponse({this.task}); |
| |
| BufferTaskResponse.fromJson(core.Map json_) |
| : this( |
| task: |
| json_.containsKey('task') |
| ? Task.fromJson( |
| json_['task'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (task != null) 'task': task!, |
| }; |
| } |
| |
| /// Describes the customer-managed encryption key (CMEK) configuration |
| /// associated with a project and location. |
| class CmekConfig { |
| /// Resource name of the Cloud KMS key, of the form |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID`, |
| /// that will be used to encrypt the Queues & Tasks in the region. |
| /// |
| /// Setting this as blank will turn off CMEK encryption. |
| core.String? kmsKey; |
| |
| /// The config resource name which includes the project and location and must |
| /// end in 'cmekConfig', in the format |
| /// projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig\` |
| /// |
| /// Output only. |
| core.String? name; |
| |
| CmekConfig({this.kmsKey, this.name}); |
| |
| CmekConfig.fromJson(core.Map json_) |
| : this( |
| kmsKey: json_['kmsKey'] as core.String?, |
| name: json_['name'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (kmsKey != null) 'kmsKey': kmsKey!, |
| if (name != null) 'name': name!, |
| }; |
| } |
| |
| /// Request message for CreateTask. |
| class CreateTaskRequest { |
| /// The response_view specifies which subset of the Task will be returned. |
| /// |
| /// By default response_view is 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 requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Task resource. |
| /// Possible string values are: |
| /// - "VIEW_UNSPECIFIED" : Unspecified. Defaults to BASIC. |
| /// - "BASIC" : The basic view omits fields which can be large or can contain |
| /// sensitive data. This view does not include the body in |
| /// AppEngineHttpRequest. Bodies are desirable to return only when needed, |
| /// because they can be large and because of the sensitivity of the data that |
| /// you choose to store in it. |
| /// - "FULL" : All information is returned. Authorization for FULL requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Queue resource. |
| core.String? responseView; |
| |
| /// The task to add. |
| /// |
| /// Task names have the following format: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. |
| /// The user can optionally specify a 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. If 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. The IDs of deleted tasks are not immediately available for |
| /// reuse. It can take up to 24 hours (or 9 days if the task's queue was |
| /// created using a queue.yaml or queue.xml) for the task ID to be released |
| /// and made available again. Because there is an extra lookup cost to |
| /// identify duplicate task names, these 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. |
| /// |
| /// Required. |
| Task? task; |
| |
| CreateTaskRequest({this.responseView, this.task}); |
| |
| CreateTaskRequest.fromJson(core.Map json_) |
| : this( |
| responseView: json_['responseView'] as core.String?, |
| task: |
| json_.containsKey('task') |
| ? Task.fromJson( |
| json_['task'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (responseView != null) 'responseView': responseView!, |
| if (task != null) 'task': task!, |
| }; |
| } |
| |
| /// A generic empty message that you can re-use to avoid defining duplicated |
| /// empty messages in your APIs. |
| /// |
| /// A typical example is to use it as the request or the response type of an API |
| /// method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns |
| /// (google.protobuf.Empty); } |
| typedef Empty = $Empty; |
| |
| /// Represents a textual expression in the Common Expression Language (CEL) |
| /// syntax. |
| /// |
| /// CEL is a C-like expression language. The syntax and semantics of CEL are |
| /// documented at https://github.com/google/cel-spec. Example (Comparison): |
| /// title: "Summary size limit" description: "Determines if a summary is less |
| /// than 100 chars" expression: "document.summary.size() \< 100" Example |
| /// (Equality): title: "Requestor is owner" description: "Determines if |
| /// requestor is the document owner" expression: "document.owner == |
| /// request.auth.claims.email" Example (Logic): title: "Public documents" |
| /// description: "Determine whether the document should be publicly visible" |
| /// expression: "document.type != 'private' && document.type != 'internal'" |
| /// Example (Data Manipulation): title: "Notification string" description: |
| /// "Create a notification string with a timestamp." expression: "'New message |
| /// received at ' + string(document.create_time)" The exact variables and |
| /// functions that may be referenced within an expression are determined by the |
| /// service that evaluates it. See the service documentation for additional |
| /// information. |
| typedef Expr = $Expr; |
| |
| /// Request message for `GetIamPolicy` method. |
| class GetIamPolicyRequest { |
| /// OPTIONAL: A `GetPolicyOptions` object for specifying options to |
| /// `GetIamPolicy`. |
| GetPolicyOptions? options; |
| |
| GetIamPolicyRequest({this.options}); |
| |
| GetIamPolicyRequest.fromJson(core.Map json_) |
| : this( |
| options: |
| json_.containsKey('options') |
| ? GetPolicyOptions.fromJson( |
| json_['options'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (options != null) 'options': options!, |
| }; |
| } |
| |
| /// Encapsulates settings provided to GetIamPolicy. |
| typedef GetPolicyOptions = $GetPolicyOptions00; |
| |
| /// Defines a header message. |
| /// |
| /// A header can have a key and a value. |
| class Header { |
| /// The Key of the header. |
| core.String? key; |
| |
| /// The Value of the header. |
| core.String? value; |
| |
| Header({this.key, this.value}); |
| |
| Header.fromJson(core.Map json_) |
| : this( |
| key: json_['key'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (key != null) 'key': key!, |
| if (value != null) 'value': value!, |
| }; |
| } |
| |
| /// Wraps the Header object. |
| class HeaderOverride { |
| /// Header embodying a key and a value. |
| /// |
| /// Do not put business sensitive or personally identifying data in the HTTP |
| /// Header Override Configuration or other similar fields in accordance with |
| /// Section 12 (Resource Fields) of the |
| /// [Service Specific Terms](https://cloud.google.com/terms/service-terms). |
| Header? header; |
| |
| HeaderOverride({this.header}); |
| |
| HeaderOverride.fromJson(core.Map json_) |
| : this( |
| header: |
| json_.containsKey('header') |
| ? Header.fromJson( |
| json_['header'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (header != null) 'header': header!, |
| }; |
| } |
| |
| /// Message that represents an arbitrary HTTP body. |
| /// |
| /// It should only be used for payload formats that can't be represented as |
| /// JSON, such as raw binary or an HTML page. This message can be used both in |
| /// streaming and non-streaming API methods in the request as well as the |
| /// response. It can be used as a top-level request field, which is convenient |
| /// if one wants to extract parameters from either the URL or HTTP template into |
| /// the request fields and also want access to the raw HTTP body. Example: |
| /// message GetResourceRequest { // A unique request id. string request_id = 1; |
| /// // The raw HTTP body is bound to this field. google.api.HttpBody http_body = |
| /// 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns |
| /// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns |
| /// (google.protobuf.Empty); } Example with streaming methods: service |
| /// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream |
| /// google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns |
| /// (stream google.api.HttpBody); } Use of this type only changes how the |
| /// request and response bodies are handled, all other features will continue to |
| /// work unchanged. |
| typedef HttpBody = $HttpBody; |
| |
| /// HTTP request. |
| /// |
| /// 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). |
| class HttpRequest { |
| /// 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. |
| core.String? body; |
| core.List<core.int> get bodyAsBytes => convert.base64.decode(body!); |
| |
| set bodyAsBytes(core.List<core.int> bytes_) { |
| body = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// 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. |
| core.Map<core.String, core.String>? headers; |
| |
| /// The HTTP method to use for the request. |
| /// |
| /// The default is POST. |
| /// Possible string values are: |
| /// - "HTTP_METHOD_UNSPECIFIED" : HTTP method unspecified |
| /// - "POST" : HTTP POST |
| /// - "GET" : HTTP GET |
| /// - "HEAD" : HTTP HEAD |
| /// - "PUT" : HTTP PUT |
| /// - "DELETE" : HTTP DELETE |
| /// - "PATCH" : HTTP PATCH |
| /// - "OPTIONS" : HTTP OPTIONS |
| core.String? httpMethod; |
| |
| /// 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. |
| OAuthToken? oauthToken; |
| |
| /// 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. |
| OidcToken? oidcToken; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? url; |
| |
| HttpRequest({ |
| this.body, |
| this.headers, |
| this.httpMethod, |
| this.oauthToken, |
| this.oidcToken, |
| this.url, |
| }); |
| |
| HttpRequest.fromJson(core.Map json_) |
| : this( |
| body: json_['body'] as core.String?, |
| headers: (json_['headers'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| httpMethod: json_['httpMethod'] as core.String?, |
| oauthToken: |
| json_.containsKey('oauthToken') |
| ? OAuthToken.fromJson( |
| json_['oauthToken'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| oidcToken: |
| json_.containsKey('oidcToken') |
| ? OidcToken.fromJson( |
| json_['oidcToken'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| url: json_['url'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (body != null) 'body': body!, |
| if (headers != null) 'headers': headers!, |
| if (httpMethod != null) 'httpMethod': httpMethod!, |
| if (oauthToken != null) 'oauthToken': oauthToken!, |
| if (oidcToken != null) 'oidcToken': oidcToken!, |
| if (url != null) 'url': url!, |
| }; |
| } |
| |
| /// HTTP target. |
| /// |
| /// When specified as a Queue, all the tasks with \[HttpRequest\] will be |
| /// overridden according to the target. |
| class HttpTarget { |
| /// HTTP target headers. |
| /// |
| /// This map contains the header field names and values. Headers will be set |
| /// when running the CreateTask and/or BufferTask. These headers represent a |
| /// subset of the headers that will be configured for 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: * Several predefined headers, |
| /// prefixed with "X-CloudTasks-", can be used to define properties of the |
| /// task. * Host: This will be computed by Cloud Tasks and derived from |
| /// HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. |
| /// \`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"\`. The default value is set to "application/json"\`. |
| /// * User-Agent: This will be set to \`"Google-Cloud-Tasks"\`. 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. |
| /// Queue-level headers to override headers of all the tasks in the queue. Do |
| /// not put business sensitive or personally identifying data in the HTTP |
| /// Header Override Configuration or other similar fields in accordance with |
| /// Section 12 (Resource Fields) of the |
| /// [Service Specific Terms](https://cloud.google.com/terms/service-terms). |
| core.List<HeaderOverride>? headerOverrides; |
| |
| /// The HTTP method to use for the request. |
| /// |
| /// When specified, it overrides HttpRequest for the task. Note that if the |
| /// value is set to HttpMethod the HttpRequest of the task will be ignored at |
| /// execution time. |
| /// Possible string values are: |
| /// - "HTTP_METHOD_UNSPECIFIED" : HTTP method unspecified |
| /// - "POST" : HTTP POST |
| /// - "GET" : HTTP GET |
| /// - "HEAD" : HTTP HEAD |
| /// - "PUT" : HTTP PUT |
| /// - "DELETE" : HTTP DELETE |
| /// - "PATCH" : HTTP PATCH |
| /// - "OPTIONS" : HTTP OPTIONS |
| core.String? httpMethod; |
| |
| /// If specified, an |
| /// [OAuth token](https://developers.google.com/identity/protocols/OAuth2) is |
| /// generated and attached as the `Authorization` header in the HTTP request. |
| /// |
| /// This type of authorization should generally be used only when calling |
| /// Google APIs hosted on *.googleapis.com. Note that both the service account |
| /// email and the scope MUST be specified when using the queue-level |
| /// authorization override. |
| OAuthToken? oauthToken; |
| |
| /// If specified, an |
| /// [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) |
| /// token is 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. Note that both the service account email and the audience MUST |
| /// be specified when using the queue-level authorization override. |
| OidcToken? oidcToken; |
| |
| /// URI override. |
| /// |
| /// When specified, overrides the execution URI for all the tasks in the |
| /// queue. |
| UriOverride? uriOverride; |
| |
| HttpTarget({ |
| this.headerOverrides, |
| this.httpMethod, |
| this.oauthToken, |
| this.oidcToken, |
| this.uriOverride, |
| }); |
| |
| HttpTarget.fromJson(core.Map json_) |
| : this( |
| headerOverrides: |
| (json_['headerOverrides'] as core.List?) |
| ?.map( |
| (value) => HeaderOverride.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| httpMethod: json_['httpMethod'] as core.String?, |
| oauthToken: |
| json_.containsKey('oauthToken') |
| ? OAuthToken.fromJson( |
| json_['oauthToken'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| oidcToken: |
| json_.containsKey('oidcToken') |
| ? OidcToken.fromJson( |
| json_['oidcToken'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| uriOverride: |
| json_.containsKey('uriOverride') |
| ? UriOverride.fromJson( |
| json_['uriOverride'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (headerOverrides != null) 'headerOverrides': headerOverrides!, |
| if (httpMethod != null) 'httpMethod': httpMethod!, |
| if (oauthToken != null) 'oauthToken': oauthToken!, |
| if (oidcToken != null) 'oidcToken': oidcToken!, |
| if (uriOverride != null) 'uriOverride': uriOverride!, |
| }; |
| } |
| |
| /// The response message for Locations.ListLocations. |
| class ListLocationsResponse { |
| /// A list of locations that matches the specified filter in the request. |
| core.List<Location>? locations; |
| |
| /// The standard List next-page token. |
| core.String? nextPageToken; |
| |
| ListLocationsResponse({this.locations, this.nextPageToken}); |
| |
| ListLocationsResponse.fromJson(core.Map json_) |
| : this( |
| locations: |
| (json_['locations'] as core.List?) |
| ?.map( |
| (value) => Location.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (locations != null) 'locations': locations!, |
| if (nextPageToken != null) 'nextPageToken': nextPageToken!, |
| }; |
| } |
| |
| /// Response message for ListQueues. |
| class ListQueuesResponse { |
| /// A token to retrieve next page of results. |
| /// |
| /// To return the next page of results, call ListQueues with this value as the |
| /// page_token. If the next_page_token is empty, there are no more results. |
| /// The page token is valid for only 2 hours. |
| core.String? nextPageToken; |
| |
| /// The list of queues. |
| core.List<Queue>? queues; |
| |
| ListQueuesResponse({this.nextPageToken, this.queues}); |
| |
| ListQueuesResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| queues: |
| (json_['queues'] as core.List?) |
| ?.map( |
| (value) => Queue.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nextPageToken != null) 'nextPageToken': nextPageToken!, |
| if (queues != null) 'queues': queues!, |
| }; |
| } |
| |
| /// Response message for listing tasks using ListTasks. |
| class ListTasksResponse { |
| /// A token to retrieve next page of results. |
| /// |
| /// To return the next page of results, call ListTasks with this value as the |
| /// page_token. If the next_page_token is empty, there are no more results. |
| core.String? nextPageToken; |
| |
| /// The list of tasks. |
| core.List<Task>? tasks; |
| |
| ListTasksResponse({this.nextPageToken, this.tasks}); |
| |
| ListTasksResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| tasks: |
| (json_['tasks'] as core.List?) |
| ?.map( |
| (value) => Task.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (nextPageToken != null) 'nextPageToken': nextPageToken!, |
| if (tasks != null) 'tasks': tasks!, |
| }; |
| } |
| |
| /// A resource that represents a Google Cloud location. |
| typedef Location = $Location00; |
| |
| /// Contains information needed for generating an |
| /// [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. |
| class OAuthToken { |
| /// OAuth scope to be used for generating OAuth access token. |
| /// |
| /// If not specified, "https://www.googleapis.com/auth/cloud-platform" will be |
| /// used. |
| core.String? scope; |
| |
| /// [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. |
| core.String? serviceAccountEmail; |
| |
| OAuthToken({this.scope, this.serviceAccountEmail}); |
| |
| OAuthToken.fromJson(core.Map json_) |
| : this( |
| scope: json_['scope'] as core.String?, |
| serviceAccountEmail: json_['serviceAccountEmail'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (scope != null) 'scope': scope!, |
| if (serviceAccountEmail != null) |
| 'serviceAccountEmail': serviceAccountEmail!, |
| }; |
| } |
| |
| /// Contains information needed for generating an |
| /// [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. |
| class OidcToken { |
| /// Audience to be used when generating OIDC token. |
| /// |
| /// If not specified, the URI specified in target will be used. |
| core.String? audience; |
| |
| /// [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. |
| core.String? serviceAccountEmail; |
| |
| OidcToken({this.audience, this.serviceAccountEmail}); |
| |
| OidcToken.fromJson(core.Map json_) |
| : this( |
| audience: json_['audience'] as core.String?, |
| serviceAccountEmail: json_['serviceAccountEmail'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (audience != null) 'audience': audience!, |
| if (serviceAccountEmail != null) |
| 'serviceAccountEmail': serviceAccountEmail!, |
| }; |
| } |
| |
| /// PathOverride. |
| /// |
| /// Path message defines path override for HTTP targets. |
| class PathOverride { |
| /// The URI path (e.g., /users/1234). |
| /// |
| /// Default is an empty string. |
| core.String? path; |
| |
| PathOverride({this.path}); |
| |
| PathOverride.fromJson(core.Map json_) |
| : this(path: json_['path'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (path != null) 'path': path!, |
| }; |
| } |
| |
| /// Request message for PauseQueue. |
| typedef PauseQueueRequest = $Empty; |
| |
| /// An Identity and Access Management (IAM) policy, which specifies access |
| /// controls for Google Cloud resources. |
| /// |
| /// A `Policy` is a collection of `bindings`. A `binding` binds one or more |
| /// `members`, or principals, to a single `role`. Principals can be user |
| /// accounts, service accounts, Google groups, and domains (such as G Suite). A |
| /// `role` is a named list of permissions; each `role` can be an IAM predefined |
| /// role or a user-created custom role. For some types of Google Cloud |
| /// resources, a `binding` can also specify a `condition`, which is a logical |
| /// expression that allows access to a resource only if the expression evaluates |
| /// to `true`. A condition can add constraints based on attributes of the |
| /// request, the resource, or both. To learn which resources support conditions |
| /// in their IAM policies, see the |
| /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). |
| /// **JSON example:** ``` { "bindings": [ { "role": |
| /// "roles/resourcemanager.organizationAdmin", "members": [ |
| /// "user:mike@example.com", "group:admins@example.com", "domain:google.com", |
| /// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": |
| /// "roles/resourcemanager.organizationViewer", "members": [ |
| /// "user:eve@example.com" ], "condition": { "title": "expirable access", |
| /// "description": "Does not grant access after Sep 2020", "expression": |
| /// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": |
| /// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - |
| /// members: - user:mike@example.com - group:admins@example.com - |
| /// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com |
| /// role: roles/resourcemanager.organizationAdmin - members: - |
| /// user:eve@example.com role: roles/resourcemanager.organizationViewer |
| /// condition: title: expirable access description: Does not grant access after |
| /// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') |
| /// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, |
| /// see the [IAM documentation](https://cloud.google.com/iam/docs/). |
| class Policy { |
| /// Associates a list of `members`, or principals, with a `role`. |
| /// |
| /// Optionally, may specify a `condition` that determines how and when the |
| /// `bindings` are applied. Each of the `bindings` must contain at least one |
| /// principal. The `bindings` in a `Policy` can refer to up to 1,500 |
| /// principals; up to 250 of these principals can be Google groups. Each |
| /// occurrence of a principal counts towards these limits. For example, if the |
| /// `bindings` grant 50 different roles to `user:alice@example.com`, and not |
| /// to any other principal, then you can add another 1,450 principals to the |
| /// `bindings` in the `Policy`. |
| core.List<Binding>? bindings; |
| |
| /// `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. **Important:** If you use IAM Conditions, you must include the |
| /// `etag` field whenever you call `setIamPolicy`. If you omit this field, |
| /// then IAM allows you to overwrite a version `3` policy with a version `1` |
| /// policy, and all of the conditions in the version `3` policy are lost. |
| core.String? etag; |
| core.List<core.int> get etagAsBytes => convert.base64.decode(etag!); |
| |
| set etagAsBytes(core.List<core.int> bytes_) { |
| etag = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Specifies the format of the policy. |
| /// |
| /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value |
| /// are rejected. Any operation that affects conditional role bindings must |
| /// specify version `3`. This requirement applies to the following operations: |
| /// * Getting a policy that includes a conditional role binding * Adding a |
| /// conditional role binding to a policy * Changing a conditional role binding |
| /// in a policy * Removing any role binding, with or without a condition, from |
| /// a policy that includes conditions **Important:** If you use IAM |
| /// Conditions, you must include the `etag` field whenever you call |
| /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a |
| /// version `3` policy with a version `1` policy, and all of the conditions in |
| /// the version `3` policy are lost. If a policy does not include any |
| /// conditions, operations on that policy may specify any valid version or |
| /// leave the field unset. To learn which resources support conditions in |
| /// their IAM policies, see the |
| /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). |
| core.int? version; |
| |
| Policy({this.bindings, this.etag, this.version}); |
| |
| Policy.fromJson(core.Map json_) |
| : this( |
| bindings: |
| (json_['bindings'] as core.List?) |
| ?.map( |
| (value) => Binding.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| etag: json_['etag'] as core.String?, |
| version: json_['version'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (bindings != null) 'bindings': bindings!, |
| if (etag != null) 'etag': etag!, |
| if (version != null) 'version': version!, |
| }; |
| } |
| |
| /// Request message for PurgeQueue. |
| typedef PurgeQueueRequest = $Empty; |
| |
| /// QueryOverride. |
| /// |
| /// Query message defines query override for HTTP targets. |
| class QueryOverride { |
| /// The query parameters (e.g., qparam1=123&qparam2=456). |
| /// |
| /// Default is an empty string. |
| core.String? queryParams; |
| |
| QueryOverride({this.queryParams}); |
| |
| QueryOverride.fromJson(core.Map json_) |
| : this(queryParams: json_['queryParams'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (queryParams != null) 'queryParams': queryParams!, |
| }; |
| } |
| |
| /// 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. |
| class Queue { |
| /// Overrides for task-level app_engine_routing. |
| /// |
| /// These settings apply only to App Engine tasks in this queue. Http tasks |
| /// are not affected. If set, `app_engine_routing_override` is used for all |
| /// App Engine tasks in the queue, no matter what the setting is for the |
| /// task-level app_engine_routing. |
| AppEngineRouting? appEngineRoutingOverride; |
| |
| /// Modifies HTTP target for HTTP tasks. |
| HttpTarget? httpTarget; |
| |
| /// Caller-specified and required in CreateQueue, after which it becomes |
| /// output only. |
| /// |
| /// The queue name. The queue name must have the following format: |
| /// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` |
| /// can contain letters (\[A-Za-z\]), numbers (\[0-9\]), hyphens (-), colons |
| /// (:), or periods (.). For more information, see |
| /// [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) |
| /// * `LOCATION_ID` is the canonical ID for the queue's location. The list of |
| /// available locations can be obtained by calling ListLocations. For more |
| /// information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` |
| /// can contain letters (\[A-Za-z\]), numbers (\[0-9\]), or hyphens (-). The |
| /// maximum length is 100 characters. |
| core.String? name; |
| |
| /// The last time this queue was purged. |
| /// |
| /// All tasks that were created before this time were purged. A queue can be |
| /// purged using PurgeQueue, the |
| /// [App Engine Task Queue SDK, or the Cloud Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). |
| /// Purge time will be truncated to the nearest microsecond. Purge time will |
| /// be unset if the queue has never been purged. |
| /// |
| /// Output only. |
| core.String? purgeTime; |
| |
| /// Rate limits for task dispatches. |
| /// |
| /// rate_limits and retry_config are related because they both control task |
| /// attempts. However they control task attempts in different ways: * |
| /// rate_limits controls the total rate of dispatches from a queue (i.e. all |
| /// traffic dispatched from the queue, regardless of whether the dispatch is |
| /// from a first attempt or a retry). * retry_config controls what happens to |
| /// particular a task after its first attempt fails. That is, retry_config |
| /// controls task retries (the second attempt, third attempt, etc). The |
| /// queue's actual dispatch rate is the result of: * Number of tasks in the |
| /// queue * User-specified throttling: rate_limits, retry_config, and the |
| /// queue's state. * System throttling due to `429` (Too Many Requests) or |
| /// `503` (Service Unavailable) responses from the worker, high error rates, |
| /// or to smooth sudden large traffic spikes. |
| RateLimits? rateLimits; |
| |
| /// Settings that determine the retry behavior. |
| /// |
| /// * For tasks created using Cloud Tasks: the queue-level retry settings |
| /// apply to all tasks in the queue that were created using Cloud Tasks. Retry |
| /// settings cannot be set on individual tasks. * For tasks created using the |
| /// App Engine SDK: the queue-level retry settings apply to all tasks in the |
| /// queue which do not have retry settings explicitly set on the task and were |
| /// created by the App Engine SDK. See |
| /// [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). |
| RetryConfig? retryConfig; |
| |
| /// Configuration options for writing logs to |
| /// [Stackdriver Logging](https://cloud.google.com/logging/docs/). |
| /// |
| /// If this field is unset, then no logs are written. |
| StackdriverLoggingConfig? stackdriverLoggingConfig; |
| |
| /// The state of the queue. |
| /// |
| /// `state` can only be changed by calling PauseQueue, ResumeQueue, or |
| /// uploading |
| /// [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). |
| /// UpdateQueue cannot be used to change `state`. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Unspecified state. |
| /// - "RUNNING" : The queue is running. Tasks can be dispatched. If the queue |
| /// was created using Cloud Tasks and the queue has had no activity (method |
| /// calls or task dispatches) for 30 days, the queue may take a few minutes to |
| /// re-activate. Some method calls may return NOT_FOUND and tasks may not be |
| /// dispatched for a few minutes until the queue has been re-activated. |
| /// - "PAUSED" : Tasks are paused by the user. If the queue is paused then |
| /// Cloud Tasks will stop delivering tasks from it, but more tasks can still |
| /// be added to it by the user. |
| /// - "DISABLED" : The queue is disabled. A queue becomes `DISABLED` when |
| /// [queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref) |
| /// or |
| /// [queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref) |
| /// is uploaded which does not contain the queue. You cannot directly disable |
| /// a queue. When a queue is disabled, tasks can still be added to a queue but |
| /// the tasks are not dispatched. To permanently delete this queue and all of |
| /// its tasks, call DeleteQueue. |
| core.String? state; |
| |
| Queue({ |
| this.appEngineRoutingOverride, |
| this.httpTarget, |
| this.name, |
| this.purgeTime, |
| this.rateLimits, |
| this.retryConfig, |
| this.stackdriverLoggingConfig, |
| this.state, |
| }); |
| |
| Queue.fromJson(core.Map json_) |
| : this( |
| appEngineRoutingOverride: |
| json_.containsKey('appEngineRoutingOverride') |
| ? AppEngineRouting.fromJson( |
| json_['appEngineRoutingOverride'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| httpTarget: |
| json_.containsKey('httpTarget') |
| ? HttpTarget.fromJson( |
| json_['httpTarget'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| name: json_['name'] as core.String?, |
| purgeTime: json_['purgeTime'] as core.String?, |
| rateLimits: |
| json_.containsKey('rateLimits') |
| ? RateLimits.fromJson( |
| json_['rateLimits'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| retryConfig: |
| json_.containsKey('retryConfig') |
| ? RetryConfig.fromJson( |
| json_['retryConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| stackdriverLoggingConfig: |
| json_.containsKey('stackdriverLoggingConfig') |
| ? StackdriverLoggingConfig.fromJson( |
| json_['stackdriverLoggingConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (appEngineRoutingOverride != null) |
| 'appEngineRoutingOverride': appEngineRoutingOverride!, |
| if (httpTarget != null) 'httpTarget': httpTarget!, |
| if (name != null) 'name': name!, |
| if (purgeTime != null) 'purgeTime': purgeTime!, |
| if (rateLimits != null) 'rateLimits': rateLimits!, |
| if (retryConfig != null) 'retryConfig': retryConfig!, |
| if (stackdriverLoggingConfig != null) |
| 'stackdriverLoggingConfig': stackdriverLoggingConfig!, |
| if (state != null) 'state': state!, |
| }; |
| } |
| |
| /// 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, will run a task even if the |
| /// queue has reached its RateLimits. |
| class RateLimits { |
| /// The max burst size. |
| /// |
| /// Max burst size limits how fast tasks in queue are processed when many |
| /// tasks are in the queue and the rate is high. This field allows the queue |
| /// to have a high rate so processing starts shortly after a task is enqueued, |
| /// but still limits resource usage when many tasks are enqueued in a short |
| /// period of time. The |
| /// [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used |
| /// to control the rate of task dispatches. Each queue has a token bucket that |
| /// holds tokens, up to the maximum specified by `max_burst_size`. Each time a |
| /// task is dispatched, a token is removed from the bucket. Tasks will be |
| /// dispatched until the queue's bucket runs out of tokens. The bucket will be |
| /// continuously refilled with new tokens based on max_dispatches_per_second. |
| /// Cloud Tasks will pick the value of `max_burst_size` based on the value of |
| /// max_dispatches_per_second. For queues that were created or updated using |
| /// `queue.yaml/xml`, `max_burst_size` is equal to |
| /// [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). |
| /// Since `max_burst_size` is output only, if UpdateQueue is called on a queue |
| /// created by `queue.yaml/xml`, `max_burst_size` will be reset based on the |
| /// value of max_dispatches_per_second, regardless of whether |
| /// max_dispatches_per_second is updated. |
| /// |
| /// Output only. |
| core.int? maxBurstSize; |
| |
| /// The maximum number of concurrent tasks that Cloud Tasks allows to be |
| /// dispatched for this queue. |
| /// |
| /// After this threshold has been reached, Cloud Tasks stops dispatching tasks |
| /// until the number of concurrent requests decreases. If unspecified when the |
| /// queue is created, Cloud Tasks will pick the default. The maximum allowed |
| /// value is 5,000. This field has the same meaning as |
| /// [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). |
| core.int? maxConcurrentDispatches; |
| |
| /// The maximum rate at which tasks are dispatched from this queue. |
| /// |
| /// If unspecified when the queue is created, Cloud Tasks will pick the |
| /// default. * The maximum allowed value is 500. This field has the same |
| /// meaning as |
| /// [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). |
| core.double? maxDispatchesPerSecond; |
| |
| RateLimits({ |
| this.maxBurstSize, |
| this.maxConcurrentDispatches, |
| this.maxDispatchesPerSecond, |
| }); |
| |
| RateLimits.fromJson(core.Map json_) |
| : this( |
| maxBurstSize: json_['maxBurstSize'] as core.int?, |
| maxConcurrentDispatches: json_['maxConcurrentDispatches'] as core.int?, |
| maxDispatchesPerSecond: |
| (json_['maxDispatchesPerSecond'] as core.num?)?.toDouble(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (maxBurstSize != null) 'maxBurstSize': maxBurstSize!, |
| if (maxConcurrentDispatches != null) |
| 'maxConcurrentDispatches': maxConcurrentDispatches!, |
| if (maxDispatchesPerSecond != null) |
| 'maxDispatchesPerSecond': maxDispatchesPerSecond!, |
| }; |
| } |
| |
| /// Request message for ResumeQueue. |
| typedef ResumeQueueRequest = $Empty; |
| |
| /// Retry config. |
| /// |
| /// These settings determine when a failed task attempt is retried. |
| class RetryConfig { |
| /// Number of attempts per task. |
| /// |
| /// Cloud Tasks will attempt the task `max_attempts` times (that is, if the |
| /// first attempt fails, then there will be `max_attempts - 1` retries). Must |
| /// be \>= -1. If unspecified when the queue is created, Cloud Tasks will pick |
| /// the default. -1 indicates unlimited attempts. This field has the same |
| /// meaning as |
| /// [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). |
| /// Note: Cloud Tasks stops retrying only when `max_attempts` and |
| /// `max_retry_duration` are both satisfied. When the task has been attempted |
| /// `max_attempts` times and when the `max_retry_duration` time has passed, no |
| /// further attempts are made, and the task is deleted. If you want your task |
| /// to retry infinitely, you must set `max_attempts` to -1 and |
| /// `max_retry_duration` to 0. |
| core.int? maxAttempts; |
| |
| /// A task will be scheduled for retry between min_backoff and max_backoff |
| /// duration after it fails, if the queue's RetryConfig specifies that the |
| /// task should be retried. |
| /// |
| /// If unspecified when the queue is created, Cloud Tasks will pick the |
| /// default. The value must be given as a string that indicates the length of |
| /// time (in seconds) followed by `s` (for "seconds"). For more information on |
| /// the format, see the documentation for |
| /// [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). |
| /// `max_backoff` will be truncated to the nearest second. This field has the |
| /// same meaning as |
| /// [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). |
| core.String? maxBackoff; |
| |
| /// The time between retries will double `max_doublings` times. |
| /// |
| /// A task's retry interval starts at min_backoff, then doubles |
| /// `max_doublings` times, then increases linearly, and finally retries at |
| /// intervals of max_backoff up to max_attempts times. For example, if |
| /// min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then |
| /// the a task will first be retried in 10s. The retry interval will double |
| /// three times, and then increase linearly by 2^3 * 10s. Finally, the task |
| /// will retry at intervals of max_backoff until the task has been attempted |
| /// max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, |
| /// 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, |
| /// Cloud Tasks will pick the default. This field has the same meaning as |
| /// [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). |
| core.int? maxDoublings; |
| |
| /// If positive, `max_retry_duration` specifies the time limit for retrying a |
| /// failed task, measured from when the task was first attempted. |
| /// |
| /// Once `max_retry_duration` time has passed *and* the task has been |
| /// attempted max_attempts times, no further attempts will be made and the |
| /// task will be deleted. If zero, then the task age is unlimited. If |
| /// unspecified when the queue is created, Cloud Tasks will pick the default. |
| /// The value must be given as a string that indicates the length of time (in |
| /// seconds) followed by `s` (for "seconds"). For the maximum possible value |
| /// or the format, see the documentation for |
| /// [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). |
| /// `max_retry_duration` will be truncated to the nearest second. This field |
| /// has the same meaning as |
| /// [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). |
| core.String? maxRetryDuration; |
| |
| /// A task will be scheduled for retry between min_backoff and max_backoff |
| /// duration after it fails, if the queue's RetryConfig specifies that the |
| /// task should be retried. |
| /// |
| /// If unspecified when the queue is created, Cloud Tasks will pick the |
| /// default. The value must be given as a string that indicates the length of |
| /// time (in seconds) followed by `s` (for "seconds"). For more information on |
| /// the format, see the documentation for |
| /// [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). |
| /// `min_backoff` will be truncated to the nearest second. This field has the |
| /// same meaning as |
| /// [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). |
| core.String? minBackoff; |
| |
| RetryConfig({ |
| this.maxAttempts, |
| this.maxBackoff, |
| this.maxDoublings, |
| this.maxRetryDuration, |
| this.minBackoff, |
| }); |
| |
| RetryConfig.fromJson(core.Map json_) |
| : this( |
| maxAttempts: json_['maxAttempts'] as core.int?, |
| maxBackoff: json_['maxBackoff'] as core.String?, |
| maxDoublings: json_['maxDoublings'] as core.int?, |
| maxRetryDuration: json_['maxRetryDuration'] as core.String?, |
| minBackoff: json_['minBackoff'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (maxAttempts != null) 'maxAttempts': maxAttempts!, |
| if (maxBackoff != null) 'maxBackoff': maxBackoff!, |
| if (maxDoublings != null) 'maxDoublings': maxDoublings!, |
| if (maxRetryDuration != null) 'maxRetryDuration': maxRetryDuration!, |
| if (minBackoff != null) 'minBackoff': minBackoff!, |
| }; |
| } |
| |
| /// Request message for forcing a task to run now using RunTask. |
| class RunTaskRequest { |
| /// The response_view specifies which subset of the Task will be returned. |
| /// |
| /// By default response_view is 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 requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Task resource. |
| /// Possible string values are: |
| /// - "VIEW_UNSPECIFIED" : Unspecified. Defaults to BASIC. |
| /// - "BASIC" : The basic view omits fields which can be large or can contain |
| /// sensitive data. This view does not include the body in |
| /// AppEngineHttpRequest. Bodies are desirable to return only when needed, |
| /// because they can be large and because of the sensitivity of the data that |
| /// you choose to store in it. |
| /// - "FULL" : All information is returned. Authorization for FULL requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Queue resource. |
| core.String? responseView; |
| |
| RunTaskRequest({this.responseView}); |
| |
| RunTaskRequest.fromJson(core.Map json_) |
| : this(responseView: json_['responseView'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (responseView != null) 'responseView': responseView!, |
| }; |
| } |
| |
| /// Request message for `SetIamPolicy` method. |
| class SetIamPolicyRequest { |
| /// 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 Google Cloud services (such as Projects) might |
| /// reject them. |
| Policy? policy; |
| |
| SetIamPolicyRequest({this.policy}); |
| |
| SetIamPolicyRequest.fromJson(core.Map json_) |
| : this( |
| policy: |
| json_.containsKey('policy') |
| ? Policy.fromJson( |
| json_['policy'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (policy != null) 'policy': policy!, |
| }; |
| } |
| |
| /// Configuration options for writing logs to |
| /// [Stackdriver Logging](https://cloud.google.com/logging/docs/). |
| class StackdriverLoggingConfig { |
| /// Specifies the fraction of operations to write to |
| /// [Stackdriver Logging](https://cloud.google.com/logging/docs/). |
| /// |
| /// This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is |
| /// the default and means that no operations are logged. |
| core.double? samplingRatio; |
| |
| StackdriverLoggingConfig({this.samplingRatio}); |
| |
| StackdriverLoggingConfig.fromJson(core.Map json_) |
| : this(samplingRatio: (json_['samplingRatio'] as core.num?)?.toDouble()); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (samplingRatio != null) 'samplingRatio': samplingRatio!, |
| }; |
| } |
| |
| /// The `Status` type defines a logical error model that is suitable for |
| /// different programming environments, including REST APIs and RPC APIs. |
| /// |
| /// It is used by [gRPC](https://github.com/grpc). Each `Status` message |
| /// contains three pieces of data: error code, error message, and error details. |
| /// You can find out more about this error model and how to work with it in the |
| /// [API Design Guide](https://cloud.google.com/apis/design/errors). |
| typedef Status = $Status00; |
| |
| /// A unit of scheduled work. |
| class Task { |
| /// HTTP request that is sent to the App Engine app handler. |
| /// |
| /// An App Engine task is a task that has AppEngineHttpRequest set. |
| AppEngineHttpRequest? appEngineHttpRequest; |
| |
| /// The time that the task was created. |
| /// |
| /// `create_time` will be truncated to the nearest second. |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The number of attempts dispatched. |
| /// |
| /// This count includes attempts which have been dispatched but haven't |
| /// received a response. |
| /// |
| /// Output only. |
| core.int? dispatchCount; |
| |
| /// 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. Note that |
| /// when the request is cancelled, Cloud Tasks will stop listening 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 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 |
| /// [scaling type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) |
| /// 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](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). |
| /// The value must be given as a string that indicates the length of time (in |
| /// seconds) followed by `s` (for "seconds"). For more information on the |
| /// format, see the documentation for |
| /// [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). |
| /// `dispatch_deadline` will be truncated to the nearest millisecond. The |
| /// deadline is an approximate deadline. |
| core.String? dispatchDeadline; |
| |
| /// The status of the task's first attempt. |
| /// |
| /// Only dispatch_time will be set. The other Attempt information is not |
| /// retained by Cloud Tasks. |
| /// |
| /// Output only. |
| Attempt? firstAttempt; |
| |
| /// HTTP request that is sent to the worker. |
| /// |
| /// An HTTP task is a task that has HttpRequest set. |
| HttpRequest? httpRequest; |
| |
| /// The status of the task's last attempt. |
| /// |
| /// Output only. |
| Attempt? lastAttempt; |
| |
| /// 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. |
| core.String? name; |
| |
| /// The number of attempts which have received a response. |
| /// |
| /// Output only. |
| core.int? responseCount; |
| |
| /// The time when the task is scheduled to be attempted or retried. |
| /// |
| /// `schedule_time` will be truncated to the nearest microsecond. |
| core.String? scheduleTime; |
| |
| /// The view specifies which subset of the Task has been returned. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "VIEW_UNSPECIFIED" : Unspecified. Defaults to BASIC. |
| /// - "BASIC" : The basic view omits fields which can be large or can contain |
| /// sensitive data. This view does not include the body in |
| /// AppEngineHttpRequest. Bodies are desirable to return only when needed, |
| /// because they can be large and because of the sensitivity of the data that |
| /// you choose to store in it. |
| /// - "FULL" : All information is returned. Authorization for FULL requires |
| /// `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) |
| /// permission on the Queue resource. |
| core.String? view; |
| |
| Task({ |
| this.appEngineHttpRequest, |
| this.createTime, |
| this.dispatchCount, |
| this.dispatchDeadline, |
| this.firstAttempt, |
| this.httpRequest, |
| this.lastAttempt, |
| this.name, |
| this.responseCount, |
| this.scheduleTime, |
| this.view, |
| }); |
| |
| Task.fromJson(core.Map json_) |
| : this( |
| appEngineHttpRequest: |
| json_.containsKey('appEngineHttpRequest') |
| ? AppEngineHttpRequest.fromJson( |
| json_['appEngineHttpRequest'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| createTime: json_['createTime'] as core.String?, |
| dispatchCount: json_['dispatchCount'] as core.int?, |
| dispatchDeadline: json_['dispatchDeadline'] as core.String?, |
| firstAttempt: |
| json_.containsKey('firstAttempt') |
| ? Attempt.fromJson( |
| json_['firstAttempt'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| httpRequest: |
| json_.containsKey('httpRequest') |
| ? HttpRequest.fromJson( |
| json_['httpRequest'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| lastAttempt: |
| json_.containsKey('lastAttempt') |
| ? Attempt.fromJson( |
| json_['lastAttempt'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| name: json_['name'] as core.String?, |
| responseCount: json_['responseCount'] as core.int?, |
| scheduleTime: json_['scheduleTime'] as core.String?, |
| view: json_['view'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (appEngineHttpRequest != null) |
| 'appEngineHttpRequest': appEngineHttpRequest!, |
| if (createTime != null) 'createTime': createTime!, |
| if (dispatchCount != null) 'dispatchCount': dispatchCount!, |
| if (dispatchDeadline != null) 'dispatchDeadline': dispatchDeadline!, |
| if (firstAttempt != null) 'firstAttempt': firstAttempt!, |
| if (httpRequest != null) 'httpRequest': httpRequest!, |
| if (lastAttempt != null) 'lastAttempt': lastAttempt!, |
| if (name != null) 'name': name!, |
| if (responseCount != null) 'responseCount': responseCount!, |
| if (scheduleTime != null) 'scheduleTime': scheduleTime!, |
| if (view != null) 'view': view!, |
| }; |
| } |
| |
| /// Request message for `TestIamPermissions` method. |
| typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; |
| |
| /// Response message for `TestIamPermissions` method. |
| typedef TestIamPermissionsResponse = $PermissionsResponse; |
| |
| /// URI Override. |
| /// |
| /// When specified, all the HTTP tasks inside the queue will be partially or |
| /// fully overridden depending on the configured values. |
| class UriOverride { |
| /// Host override. |
| /// |
| /// When specified, replaces the host part of the task URL. For example, if |
| /// the task URL is "https://www.google.com," and host value is set to |
| /// "example.net", the overridden URI will be changed to |
| /// "https://example.net." Host value cannot be an empty string |
| /// (INVALID_ARGUMENT). |
| core.String? host; |
| |
| /// URI path. |
| /// |
| /// When specified, replaces the existing path of the task URL. Setting the |
| /// path value to an empty string clears the URI path segment. |
| PathOverride? pathOverride; |
| |
| /// Port override. |
| /// |
| /// When specified, replaces the port part of the task URI. For instance, for |
| /// a URI "https://www.example.com/example" and port=123, the overridden URI |
| /// becomes "https://www.example.com:123/example". Note that the port value |
| /// must be a positive integer. Setting the port to 0 (Zero) clears the URI |
| /// port. |
| core.String? port; |
| |
| /// URI query. |
| /// |
| /// When specified, replaces the query part of the task URI. Setting the query |
| /// value to an empty string clears the URI query segment. |
| QueryOverride? queryOverride; |
| |
| /// Scheme override. |
| /// |
| /// When specified, the task URI scheme is replaced by the provided value |
| /// (HTTP or HTTPS). |
| /// Possible string values are: |
| /// - "SCHEME_UNSPECIFIED" : Scheme unspecified. Defaults to HTTPS. |
| /// - "HTTP" : Convert the scheme to HTTP, e.g., "https://www.example.com" |
| /// will change to "http://www.example.com". |
| /// - "HTTPS" : Convert the scheme to HTTPS, e.g., "http://www.example.com" |
| /// will change to "https://www.example.com". |
| core.String? scheme; |
| |
| /// URI Override Enforce Mode When specified, determines the Target |
| /// UriOverride mode. |
| /// |
| /// If not specified, it defaults to ALWAYS. |
| /// Possible string values are: |
| /// - "URI_OVERRIDE_ENFORCE_MODE_UNSPECIFIED" : UriOverrideEnforceMode |
| /// Unspecified. Defaults to ALWAYS. |
| /// - "IF_NOT_EXISTS" : In the IF_NOT_EXISTS mode, queue-level configuration |
| /// is only applied where task-level configuration does not exist. |
| /// - "ALWAYS" : In the ALWAYS mode, queue-level configuration overrides all |
| /// task-level configuration |
| core.String? uriOverrideEnforceMode; |
| |
| UriOverride({ |
| this.host, |
| this.pathOverride, |
| this.port, |
| this.queryOverride, |
| this.scheme, |
| this.uriOverrideEnforceMode, |
| }); |
| |
| UriOverride.fromJson(core.Map json_) |
| : this( |
| host: json_['host'] as core.String?, |
| pathOverride: |
| json_.containsKey('pathOverride') |
| ? PathOverride.fromJson( |
| json_['pathOverride'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| port: json_['port'] as core.String?, |
| queryOverride: |
| json_.containsKey('queryOverride') |
| ? QueryOverride.fromJson( |
| json_['queryOverride'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| scheme: json_['scheme'] as core.String?, |
| uriOverrideEnforceMode: json_['uriOverrideEnforceMode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() => { |
| if (host != null) 'host': host!, |
| if (pathOverride != null) 'pathOverride': pathOverride!, |
| if (port != null) 'port': port!, |
| if (queryOverride != null) 'queryOverride': queryOverride!, |
| if (scheme != null) 'scheme': scheme!, |
| if (uriOverrideEnforceMode != null) |
| 'uriOverrideEnforceMode': uriOverrideEnforceMode!, |
| }; |
| } |