Spec-Zone.ru › Ansible

google.cloud.gcp_cloudscheduler_job модуль – Создаёт задачу GCP Job

Примечание

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

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

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

Чтобы использовать его в playbook, укажите: 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

строка

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

app_engine_http_target

словарь

Целевой ресурс App Engine HTTP.

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

app_engine_routing

словарь

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

instance

строка

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

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

service

строка

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

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

version

строка

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

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

body

строка

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

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

headers

словарь

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

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

http_method

строка

Метод HTTP для запроса.

relative_uri

строка / обязательно

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

attempt_deadline

строка

Срок выполнения попытки задачи. Если обработчик запроса не отвечает в этот срок, запрос отменяется, а попытка отмечается как ошибка DEADLINE_EXCEEDED. Неуспешную попытку можно просмотреть в журналах выполнения. Планировщик задач повторит задачу в соответствии с RetryConfig.

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

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

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

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

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

auth_kind

строка / обязательно

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

Варианты:

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

description

строка

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

env_type

строка

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

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

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

http_target

словарь

Целевой ресурс HTTP.

Если задача использует целевой ресурс HTTP, планировщик задач отправит запрос на указанный URL.

body

строка

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

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

headers

словарь

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

http_method

строка

Метод HTTP для запроса.

oauth_token

словарь

Содержит информацию, необходимую для генерации токена OAuth.

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

scope

строка

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

service_account_email

строка / обязательно

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

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

oidc_token

словарь

Содержит информацию, необходимую для генерации маркера OpenID Connect.

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

audience

строка

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

service_account_email

строка / обязательно

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

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

uri

строка / обязательно

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

name

строка / обязательно

Имя задачи.

project

строка

Проект Google Cloud Platform для использования.

pubsub_target

словарь

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

attributes

словарь

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

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

data

строка

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

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

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

topic_name

строка / обязательно

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

region

строка / обязательно

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

retry_config

словарь

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

max_backoff_duration

строка

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

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

max_doublings

целое число

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

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

max_retry_duration

строка

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

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

min_backoff_duration

строка

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

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

retry_count

целое число

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

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

schedule

строка

Описание графика выполнения задачи.

scopes

список / элементы=строка

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

service_account_contents

jsonarg

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

service_account_email

строка

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

service_account_file

путь

Путь к файлу 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.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
  • Параметры 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

сложный

Целевой ресурс App Engine HTTP.

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

Возвращается: успешно

appEngineRouting

сложный

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

Возвращается: успешно

instance

строка

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

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

Возвращается: успешно

service

строка

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

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

Возвращается: успешно

version

строка

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

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

Возвращается: успешно

body

строка

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

Строка, закодированная в base64.

Возвращается: успешно

headers

словарь

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

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

Возвращается: успешно

httpMethod

строка

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

Возвращается: успешно

relativeUri

строка

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

Возвращается: успешно

attemptDeadline

строка

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

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

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

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

Продолжительность в секундах с максимальной точностью до девяти десятичных знаков, завершаемая символом 's'. Пример: «3,5s» .

Возвращается: успешно

description

строка

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

Возвращается: успешно

httpTarget

сложный

HTTP-цель.

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

Возвращается: успешно

body

строка

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

Строка, закодированная в base64.

Возвращается: успешно

headers

словарь

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

Возвращается: успешно

httpMethod

строка

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

Возвращается: успешно

oauthToken

сложный

Содержит информацию, необходимую для генерации маркера OAuth.

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

Возвращается: успешно

scope

строка

Диапазон OAuth, используемый для генерации маркера доступа OAuth. Если не указано, используется «https://www.googleapis.com/auth/cloud-platform”.

Возвращается: успешно

serviceAccountEmail

строка

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

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

Возвращается: успешно

oidcToken

complex

Содержит информацию, необходимую для генерации токена OpenID Connect.

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

Возвращено: success

audience

string

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

Возвращено: success

serviceAccountEmail

string

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

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

Возвращено: success

uri

string

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

Возвращено: success

name

string

Имя задачи.

Возвращено: success

pubsubTarget

complex

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

Возвращено: success

attributes

dictionary

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

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

Возвращено: success

data

string

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

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

Строка, закодированная в base64.

Возвращено: success

topicName

string

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

Возвращено: success

region

string

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

Возвращено: success

retryConfig

complex

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

Возвращено: success

maxBackoffDuration

string

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

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

Возвращено: success

maxDoublings

integer

Время между повторами будет удваиваться maxDoublings раз.

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

Возвращено: success

maxRetryDuration

string

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

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

Возвращено: success

minBackoffDuration

string

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

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

Возвращено: success

retryCount

integer

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

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

Возвращено: success

schedule

string

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

Возвращено: success

timeZone

string

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

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

Возвращено: success

Авторы

  • Google Inc. (@googlecloudplatform)

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

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

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

Spec-Zone.ru

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