lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/target.rb in google-cloud-tasks-0.3.0 vs lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/target.rb in google-cloud-tasks-0.4.0

- old
+ new

@@ -15,80 +15,181 @@ module Google module Cloud module Tasks module V2beta3 + # HTTP request. + # + # Warning: This is an [alpha](https://cloud.google.com/terms/launch-stages) + # feature. If you haven't already joined, you can [use this form to sign + # up](https://docs.google.com/forms/d/e/1FAIpQLSfc4uEy9CBHKYUSdnY1hdhKDCX7julVZHy3imOiR-XrU7bUNQ/viewform?usp=sf_link). + # + # 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 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: {Queue::RetryConfig retry configuration}, + # {Queue::RateLimits rate limits}, and the [queue's + # state][google.cloud.tasks.v2beta3.Queue.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 backoffs on all errors. Normally the backoff specified in + # {Queue::RateLimits 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 large traffic spikes, + # 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). + # @!attribute [rw] url + # @return [String] + # Required. The full url path that the request will be sent to. + # + # This string must begin with either "http://" or "https://". Some examples + # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will + # encode some characters for safety and compatibility. The maximum allowed + # URL length is 2083 characters after encoding. + # + # The `Location` header response from a redirect response [`300` - `399`] + # may be followed. The redirect is not counted as a separate attempt. + # @!attribute [rw] http_method + # @return [Google::Cloud::Tasks::V2beta3::HttpMethod] + # The HTTP method to use for the request. The default is POST. + # @!attribute [rw] headers + # @return [Hash{String => String}] + # HTTP request headers. + # + # This map contains the header field names and values. + # Headers can be set when the + # {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask 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 + # {Google::Cloud::Tasks::V2beta3::HttpRequest#url 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 + # {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask 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. + # @!attribute [rw] body + # @return [String] + # HTTP request body. + # + # A request body is allowed only if the + # {Google::Cloud::Tasks::V2beta3::HttpRequest#http_method HTTP method} is POST, + # PUT, or PATCH. It is an error to set body on a task with an incompatible + # {Google::Cloud::Tasks::V2beta3::HttpMethod HttpMethod}. + class HttpRequest; end + # App Engine HTTP queue. # # The task will be delivered to the App Engine application hostname - # specified by its {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue AppEngineHttpQueue} and {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest}. - # The documentation for {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest} explains how the - # task's host URL is constructed. + # specified by its + # {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue AppEngineHttpQueue} and + # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest}. The + # documentation for + # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest} + # explains how the task's host URL is constructed. # - # Using {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue AppEngineHttpQueue} requires + # Using {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue AppEngineHttpQueue} + # requires # [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) # Google IAM permission for the project # and the following scope: # # `https://www.googleapis.com/auth/cloud-platform` # @!attribute [rw] app_engine_routing_override # @return [Google::Cloud::Tasks::V2beta3::AppEngineRouting] # Overrides for the - # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#app_engine_routing task-level app_engine_routing}. + # [task-level + # app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing]. # # If set, `app_engine_routing_override` is used for all tasks in # the queue, no matter what the setting is for the - # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#app_engine_routing task-level app_engine_routing}. + # [task-level + # app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing]. class AppEngineHttpQueue; end # App Engine HTTP request. # # The message defines the HTTP request that is sent to an App Engine app when # the task is dispatched. # # This proto can only be used for tasks in a queue which has - # {Google::Cloud::Tasks::V2beta3::Queue#app_engine_http_queue app_engine_http_queue} set. + # {Google::Cloud::Tasks::V2beta3::Queue#app_engine_http_queue app_engine_http_queue} + # set. # - # Using {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest} requires + # Using {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest 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) + # [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). + # [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 {Google::Cloud::Tasks::V2beta3::AppEngineRouting AppEngineRouting} used to construct the URL that the task is - # delivered to can be set at the queue-level or task-level: + # The {Google::Cloud::Tasks::V2beta3::AppEngineRouting AppEngineRouting} used to + # construct the URL that the task is delivered to can be set at the queue-level + # or task-level: # # * If set, # {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue#app_engine_routing_override app_engine_routing_override} # is used for all tasks in the queue, no matter what the setting # is for the - # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#app_engine_routing task-level app_engine_routing}. + # [task-level + # app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing]. # # # The `url` that the task will be sent to is: # # * `url =` {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} `+` # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#relative_uri 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). + # [`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) + # [`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`]. `503` is # considered an App Engine system error instead of an application @@ -101,22 +202,25 @@ # The HTTP method to use for the request. The default is POST. # # The app's request handler for the task's target URL must be able to handle # HTTP requests with this http_method, otherwise the task attempt will fail # with error code 405 (Method Not Allowed). See - # [Writing a push task request handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) + # [Writing a push task request + # handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) # and the documentation for the request handlers in the language your app is # written in e.g. - # [Python Request Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass). + # [Python Request + # Handler](https://cloud.google.com/appengine/docs/python/tools/webapp/requesthandlerclass). # @!attribute [rw] app_engine_routing # @return [Google::Cloud::Tasks::V2beta3::AppEngineRouting] # Task-level setting for App Engine routing. # # If set, # {Google::Cloud::Tasks::V2beta3::AppEngineHttpQueue#app_engine_routing_override app_engine_routing_override} # is used for all tasks in the queue, no matter what the setting is for the - # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#app_engine_routing task-level app_engine_routing}. + # [task-level + # app_engine_routing][google.cloud.tasks.v2beta3.AppEngineHttpRequest.app_engine_routing]. # @!attribute [rw] relative_uri # @return [String] # The relative URI. # # The relative URI must begin with "/" and must be a valid HTTP relative URI. @@ -138,12 +242,13 @@ # `"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 {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#body body}, Cloud - # Tasks sets the following headers: + # If the task has a + # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#body 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 # {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask task is created}. @@ -157,94 +262,112 @@ # * `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/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). + # [request + # headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-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 {Google::Cloud::Tasks::V2beta3::Task Task}. For more - # information, see the {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask CreateTask} documentation. + # the size, there is a limit on the maximum size of the + # {Google::Cloud::Tasks::V2beta3::Task Task}. For more information, see the + # {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask CreateTask} + # documentation. # @!attribute [rw] body # @return [String] # 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 {Google::Cloud::Tasks::V2beta3::HttpMethod HttpMethod}. + # an error to set a body on a task with an incompatible + # {Google::Cloud::Tasks::V2beta3::HttpMethod HttpMethod}. class AppEngineHttpRequest; end # 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). + # [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). # @!attribute [rw] service # @return [String] # App service. # # By default, the task is sent to the service which is the default # service when the task is attempted. # # For some queues or tasks which were created using the App Engine - # Task Queue API, {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable - # into {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance 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 - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable, then + # Task Queue API, {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is + # not parsable into # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance instance} are the empty string. + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance 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 + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable, + # then {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance instance} are the + # empty string. # @!attribute [rw] version # @return [String] # App version. # # By default, the task is sent to the version which is the default # version when the task is attempted. # # For some queues or tasks which were created using the App Engine - # Task Queue API, {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable - # into {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance 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 - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable, then + # Task Queue API, {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is + # not parsable into # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance instance} are the empty string. + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance 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 + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#host host} is not parsable, + # then {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance instance} are the + # empty string. # @!attribute [rw] instance # @return [String] # App instance. # # By default, the task is sent to an instance which is available when # the task is attempted. # # Requests can only be sent to a specific instance if - # [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). + # [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). + # [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). # @!attribute [rw] host # @return [String] # Output only. The host that the task is sent to. # # The host is constructed from the domain name of the app associated with # the queue's project ID (for example <app-id>.appspot.com), and the - # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, - # and {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance instance}. Tasks which were created using - # the App Engine SDK might have a custom domain name. + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#service service}, + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#version version}, and + # {Google::Cloud::Tasks::V2beta3::AppEngineRouting#instance 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). + # [How Requests are + # Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). class AppEngineRouting; end # The HTTP method used to execute the task. module HttpMethod # HTTP method unspecified \ No newline at end of file