google-cloud-tasks 1.5.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +2 -1
- data/AUTHENTICATION.md +51 -54
- data/LICENSE.md +203 -0
- data/MIGRATING.md +274 -0
- data/README.md +37 -24
- data/lib/{google/cloud/tasks/v2beta2/doc/google/protobuf/empty.rb → google-cloud-tasks.rb} +4 -14
- data/lib/google/cloud/tasks.rb +82 -117
- data/lib/google/cloud/tasks/version.rb +6 -2
- metadata +104 -113
- data/LICENSE +0 -201
- data/lib/google/cloud/tasks/v2.rb +0 -147
- data/lib/google/cloud/tasks/v2/cloud_tasks_client.rb +0 -1233
- data/lib/google/cloud/tasks/v2/cloud_tasks_client_config.json +0 -106
- data/lib/google/cloud/tasks/v2/cloudtasks_pb.rb +0 -100
- data/lib/google/cloud/tasks/v2/cloudtasks_services_pb.rb +0 -203
- data/lib/google/cloud/tasks/v2/credentials.rb +0 -41
- data/lib/google/cloud/tasks/v2/doc/google/cloud/tasks/v2/cloudtasks.rb +0 -312
- data/lib/google/cloud/tasks/v2/doc/google/cloud/tasks/v2/queue.rb +0 -348
- data/lib/google/cloud/tasks/v2/doc/google/cloud/tasks/v2/target.rb +0 -414
- data/lib/google/cloud/tasks/v2/doc/google/cloud/tasks/v2/task.rb +0 -175
- data/lib/google/cloud/tasks/v2/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/tasks/v2/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/tasks/v2/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/tasks/v2/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/tasks/v2/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/tasks/v2/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/tasks/v2/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/tasks/v2/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/tasks/v2/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/tasks/v2/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/tasks/v2/helpers.rb +0 -49
- data/lib/google/cloud/tasks/v2/queue_pb.rb +0 -56
- data/lib/google/cloud/tasks/v2/target_pb.rb +0 -66
- data/lib/google/cloud/tasks/v2/task_pb.rb +0 -51
- data/lib/google/cloud/tasks/v2beta2.rb +0 -147
- data/lib/google/cloud/tasks/v2beta2/cloud_tasks_client.rb +0 -1605
- data/lib/google/cloud/tasks/v2beta2/cloud_tasks_client_config.json +0 -126
- data/lib/google/cloud/tasks/v2beta2/cloudtasks_pb.rb +0 -133
- data/lib/google/cloud/tasks/v2beta2/cloudtasks_services_pb.rb +0 -258
- data/lib/google/cloud/tasks/v2beta2/credentials.rb +0 -41
- data/lib/google/cloud/tasks/v2beta2/doc/google/cloud/tasks/v2beta2/cloudtasks.rb +0 -483
- data/lib/google/cloud/tasks/v2beta2/doc/google/cloud/tasks/v2beta2/queue.rb +0 -336
- data/lib/google/cloud/tasks/v2beta2/doc/google/cloud/tasks/v2beta2/target.rb +0 -377
- data/lib/google/cloud/tasks/v2beta2/doc/google/cloud/tasks/v2beta2/task.rb +0 -166
- data/lib/google/cloud/tasks/v2beta2/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/tasks/v2beta2/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/tasks/v2beta2/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/tasks/v2beta2/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/tasks/v2beta2/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/tasks/v2beta2/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/tasks/v2beta2/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/tasks/v2beta2/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/tasks/v2beta2/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/tasks/v2beta2/helpers.rb +0 -49
- data/lib/google/cloud/tasks/v2beta2/queue_pb.rb +0 -58
- data/lib/google/cloud/tasks/v2beta2/target_pb.rb +0 -54
- data/lib/google/cloud/tasks/v2beta2/task_pb.rb +0 -54
- data/lib/google/cloud/tasks/v2beta3.rb +0 -147
- data/lib/google/cloud/tasks/v2beta3/cloud_tasks_client.rb +0 -1233
- data/lib/google/cloud/tasks/v2beta3/cloud_tasks_client_config.json +0 -106
- data/lib/google/cloud/tasks/v2beta3/cloudtasks_pb.rb +0 -101
- data/lib/google/cloud/tasks/v2beta3/cloudtasks_services_pb.rb +0 -203
- data/lib/google/cloud/tasks/v2beta3/credentials.rb +0 -41
- data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/cloudtasks.rb +0 -312
- data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/queue.rb +0 -342
- data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/target.rb +0 -431
- data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/task.rb +0 -177
- data/lib/google/cloud/tasks/v2beta3/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/tasks/v2beta3/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/tasks/v2beta3/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/tasks/v2beta3/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/tasks/v2beta3/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/tasks/v2beta3/helpers.rb +0 -49
- data/lib/google/cloud/tasks/v2beta3/queue_pb.rb +0 -59
- data/lib/google/cloud/tasks/v2beta3/target_pb.rb +0 -69
- data/lib/google/cloud/tasks/v2beta3/task_pb.rb +0 -52
@@ -1,414 +0,0 @@
|
|
1
|
-
# Copyright 2020 Google LLC
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
module Google
|
17
|
-
module Cloud
|
18
|
-
module Tasks
|
19
|
-
module V2
|
20
|
-
# HTTP request.
|
21
|
-
#
|
22
|
-
# The task will be pushed to the worker as an HTTP request. If the worker
|
23
|
-
# or the redirected worker acknowledges the task by returning a successful HTTP
|
24
|
-
# response code ([`200` - `299`]), the task will be removed from the queue. If
|
25
|
-
# any other HTTP response code is returned or no response is received, the
|
26
|
-
# task will be retried according to the following:
|
27
|
-
#
|
28
|
-
# * User-specified throttling: {Google::Cloud::Tasks::V2::Queue#retry_config retry configuration},
|
29
|
-
# {Google::Cloud::Tasks::V2::Queue#rate_limits rate limits}, and the {Google::Cloud::Tasks::V2::Queue#state queue's state}.
|
30
|
-
#
|
31
|
-
# * System throttling: To prevent the worker from overloading, Cloud Tasks may
|
32
|
-
# temporarily reduce the queue's effective rate. User-specified settings
|
33
|
-
# will not be changed.
|
34
|
-
#
|
35
|
-
# System throttling happens because:
|
36
|
-
#
|
37
|
-
# * Cloud Tasks backs off on all errors. Normally the backoff specified in
|
38
|
-
# {Google::Cloud::Tasks::V2::Queue#rate_limits rate limits} will be used. But if the worker returns
|
39
|
-
# `429` (Too Many Requests), `503` (Service Unavailable), or the rate of
|
40
|
-
# errors is high, Cloud Tasks will use a higher backoff rate. The retry
|
41
|
-
# specified in the `Retry-After` HTTP response header is considered.
|
42
|
-
#
|
43
|
-
# * To prevent traffic spikes and to smooth sudden increases in traffic,
|
44
|
-
# dispatches ramp up slowly when the queue is newly created or idle and
|
45
|
-
# if large numbers of tasks suddenly become available to dispatch (due to
|
46
|
-
# spikes in create task rates, the queue being unpaused, or many tasks
|
47
|
-
# that are scheduled at the same time).
|
48
|
-
# @!attribute [rw] url
|
49
|
-
# @return [String]
|
50
|
-
# Required. The full url path that the request will be sent to.
|
51
|
-
#
|
52
|
-
# This string must begin with either "http://" or "https://". Some examples
|
53
|
-
# are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
|
54
|
-
# encode some characters for safety and compatibility. The maximum allowed
|
55
|
-
# URL length is 2083 characters after encoding.
|
56
|
-
#
|
57
|
-
# The `Location` header response from a redirect response [`300` - `399`]
|
58
|
-
# may be followed. The redirect is not counted as a separate attempt.
|
59
|
-
# @!attribute [rw] http_method
|
60
|
-
# @return [Google::Cloud::Tasks::V2::HttpMethod]
|
61
|
-
# The HTTP method to use for the request. The default is POST.
|
62
|
-
# @!attribute [rw] headers
|
63
|
-
# @return [Hash{String => String}]
|
64
|
-
# HTTP request headers.
|
65
|
-
#
|
66
|
-
# This map contains the header field names and values.
|
67
|
-
# Headers can be set when the
|
68
|
-
# {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask task is created}.
|
69
|
-
#
|
70
|
-
# These headers represent a subset of the headers that will accompany the
|
71
|
-
# task's HTTP request. Some HTTP request headers will be ignored or replaced.
|
72
|
-
#
|
73
|
-
# A partial list of headers that will be ignored or replaced is:
|
74
|
-
#
|
75
|
-
# * Host: This will be computed by Cloud Tasks and derived from
|
76
|
-
# {Google::Cloud::Tasks::V2::HttpRequest#url HttpRequest#url}.
|
77
|
-
# * Content-Length: This will be computed by Cloud Tasks.
|
78
|
-
# * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
|
79
|
-
# * X-Google-*: Google use only.
|
80
|
-
# * X-AppEngine-*: Google use only.
|
81
|
-
#
|
82
|
-
# `Content-Type` won't be set by Cloud Tasks. You can explicitly set
|
83
|
-
# `Content-Type` to a media type when the
|
84
|
-
# {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask task is created}.
|
85
|
-
# For example, `Content-Type` can be set to `"application/octet-stream"` or
|
86
|
-
# `"application/json"`.
|
87
|
-
#
|
88
|
-
# Headers which can have multiple values (according to RFC2616) can be
|
89
|
-
# specified using comma-separated values.
|
90
|
-
#
|
91
|
-
# The size of the headers must be less than 80KB.
|
92
|
-
# @!attribute [rw] body
|
93
|
-
# @return [String]
|
94
|
-
# HTTP request body.
|
95
|
-
#
|
96
|
-
# A request body is allowed only if the
|
97
|
-
# {Google::Cloud::Tasks::V2::HttpRequest#http_method HTTP method} is POST, PUT, or PATCH. It is an
|
98
|
-
# error to set body on a task with an incompatible {Google::Cloud::Tasks::V2::HttpMethod HttpMethod}.
|
99
|
-
# @!attribute [rw] oauth_token
|
100
|
-
# @return [Google::Cloud::Tasks::V2::OAuthToken]
|
101
|
-
# If specified, an
|
102
|
-
# [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
|
103
|
-
# will be generated and attached as an `Authorization` header in the HTTP
|
104
|
-
# request.
|
105
|
-
#
|
106
|
-
# This type of authorization should generally only be used when calling
|
107
|
-
# Google APIs hosted on *.googleapis.com.
|
108
|
-
# @!attribute [rw] oidc_token
|
109
|
-
# @return [Google::Cloud::Tasks::V2::OidcToken]
|
110
|
-
# If specified, an
|
111
|
-
# [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
|
112
|
-
# token will be generated and attached as an `Authorization` header in the
|
113
|
-
# HTTP request.
|
114
|
-
#
|
115
|
-
# This type of authorization can be used for many scenarios, including
|
116
|
-
# calling Cloud Run, or endpoints where you intend to validate the token
|
117
|
-
# yourself.
|
118
|
-
class HttpRequest; end
|
119
|
-
|
120
|
-
# App Engine HTTP request.
|
121
|
-
#
|
122
|
-
# The message defines the HTTP request that is sent to an App Engine app when
|
123
|
-
# the task is dispatched.
|
124
|
-
#
|
125
|
-
# Using {Google::Cloud::Tasks::V2::AppEngineHttpRequest AppEngineHttpRequest} requires
|
126
|
-
# [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
|
127
|
-
# Google IAM permission for the project
|
128
|
-
# and the following scope:
|
129
|
-
#
|
130
|
-
# `https://www.googleapis.com/auth/cloud-platform`
|
131
|
-
#
|
132
|
-
# The task will be delivered to the App Engine app which belongs to the same
|
133
|
-
# project as the queue. For more information, see
|
134
|
-
# [How Requests are
|
135
|
-
# Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
|
136
|
-
# and how routing is affected by
|
137
|
-
# [dispatch
|
138
|
-
# files](https://cloud.google.com/appengine/docs/python/config/dispatchref).
|
139
|
-
# Traffic is encrypted during transport and never leaves Google datacenters.
|
140
|
-
# Because this traffic is carried over a communication mechanism internal to
|
141
|
-
# Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS).
|
142
|
-
# The request to the handler, however, will appear to have used the HTTP
|
143
|
-
# protocol.
|
144
|
-
#
|
145
|
-
# The {Google::Cloud::Tasks::V2::AppEngineRouting AppEngineRouting} used to construct the URL that the task is
|
146
|
-
# delivered to can be set at the queue-level or task-level:
|
147
|
-
#
|
148
|
-
# * If [app_engine_routing_override is set on the
|
149
|
-
# queue][Queue.app_engine_routing_override], this value is used for all
|
150
|
-
# tasks in the queue, no matter what the setting is for the [task-level
|
151
|
-
# app_engine_routing][AppEngineHttpRequest.app_engine_routing].
|
152
|
-
#
|
153
|
-
#
|
154
|
-
# The `url` that the task will be sent to is:
|
155
|
-
#
|
156
|
-
# * `url =` {Google::Cloud::Tasks::V2::AppEngineRouting#host host} `+`
|
157
|
-
# {Google::Cloud::Tasks::V2::AppEngineHttpRequest#relative_uri relative_uri}
|
158
|
-
#
|
159
|
-
# Tasks can be dispatched to secure app handlers, unsecure app handlers, and
|
160
|
-
# URIs restricted with
|
161
|
-
# [`login:
|
162
|
-
# admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).
|
163
|
-
# Because tasks are not run as any user, they cannot be dispatched to URIs
|
164
|
-
# restricted with
|
165
|
-
# [`login:
|
166
|
-
# required`](https://cloud.google.com/appengine/docs/standard/python/config/appref)
|
167
|
-
# Task dispatches also do not follow redirects.
|
168
|
-
#
|
169
|
-
# The task attempt has succeeded if the app's request handler returns an HTTP
|
170
|
-
# response code in the range [`200` - `299`]. The task attempt has failed if
|
171
|
-
# the app's handler returns a non-2xx response code or Cloud Tasks does
|
172
|
-
# not receive response before the {Google::Cloud::Tasks::V2::Task#dispatch_deadline deadline}. Failed
|
173
|
-
# tasks will be retried according to the
|
174
|
-
# {Google::Cloud::Tasks::V2::Queue#retry_config retry configuration}. `503` (Service Unavailable) is
|
175
|
-
# considered an App Engine system error instead of an application error and
|
176
|
-
# will cause Cloud Tasks' traffic congestion control to temporarily throttle
|
177
|
-
# the queue's dispatches. Unlike other types of task targets, a `429` (Too Many
|
178
|
-
# Requests) response from an app handler does not cause traffic congestion
|
179
|
-
# control to throttle the queue.
|
180
|
-
# @!attribute [rw] http_method
|
181
|
-
# @return [Google::Cloud::Tasks::V2::HttpMethod]
|
182
|
-
# The HTTP method to use for the request. The default is POST.
|
183
|
-
#
|
184
|
-
# The app's request handler for the task's target URL must be able to handle
|
185
|
-
# HTTP requests with this http_method, otherwise the task attempt will fail
|
186
|
-
# with error code 405 (Method Not Allowed). See
|
187
|
-
# [Writing a push task request
|
188
|
-
# handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)
|
189
|
-
# and the documentation for the request handlers in the language your app is
|
190
|
-
# written in e.g.
|
191
|
-
# [Python Request
|
192
|
-
# Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass).
|
193
|
-
# @!attribute [rw] app_engine_routing
|
194
|
-
# @return [Google::Cloud::Tasks::V2::AppEngineRouting]
|
195
|
-
# Task-level setting for App Engine routing.
|
196
|
-
#
|
197
|
-
# * If [app_engine_routing_override is set on the
|
198
|
-
# queue][Queue.app_engine_routing_override], this value is used for all
|
199
|
-
# tasks in the queue, no matter what the setting is for the [task-level
|
200
|
-
# app_engine_routing][AppEngineHttpRequest.app_engine_routing].
|
201
|
-
# @!attribute [rw] relative_uri
|
202
|
-
# @return [String]
|
203
|
-
# The relative URI.
|
204
|
-
#
|
205
|
-
# The relative URI must begin with "/" and must be a valid HTTP relative URI.
|
206
|
-
# It can contain a path and query string arguments.
|
207
|
-
# If the relative URI is empty, then the root path "/" will be used.
|
208
|
-
# No spaces are allowed, and the maximum length allowed is 2083 characters.
|
209
|
-
# @!attribute [rw] headers
|
210
|
-
# @return [Hash{String => String}]
|
211
|
-
# HTTP request headers.
|
212
|
-
#
|
213
|
-
# This map contains the header field names and values.
|
214
|
-
# Headers can be set when the
|
215
|
-
# {Google::Cloud::Tasks::V2::CloudTasks::CreateTask task is created}.
|
216
|
-
# Repeated headers are not supported but a header value can contain commas.
|
217
|
-
#
|
218
|
-
# Cloud Tasks sets some headers to default values:
|
219
|
-
#
|
220
|
-
# * `User-Agent`: By default, this header is
|
221
|
-
# `"AppEngine-Google; (+http://code.google.com/appengine)"`.
|
222
|
-
# This header can be modified, but Cloud Tasks will append
|
223
|
-
# `"AppEngine-Google; (+http://code.google.com/appengine)"` to the
|
224
|
-
# modified `User-Agent`.
|
225
|
-
#
|
226
|
-
# If the task has a {Google::Cloud::Tasks::V2::AppEngineHttpRequest#body body}, Cloud
|
227
|
-
# Tasks sets the following headers:
|
228
|
-
#
|
229
|
-
# * `Content-Type`: By default, the `Content-Type` header is set to
|
230
|
-
# `"application/octet-stream"`. The default can be overridden by explicitly
|
231
|
-
# setting `Content-Type` to a particular media type when the
|
232
|
-
# {Google::Cloud::Tasks::V2::CloudTasks::CreateTask task is created}.
|
233
|
-
# For example, `Content-Type` can be set to `"application/json"`.
|
234
|
-
# * `Content-Length`: This is computed by Cloud Tasks. This value is
|
235
|
-
# output only. It cannot be changed.
|
236
|
-
#
|
237
|
-
# The headers below cannot be set or overridden:
|
238
|
-
#
|
239
|
-
# * `Host`
|
240
|
-
# * `X-Google-*`
|
241
|
-
# * `X-AppEngine-*`
|
242
|
-
#
|
243
|
-
# In addition, Cloud Tasks sets some headers when the task is dispatched,
|
244
|
-
# such as headers containing information about the task; see
|
245
|
-
# [request
|
246
|
-
# headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).
|
247
|
-
# These headers are set only when the task is dispatched, so they are not
|
248
|
-
# visible when the task is returned in a Cloud Tasks response.
|
249
|
-
#
|
250
|
-
# Although there is no specific limit for the maximum number of headers or
|
251
|
-
# the size, there is a limit on the maximum size of the {Google::Cloud::Tasks::V2::Task Task}. For more
|
252
|
-
# information, see the {Google::Cloud::Tasks::V2::CloudTasks::CreateTask CreateTask} documentation.
|
253
|
-
# @!attribute [rw] body
|
254
|
-
# @return [String]
|
255
|
-
# HTTP request body.
|
256
|
-
#
|
257
|
-
# A request body is allowed only if the HTTP method is POST or PUT. It is
|
258
|
-
# an error to set a body on a task with an incompatible {Google::Cloud::Tasks::V2::HttpMethod HttpMethod}.
|
259
|
-
class AppEngineHttpRequest; end
|
260
|
-
|
261
|
-
# App Engine Routing.
|
262
|
-
#
|
263
|
-
# Defines routing characteristics specific to App Engine - service, version,
|
264
|
-
# and instance.
|
265
|
-
#
|
266
|
-
# For more information about services, versions, and instances see
|
267
|
-
# [An Overview of App
|
268
|
-
# Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),
|
269
|
-
# [Microservices Architecture on Google App
|
270
|
-
# Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),
|
271
|
-
# [App Engine Standard request
|
272
|
-
# routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),
|
273
|
-
# and [App Engine Flex request
|
274
|
-
# routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
|
275
|
-
#
|
276
|
-
# Using {Google::Cloud::Tasks::V2::AppEngineRouting AppEngineRouting} requires
|
277
|
-
# [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)
|
278
|
-
# Google IAM permission for the project
|
279
|
-
# and the following scope:
|
280
|
-
#
|
281
|
-
# `https://www.googleapis.com/auth/cloud-platform`
|
282
|
-
# @!attribute [rw] service
|
283
|
-
# @return [String]
|
284
|
-
# App service.
|
285
|
-
#
|
286
|
-
# By default, the task is sent to the service which is the default
|
287
|
-
# service when the task is attempted.
|
288
|
-
#
|
289
|
-
# For some queues or tasks which were created using the App Engine
|
290
|
-
# Task Queue API, {Google::Cloud::Tasks::V2::AppEngineRouting#host host} is not parsable
|
291
|
-
# into {Google::Cloud::Tasks::V2::AppEngineRouting#service service},
|
292
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#version version}, and
|
293
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#instance instance}. For example, some tasks
|
294
|
-
# which were created using the App Engine SDK use a custom domain
|
295
|
-
# name; custom domains are not parsed by Cloud Tasks. If
|
296
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#host host} is not parsable, then
|
297
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#service service},
|
298
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#version version}, and
|
299
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#instance instance} are the empty string.
|
300
|
-
# @!attribute [rw] version
|
301
|
-
# @return [String]
|
302
|
-
# App version.
|
303
|
-
#
|
304
|
-
# By default, the task is sent to the version which is the default
|
305
|
-
# version when the task is attempted.
|
306
|
-
#
|
307
|
-
# For some queues or tasks which were created using the App Engine
|
308
|
-
# Task Queue API, {Google::Cloud::Tasks::V2::AppEngineRouting#host host} is not parsable
|
309
|
-
# into {Google::Cloud::Tasks::V2::AppEngineRouting#service service},
|
310
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#version version}, and
|
311
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#instance instance}. For example, some tasks
|
312
|
-
# which were created using the App Engine SDK use a custom domain
|
313
|
-
# name; custom domains are not parsed by Cloud Tasks. If
|
314
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#host host} is not parsable, then
|
315
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#service service},
|
316
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#version version}, and
|
317
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#instance instance} are the empty string.
|
318
|
-
# @!attribute [rw] instance
|
319
|
-
# @return [String]
|
320
|
-
# App instance.
|
321
|
-
#
|
322
|
-
# By default, the task is sent to an instance which is available when
|
323
|
-
# the task is attempted.
|
324
|
-
#
|
325
|
-
# Requests can only be sent to a specific instance if
|
326
|
-
# [manual scaling is used in App Engine
|
327
|
-
# Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
|
328
|
-
# App Engine Flex does not support instances. For more information, see
|
329
|
-
# [App Engine Standard request
|
330
|
-
# routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)
|
331
|
-
# and [App Engine Flex request
|
332
|
-
# routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).
|
333
|
-
# @!attribute [rw] host
|
334
|
-
# @return [String]
|
335
|
-
# Output only. The host that the task is sent to.
|
336
|
-
#
|
337
|
-
# The host is constructed from the domain name of the app associated with
|
338
|
-
# the queue's project ID (for example <app-id>.appspot.com), and the
|
339
|
-
# {Google::Cloud::Tasks::V2::AppEngineRouting#service service}, {Google::Cloud::Tasks::V2::AppEngineRouting#version version},
|
340
|
-
# and {Google::Cloud::Tasks::V2::AppEngineRouting#instance instance}. Tasks which were created using
|
341
|
-
# the App Engine SDK might have a custom domain name.
|
342
|
-
#
|
343
|
-
# For more information, see
|
344
|
-
# [How Requests are
|
345
|
-
# Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).
|
346
|
-
class AppEngineRouting; end
|
347
|
-
|
348
|
-
# Contains information needed for generating an
|
349
|
-
# [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
|
350
|
-
# This type of authorization should generally only be used when calling Google
|
351
|
-
# APIs hosted on *.googleapis.com.
|
352
|
-
# @!attribute [rw] service_account_email
|
353
|
-
# @return [String]
|
354
|
-
# [Service account email](https://cloud.google.com/iam/docs/service-accounts)
|
355
|
-
# to be used for generating OAuth token.
|
356
|
-
# The service account must be within the same project as the queue. The
|
357
|
-
# caller must have iam.serviceAccounts.actAs permission for the service
|
358
|
-
# account.
|
359
|
-
# @!attribute [rw] scope
|
360
|
-
# @return [String]
|
361
|
-
# OAuth scope to be used for generating OAuth access token.
|
362
|
-
# If not specified, "https://www.googleapis.com/auth/cloud-platform"
|
363
|
-
# will be used.
|
364
|
-
class OAuthToken; end
|
365
|
-
|
366
|
-
# Contains information needed for generating an
|
367
|
-
# [OpenID Connect
|
368
|
-
# token](https://developers.google.com/identity/protocols/OpenIDConnect).
|
369
|
-
# This type of authorization can be used for many scenarios, including
|
370
|
-
# calling Cloud Run, or endpoints where you intend to validate the token
|
371
|
-
# yourself.
|
372
|
-
# @!attribute [rw] service_account_email
|
373
|
-
# @return [String]
|
374
|
-
# [Service account email](https://cloud.google.com/iam/docs/service-accounts)
|
375
|
-
# to be used for generating OIDC token.
|
376
|
-
# The service account must be within the same project as the queue. The
|
377
|
-
# caller must have iam.serviceAccounts.actAs permission for the service
|
378
|
-
# account.
|
379
|
-
# @!attribute [rw] audience
|
380
|
-
# @return [String]
|
381
|
-
# Audience to be used when generating OIDC token. If not specified, the URI
|
382
|
-
# specified in target will be used.
|
383
|
-
class OidcToken; end
|
384
|
-
|
385
|
-
# The HTTP method used to deliver the task.
|
386
|
-
module HttpMethod
|
387
|
-
# HTTP method unspecified
|
388
|
-
HTTP_METHOD_UNSPECIFIED = 0
|
389
|
-
|
390
|
-
# HTTP POST
|
391
|
-
POST = 1
|
392
|
-
|
393
|
-
# HTTP GET
|
394
|
-
GET = 2
|
395
|
-
|
396
|
-
# HTTP HEAD
|
397
|
-
HEAD = 3
|
398
|
-
|
399
|
-
# HTTP PUT
|
400
|
-
PUT = 4
|
401
|
-
|
402
|
-
# HTTP DELETE
|
403
|
-
DELETE = 5
|
404
|
-
|
405
|
-
# HTTP PATCH
|
406
|
-
PATCH = 6
|
407
|
-
|
408
|
-
# HTTP OPTIONS
|
409
|
-
OPTIONS = 7
|
410
|
-
end
|
411
|
-
end
|
412
|
-
end
|
413
|
-
end
|
414
|
-
end
|
@@ -1,175 +0,0 @@
|
|
1
|
-
# Copyright 2020 Google LLC
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
module Google
|
17
|
-
module Cloud
|
18
|
-
module Tasks
|
19
|
-
module V2
|
20
|
-
# A unit of scheduled work.
|
21
|
-
# @!attribute [rw] name
|
22
|
-
# @return [String]
|
23
|
-
# Optionally caller-specified in {Google::Cloud::Tasks::V2::CloudTasks::CreateTask CreateTask}.
|
24
|
-
#
|
25
|
-
# The task name.
|
26
|
-
#
|
27
|
-
# The task name must have the following format:
|
28
|
-
# `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
|
29
|
-
#
|
30
|
-
# * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
|
31
|
-
# hyphens (-), colons (:), or periods (.).
|
32
|
-
# For more information, see
|
33
|
-
# [Identifying
|
34
|
-
# projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
|
35
|
-
# * `LOCATION_ID` is the canonical ID for the task's location.
|
36
|
-
# The list of available locations can be obtained by calling
|
37
|
-
# {Google::Cloud::Location::Locations::ListLocations ListLocations}.
|
38
|
-
# For more information, see https://cloud.google.com/about/locations/.
|
39
|
-
# * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
|
40
|
-
# hyphens (-). The maximum length is 100 characters.
|
41
|
-
# * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
|
42
|
-
# hyphens (-), or underscores (_). The maximum length is 500 characters.
|
43
|
-
# @!attribute [rw] app_engine_http_request
|
44
|
-
# @return [Google::Cloud::Tasks::V2::AppEngineHttpRequest]
|
45
|
-
# HTTP request that is sent to the App Engine app handler.
|
46
|
-
#
|
47
|
-
# An App Engine task is a task that has {Google::Cloud::Tasks::V2::AppEngineHttpRequest AppEngineHttpRequest} set.
|
48
|
-
# @!attribute [rw] http_request
|
49
|
-
# @return [Google::Cloud::Tasks::V2::HttpRequest]
|
50
|
-
# HTTP request that is sent to the worker.
|
51
|
-
#
|
52
|
-
# An HTTP task is a task that has {Google::Cloud::Tasks::V2::HttpRequest HttpRequest} set.
|
53
|
-
# @!attribute [rw] schedule_time
|
54
|
-
# @return [Google::Protobuf::Timestamp]
|
55
|
-
# The time when the task is scheduled to be attempted or retried.
|
56
|
-
#
|
57
|
-
# `schedule_time` will be truncated to the nearest microsecond.
|
58
|
-
# @!attribute [rw] create_time
|
59
|
-
# @return [Google::Protobuf::Timestamp]
|
60
|
-
# Output only. The time that the task was created.
|
61
|
-
#
|
62
|
-
# `create_time` will be truncated to the nearest second.
|
63
|
-
# @!attribute [rw] dispatch_deadline
|
64
|
-
# @return [Google::Protobuf::Duration]
|
65
|
-
# The deadline for requests sent to the worker. If the worker does not
|
66
|
-
# respond by this deadline then the request is cancelled and the attempt
|
67
|
-
# is marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the
|
68
|
-
# task according to the {Google::Cloud::Tasks::V2::RetryConfig RetryConfig}.
|
69
|
-
#
|
70
|
-
# Note that when the request is cancelled, Cloud Tasks will stop listing for
|
71
|
-
# the response, but whether the worker stops processing depends on the
|
72
|
-
# worker. For example, if the worker is stuck, it may not react to cancelled
|
73
|
-
# requests.
|
74
|
-
#
|
75
|
-
# The default and maximum values depend on the type of request:
|
76
|
-
#
|
77
|
-
# * For {Google::Cloud::Tasks::V2::HttpRequest HTTP tasks}, the default is 10 minutes. The deadline
|
78
|
-
# must be in the interval [15 seconds, 30 minutes].
|
79
|
-
#
|
80
|
-
# * For {Google::Cloud::Tasks::V2::AppEngineHttpRequest App Engine tasks}, 0 indicates that the
|
81
|
-
# request has the default deadline. The default deadline depends on the
|
82
|
-
# [scaling
|
83
|
-
# type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)
|
84
|
-
# of the service: 10 minutes for standard apps with automatic scaling, 24
|
85
|
-
# hours for standard apps with manual and basic scaling, and 60 minutes for
|
86
|
-
# flex apps. If the request deadline is set, it must be in the interval [15
|
87
|
-
# seconds, 24 hours 15 seconds]. Regardless of the task's
|
88
|
-
# `dispatch_deadline`, the app handler will not run for longer than than
|
89
|
-
# the service's timeout. We recommend setting the `dispatch_deadline` to
|
90
|
-
# at most a few seconds more than the app handler's timeout. For more
|
91
|
-
# information see
|
92
|
-
# [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).
|
93
|
-
#
|
94
|
-
# `dispatch_deadline` will be truncated to the nearest millisecond. The
|
95
|
-
# deadline is an approximate deadline.
|
96
|
-
# @!attribute [rw] dispatch_count
|
97
|
-
# @return [Integer]
|
98
|
-
# Output only. The number of attempts dispatched.
|
99
|
-
#
|
100
|
-
# This count includes attempts which have been dispatched but haven't
|
101
|
-
# received a response.
|
102
|
-
# @!attribute [rw] response_count
|
103
|
-
# @return [Integer]
|
104
|
-
# Output only. The number of attempts which have received a response.
|
105
|
-
# @!attribute [rw] first_attempt
|
106
|
-
# @return [Google::Cloud::Tasks::V2::Attempt]
|
107
|
-
# Output only. The status of the task's first attempt.
|
108
|
-
#
|
109
|
-
# Only {Google::Cloud::Tasks::V2::Attempt#dispatch_time dispatch_time} will be set.
|
110
|
-
# The other {Google::Cloud::Tasks::V2::Attempt Attempt} information is not retained by Cloud Tasks.
|
111
|
-
# @!attribute [rw] last_attempt
|
112
|
-
# @return [Google::Cloud::Tasks::V2::Attempt]
|
113
|
-
# Output only. The status of the task's last attempt.
|
114
|
-
# @!attribute [rw] view
|
115
|
-
# @return [Google::Cloud::Tasks::V2::Task::View]
|
116
|
-
# Output only. The view specifies which subset of the {Google::Cloud::Tasks::V2::Task Task} has
|
117
|
-
# been returned.
|
118
|
-
class Task
|
119
|
-
# The view specifies a subset of {Google::Cloud::Tasks::V2::Task Task} data.
|
120
|
-
#
|
121
|
-
# When a task is returned in a response, not all
|
122
|
-
# information is retrieved by default because some data, such as
|
123
|
-
# payloads, might be desirable to return only when needed because
|
124
|
-
# of its large size or because of the sensitivity of data that it
|
125
|
-
# contains.
|
126
|
-
module View
|
127
|
-
# Unspecified. Defaults to BASIC.
|
128
|
-
VIEW_UNSPECIFIED = 0
|
129
|
-
|
130
|
-
# The basic view omits fields which can be large or can contain
|
131
|
-
# sensitive data.
|
132
|
-
#
|
133
|
-
# This view does not include the
|
134
|
-
# {Google::Cloud::Tasks::V2::AppEngineHttpRequest#body body in AppEngineHttpRequest}.
|
135
|
-
# Bodies are desirable to return only when needed, because they
|
136
|
-
# can be large and because of the sensitivity of the data that you
|
137
|
-
# choose to store in it.
|
138
|
-
BASIC = 1
|
139
|
-
|
140
|
-
# All information is returned.
|
141
|
-
#
|
142
|
-
# Authorization for {Google::Cloud::Tasks::V2::Task::View::FULL FULL} requires
|
143
|
-
# `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
|
144
|
-
# permission on the {Google::Cloud::Tasks::V2::Queue Queue} resource.
|
145
|
-
FULL = 2
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
|
-
# The status of a task attempt.
|
150
|
-
# @!attribute [rw] schedule_time
|
151
|
-
# @return [Google::Protobuf::Timestamp]
|
152
|
-
# Output only. The time that this attempt was scheduled.
|
153
|
-
#
|
154
|
-
# `schedule_time` will be truncated to the nearest microsecond.
|
155
|
-
# @!attribute [rw] dispatch_time
|
156
|
-
# @return [Google::Protobuf::Timestamp]
|
157
|
-
# Output only. The time that this attempt was dispatched.
|
158
|
-
#
|
159
|
-
# `dispatch_time` will be truncated to the nearest microsecond.
|
160
|
-
# @!attribute [rw] response_time
|
161
|
-
# @return [Google::Protobuf::Timestamp]
|
162
|
-
# Output only. The time that this attempt response was received.
|
163
|
-
#
|
164
|
-
# `response_time` will be truncated to the nearest microsecond.
|
165
|
-
# @!attribute [rw] response_status
|
166
|
-
# @return [Google::Rpc::Status]
|
167
|
-
# Output only. The response from the worker for this attempt.
|
168
|
-
#
|
169
|
-
# If `response_time` is unset, then the task has not been attempted or is
|
170
|
-
# currently running and the `response_status` field is meaningless.
|
171
|
-
class Attempt; end
|
172
|
-
end
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|