Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_cloudscheduler_job — создание задания GCP

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_cloudscheduler_job.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Запланированное задание, которое может публиковать сообщение pubsub или HTTP-запрос с интервалом X, используя строку в формате crontab.
  • Для использования Cloud Scheduler в проекте должно быть приложение App Engine, расположенное в одном из поддерживаемых регионов. Если в проекте нет приложения App Engine, необходимо создать его.

Требования

На узле, на котором выполняется этот модуль, необходимы следующие компоненты.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

app_engine_http_target

dictionary

Цель HTTP в App Engine.

Если для задания указана цель HTTP в App Engine, cron отправит запрос экземпляру службы.

app_engine_routing

dictionary

Настройка маршрутизации App Engine для задания.

instance

string

Экземпляр приложения.

По умолчанию задание отправляется экземпляру, доступному в момент попытки его выполнения.

service

string

Служба приложения.

По умолчанию задание отправляется службе, являющейся службой по умолчанию в момент попытки его выполнения.

version

string

Версия приложения.

По умолчанию задание отправляется версии, являющейся версией по умолчанию в момент попытки его выполнения.

body

string

Тело HTTP-запроса. Тело запроса допускается только для HTTP-методов POST или PUT. Если задать тело для задания с несовместимым значением HttpMethod, возникнет ошибка недопустимого аргумента.

Строка в кодировке Base64.

headers

dictionary

Заголовки HTTP-запроса.

Эта карта содержит имена и значения полей заголовков. Заголовки можно задать при создании задания.

http_method

string

HTTP-метод, используемый для запроса.

relative_uri

string / обязательный

Относительный URI.

attempt_deadline

string

Крайний срок выполнения попыток задания. Если обработчик запроса не ответит к этому сроку, запрос будет отменен, а попытка завершится с ошибкой DEADLINE_EXCEEDED. Информацию о неудачной попытке можно просмотреть в журналах выполнения. Cloud Scheduler повторит попытку выполнения задания в соответствии с RetryConfig.

Допустимая продолжительность этого срока: * для HTTP-целей — от 15 секунд до 30 минут.

* Для HTTP-целей App Engine — от 15 секунд до 24 часов.

* **Примечание**: для целей PubSub это поле игнорируется — его установка приведет к неустранимому различию конфигураций.

Продолжительность в секундах с точностью до девяти дробных знаков, заканчивающаяся символом «s». Пример: «3.5s».

По умолчанию: "180s"

auth_kind

string / обязательный

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

description

string

Понятное человеку описание задания. Длина строки не должна превышать 500 символов.

env_type

string

Указывает среду Ansible, в которой выполняется этот модуль.

Не задавайте это значение, если не уверены в своих действиях.

Этот параметр изменяет только строку User Agent для запросов к API.

http_target

dictionary

HTTP-цель.

Если для задания указана цель http_target, cron отправит запрос на целевой URL.

body

string

Тело HTTP-запроса. Тело запроса допускается только для HTTP-методов POST, PUT или PATCH. Если задать тело для задания с несовместимым значением HttpMethod, возникнет ошибка.

Строка в кодировке Base64.

headers

dictionary

Эта карта содержит имена и значения полей заголовков. Повторяющиеся заголовки не поддерживаются, но значение заголовка может содержать запятые.

http_method

string

HTTP-метод, используемый для запроса.

oauth_token

dictionary

Содержит сведения, необходимые для создания токена OAuth.

Этот тип авторизации следует использовать при отправке запросов к конечной точке GCP.

scope

string

Область действия OAuth для создания токена доступа OAuth. Если значение не указано, будет использоваться «https://www.googleapis.com/auth/cloud-platform».

service_account_email

string / обязательный

Адрес электронной почты сервисного аккаунта, используемого для создания токена OAuth.

Сервисный аккаунт должен находиться в том же проекте, что и задание.

oidc_token

dictionary

Содержит сведения, необходимые для создания токена OpenID Connect.

Этот тип авторизации следует использовать при отправке запросов к сторонним конечным точкам или Cloud Run.

audience

string

Аудитория, используемая при создании токена OIDC. Если значение не указано, будет использоваться URI, указанный в целевом объекте.

service_account_email

string / обязательный

Адрес электронной почты сервисного аккаунта, используемого для создания токена OAuth.

Сервисный аккаунт должен находиться в том же проекте, что и задание.

uri

string / обязательный

Полный путь URI, на который будет отправлен запрос.

name

string / обязательный

Имя задания.

project

string

Проект Google Cloud Platform, который следует использовать.

pubsub_target

dictionary

Цель Pub/Sub. Если для задания указана цель Pub/Sub, cron опубликует сообщение в указанной теме.

attributes

dictionary

Атрибуты для PubsubMessage.

Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.

data

string

Данные сообщения PubsubMessage.

Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.

Строка в кодировке Base64.

topic_name

string / обязательный

Полное имя ресурса темы Cloud Pub/Sub, в которую будут публиковаться сообщения при запуске задания. ~>**ПРИМЕЧАНИЕ:** Имя темы должно иметь формат, требуемый для PubSub PublishRequest.name, например `projects/my-project/topics/my-topic`.

region

string / обязательный

Регион, в котором находится задание планировщика.

retry_config

dictionary

По умолчанию, если задание не завершается успешно (то есть обработчик не отправляет подтверждение), повторные попытки выполняются с экспоненциальной задержкой в соответствии с указанными настройками.

max_backoff_duration

string

Максимальное время ожидания перед повторной попыткой после сбоя задания.

Продолжительность в секундах с точностью до девяти дробных знаков, заканчивающаяся символом «s».

max_doublings

integer

Интервал между повторными попытками будет удваиваться maxDoublings раз.

Интервал повторных попыток задания начинается с minBackoffDuration, затем удваивается maxDoublings раз, после чего увеличивается линейно; в конце выполняются повторные попытки с интервалами maxBackoffDuration, но не более retryCount раз.

max_retry_duration

string

Ограничение по времени для повторных попыток выполнения задания после сбоя, отсчитываемое с момента первой попытки выполнения. Если параметр задан вместе с retryCount, повторные попытки будут выполняться до достижения обоих ограничений.

Продолжительность в секундах с точностью до девяти дробных знаков, заканчивающаяся символом «s».

min_backoff_duration

string

Минимальное время ожидания перед повторной попыткой после сбоя задания.

Продолжительность в секундах с точностью до девяти дробных знаков, заканчивающаяся символом «s».

retry_count

integer

Количество попыток запуска задания, выполняемых системой с использованием процедуры экспоненциальной задержки, описанной параметром maxDoublings.

Значения больше 5 и отрицательные значения не допускаются.

schedule

string

Описывает расписание выполнения задания.

scopes

list / элементы типа string

Массив используемых областей действия

service_account_contents

jsonarg

Содержимое JSON-файла сервисного аккаунта в виде словаря или JSON-строки, представляющей его.

service_account_email

string

Необязательный адрес электронной почты сервисного аккаунта, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбрано serviceaccount.

state

string

Должен ли указанный объект существовать в GCP

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

time_zone

string

Указывает часовой пояс, используемый для интерпретации расписания.

Значение этого поля должно быть названием часового пояса из базы данных tz.

По умолчанию: "Etc/UTC"

Примечания

Примечание

  • Справочник API: https://cloud.google.com/scheduler/docs/reference/rest/
  • Официальная документация: https://cloud.google.com/scheduler/
  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды используются только в том случае, если значения не заданы в плейбуке.
  • Параметры service_account_email и service_account_file являются взаимоисключающими.

Примеры

- name: create a job
  google.cloud.gcp_cloudscheduler_job:
    name: job
    region: us-central1
    schedule: "*/4 * * * *"
    description: test app engine job
    time_zone: Europe/London
    attempt_deadline: 320s
    app_engine_http_target:
      http_method: POST
      app_engine_routing:
        service: web
        version: prod
        instance: my-instance-001
      relative_uri: "/ping"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

appEngineHttpTarget

complex

Цель HTTP для App Engine.

Если для задания указана цель HTTP для App Engine, cron отправит запрос экземпляру сервиса.

Возвращается: при успехе

appEngineRouting

complex

Настройка маршрутизации App Engine для задания.

Возвращается: при успехе

instance

string

Экземпляр приложения.

По умолчанию задание отправляется экземпляру, доступному в момент выполнения задания.

Возвращается: при успехе

service

string

Сервис приложения.

По умолчанию задание отправляется сервису, являющемуся сервисом по умолчанию в момент выполнения задания.

Возвращается: при успехе

version

string

Версия приложения.

По умолчанию задание отправляется версии, являющейся версией по умолчанию в момент выполнения задания.

Возвращается: при успехе

body

string

Тело HTTP-запроса. Тело запроса разрешено только для методов HTTP POST и PUT. Указание тела для задания с несовместимым значением HttpMethod приведёт к ошибке недопустимого аргумента.

Строка в кодировке Base64.

Возвращается: при успехе

headers

dictionary

Заголовки HTTP-запроса.

Эта карта содержит имена и значения полей заголовков. Заголовки можно указать при создании задания.

Возвращается: при успехе

httpMethod

string

Метод HTTP, используемый для запроса.

Возвращается: при успехе

relativeUri

string

Относительный URI.

Возвращается: при успехе

attemptDeadline

string

Срок выполнения попыток запуска задания. Если обработчик запроса не ответит до наступления этого срока, запрос будет отменён, а попытка помечена как неудачная с ошибкой DEADLINE_EXCEEDED. Сведения о неудачной попытке можно просмотреть в журналах выполнения. Cloud Scheduler будет повторять попытки запуска задания в соответствии с RetryConfig.

Допустимая продолжительность этого срока: * для целей HTTP — от 15 секунд до 30 минут.

* для целей HTTP в App Engine — от 15 секунд до 24 часов.

* **Примечание**: для целей PubSub это поле игнорируется; его настройка приведёт к неустранимому расхождению.

Длительность в секундах, содержащая до девяти десятичных знаков и оканчивающаяся символом «s». Пример: «3.5s».

Возвращается: при успехе

description

string

Удобное для чтения описание задания. Эта строка не должна содержать более 500 символов.

Возвращается: при успехе

httpTarget

complex

Цель HTTP.

Если для задания указана цель http_target, cron отправит запрос на целевой URL.

Возвращается: при успехе

body

string

Тело HTTP-запроса. Тело запроса разрешено только для методов HTTP POST, PUT или PATCH. Указание тела для задания с несовместимым значением HttpMethod считается ошибкой.

Строка в кодировке Base64.

Возвращается: при успехе

headers

dictionary

Эта карта содержит имена и значения полей заголовков. Повторяющиеся заголовки не поддерживаются, однако значение заголовка может содержать запятые.

Возвращается: при успехе

httpMethod

string

Метод HTTP, используемый для запроса.

Возвращается: при успехе

oauthToken

complex

Содержит сведения, необходимые для создания токена OAuth.

Этот тип авторизации следует использовать при отправке запросов к конечной точке GCP.

Возвращается: при успехе

scope

string

Область OAuth, используемая для создания токена доступа OAuth. Если она не указана, будет использоваться «https://www.googleapis.com/auth/cloud-platform”.

Возвращается: при успехе

serviceAccountEmail

string

Адрес электронной почты учётной записи службы, используемой для создания токена OAuth.

Учётная запись службы должна принадлежать тому же проекту, что и задание.

Возвращается: при успехе

oidcToken

complex

Содержит сведения, необходимые для создания токена OpenID Connect.

Этот тип авторизации следует использовать при отправке запросов к сторонним конечным точкам или Cloud Run.

Возвращается: при успехе

audience

string

Аудитория, используемая при создании токена OIDC. Если она не указана, будет использоваться URI, указанный в target.

Возвращается: при успехе

serviceAccountEmail

string

Адрес электронной почты учётной записи службы, используемой для создания токена OAuth.

Учётная запись службы должна принадлежать тому же проекту, что и задание.

Возвращается: при успехе

uri

string

Полный путь URI, на который будет отправлен запрос.

Возвращается: при успехе

name

string

Имя задания.

Возвращается: при успехе

pubsubTarget

complex

Цель Pub/Sub. Если для задания указана цель Pub/Sub, cron опубликует сообщение в заданную тему.

Возвращается: при успехе

attributes

dictionary

Атрибуты PubsubMessage.

Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.

Возвращается: при успехе

data

string

Полезная нагрузка сообщения PubsubMessage.

Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.

Строка в кодировке Base64.

Возвращается: при успехе

topicName

string

Полное имя ресурса темы Cloud Pub/Sub, в которую будут публиковаться сообщения при выполнении задания. ~>**ПРИМЕЧАНИЕ:** Имя темы должно иметь формат, требуемый для PubSub’s PublishRequest.name, например `projects/my-project/topics/my-topic`.

Возвращается: при успехе

region

string

Регион, в котором находится задание планировщика.

Возвращается: при успехе

retryConfig

complex

По умолчанию, если задание не завершается успешно, то есть обработчик не отправляет подтверждение, попытки запуска будут повторяться с экспоненциальной задержкой в соответствии с указанными настройками.

Возвращается: при успехе

maxBackoffDuration

string

Максимальное время ожидания перед повторной попыткой запуска задания после сбоя.

Длительность в секундах, содержащая до девяти десятичных знаков и оканчивающаяся символом «s».

Возвращается: при успехе

maxDoublings

integer

Интервал между повторными попытками будет удваиваться maxDoublings раз.

Интервал повторных попыток для задания начинается с minBackoffDuration, затем удваивается maxDoublings раз, после чего увеличивается линейно; в конце повторные попытки выполняются с интервалом maxBackoffDuration, не более retryCount раз.

Возвращается: при успехе

maxRetryDuration

string

Предельное время повторных попыток запуска задания после сбоя, отсчитываемое с момента первой попытки выполнения. Если это значение указано вместе с retryCount, попытки будут выполняться, пока не будут достигнуты оба предела.

Длительность в секундах, содержащая до девяти десятичных знаков и оканчивающаяся символом «s».

Возвращается: при успехе

minBackoffDuration

string

Минимальное время ожидания перед повторной попыткой запуска задания после сбоя.

Длительность в секундах, содержащая до девяти десятичных знаков и оканчивающаяся символом «s».

Возвращается: при успехе

retryCount

integer

Количество попыток, которые система предпримет для запуска задания с использованием процедуры экспоненциальной задержки, описанной параметром maxDoublings.

Значения больше 5 и отрицательные значения не допускаются.

Возвращается: при успехе

schedule

string

Описывает расписание выполнения задания.

Возвращается: при успехе

timeZone

string

Задаёт часовой пояс, используемый для интерпретации расписания.

Значение этого поля должно быть названием часового пояса из базы данных tz.

Возвращается: при успехе

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_cloudscheduler_job_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API