google.cloud.gcp_cloudtasks_queue – Creates a GCP Queue

Note

This plugin is part of the google.cloud collection.

To install it use: ansible-galaxy collection install google.cloud.

To use it in a playbook, specify: google.cloud.gcp_cloudtasks_queue.

Synopsis

  • A named resource to which messages are sent by publishers.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

Parameters

Parameter Choices/Defaults Comments
app_engine_routing_override
dictionary
Overrides for task-level appEngineRouting. These settings apply only to App Engine tasks in this queue .
instance
string
App instance.
By default, the task is sent to an instance which is available when the task is attempted.
service
string
App service.
By default, the task is sent to the service which is the default service when the task is attempted.
version
string
App version.
By default, the task is sent to the version which is the default version when the task is attempted.
auth_kind
string / required
    Choices:
  • application
  • machineaccount
  • serviceaccount
The type of credential used.
env_type
string
Specifies which Ansible environment you're running this module within.
This should not be set unless you know what you're doing.
This only alters the User Agent string for any API requests.
location
string / required
The location of the queue.
name
string
The queue name.
project
string
The Google Cloud Platform project to use.
rate_limits
dictionary
Rate limits for task dispatches.
The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rateLimits, retryConfig, 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.
max_concurrent_dispatches
integer
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.
max_dispatches_per_second
string
The maximum rate at which tasks are dispatched from this queue.
If unspecified when the queue is created, Cloud Tasks will pick the default.
retry_config
dictionary
Settings that determine the retry behavior.
max_attempts
integer
Number of attempts per task.
Cloud Tasks will attempt the task maxAttempts times (that is, if the first attempt fails, then there will be maxAttempts - 1 retries). Must be >= -1.
If unspecified when the queue is created, Cloud Tasks will pick the default.
-1 indicates unlimited attempts.
max_backoff
string
A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.
max_doublings
integer
The time between retries will double maxDoublings times.
A task's retry interval starts at minBackoff, then doubles maxDoublings times, then increases linearly, and finally retries retries at intervals of maxBackoff up to maxAttempts times.
max_retry_duration
string
If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once maxRetryDuration time has passed and the task has been attempted maxAttempts times, no further attempts will be made and the task will be deleted.
If zero, then the task age is unlimited.
min_backoff
string
A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.
scopes
list / elements=string
Array of scopes to be used
service_account_contents
jsonarg
The contents of a Service Account JSON file, either in a dictionary or as a JSON string that represents it.
service_account_email
string
An optional service account email address if machineaccount is selected and the user does not wish to use the default email.
service_account_file
path
The path of a Service Account JSON file if serviceaccount is selected as type.
state
string
    Choices:
  • present ←
  • absent
Whether the given object should exist in GCP
status
string
The current state of the queue.
Some valid choices include: "RUNNING", "PAUSED", "DISABLED"

Examples

- name: create a queue
  google.cloud.gcp_cloudtasks_queue:
    name: test_object
    location: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
appEngineRoutingOverride
complex
success
Overrides for task-level appEngineRouting. These settings apply only to App Engine tasks in this queue .

 
host
string
success
The host that the task is sent to.

 
instance
string
success
App instance.
By default, the task is sent to an instance which is available when the task is attempted.

 
service
string
success
App service.
By default, the task is sent to the service which is the default service when the task is attempted.

 
version
string
success
App version.
By default, the task is sent to the version which is the default version when the task is attempted.

location
string
success
The location of the queue.

name
string
success
The queue name.

rateLimits
complex
success
Rate limits for task dispatches.
The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rateLimits, retryConfig, 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.

 
maxBurstSize
integer
success
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.

 
maxConcurrentDispatches
integer
success
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.

 
maxDispatchesPerSecond
string
success
The maximum rate at which tasks are dispatched from this queue.
If unspecified when the queue is created, Cloud Tasks will pick the default.

retryConfig
complex
success
Settings that determine the retry behavior.

 
maxAttempts
integer
success
Number of attempts per task.
Cloud Tasks will attempt the task maxAttempts times (that is, if the first attempt fails, then there will be maxAttempts - 1 retries). Must be >= -1.
If unspecified when the queue is created, Cloud Tasks will pick the default.
-1 indicates unlimited attempts.

 
maxBackoff
string
success
A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

 
maxDoublings
integer
success
The time between retries will double maxDoublings times.
A task's retry interval starts at minBackoff, then doubles maxDoublings times, then increases linearly, and finally retries retries at intervals of maxBackoff up to maxAttempts times.

 
maxRetryDuration
string
success
If positive, maxRetryDuration specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once maxRetryDuration time has passed and the task has been attempted maxAttempts times, no further attempts will be made and the task will be deleted.
If zero, then the task age is unlimited.

 
minBackoff
string
success
A task will be scheduled for retry between minBackoff and maxBackoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried.

 
purgeTime
string
success
The last time this queue was purged.

status
string
success
The current state of the queue.



Authors

  • Google Inc. (@googlecloudplatform)