Ресурс google_cloud_scheduler_job
Синтаксис
Используется google_cloud_scheduler_job, чтобы протестировать ресурс задания Google.
Примеры
describe google_cloud_scheduler_job(project: 'chef-gcp-inspec', region: us-central1, name: 'job-name') do
it { should exist }
its('description') { should cmp 'A description' }
its('schedule') { should cmp '*/8 * * * *' }
its('time_zone') { should cmp 'America/New_York' }
its('http_target.http_method') { should cmp 'POST' }
its('http_target.uri') { should cmp 'https://example.com/ping' }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_cloud_scheduler_job:
name- Имя задания.
description- Человекопонятное описание задания. Эта строка не должна содержать более 500 символов.
schedule- Описание расписания, по которому будет выполняться задание.
time_zone- Указывает часовой пояс, используемый при интерпретации расписания. Значение этого поля должно быть именем часового пояса из базы данных tz.
attempt_deadline- Дедлайн для попыток выполнения задания. Если обработчик запроса не отвечает к этому дедлайну, запрос отменяется, а попытка отмечается как ошибка DEADLINE_EXCEEDED. Неудачная попытка может быть просмотрена в журнале выполнения. Cloud Scheduler повторит задание в соответствии с RetryConfig. Допустимая продолжительность этого дедлайна: для HTTP-целей - от 15 секунд до 30 минут, для HTTP-целей App Engine - от 15 секунд до 24 часов. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся символом 's'. Пример: "3.5s"
retry_config- По умолчанию, если задание не выполняется успешно (то есть не получен ответ от обработчика), оно будет повторно выполняться с экспоненциальной задержкой в соответствии с настройками.
retry_count- Количество попыток, которые система предпримет для выполнения задания, используя процедуру экспоненциальной задержки, описанную в maxDoublings. Значения больше 5 и отрицательные значения недопустимы.
max_retry_duration- Предельное время для повторного выполнения задания после его завершения, отсчитываемое с момента первой попытки выполнения. Если указано с retryCount, задание будет выполняться повторно, пока не будут достигнуты оба ограничения. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся символом 's'.
min_backoff_duration- Минимальное время ожидания перед повторной попыткой выполнения задания после его завершения. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся символом 's'.
max_backoff_duration- Максимальное время ожидания перед повторной попыткой выполнения задания после его завершения. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся символом 's'.
max_doublings- Время между повторными попытками будет удваиваться maxDoublings раз. Интервал повторного выполнения задания начинается с minBackoffDuration, затем удваивается maxDoublings раз, затем увеличивается линейно и, наконец, выполняет повторные попытки с интервалами maxBackoffDuration до retryCount раз.
pubsub_target- Целевая точка Pub/Sub. Если задание предоставляет целевую точку Pub/Sub, планировщик отправит сообщение в указанную тему.
topic_name- Полное имя ресурса темы Cloud Pub/Sub, в которую будут публиковаться сообщения при доставке задания.
Примечание
Имя темы должно иметь тот же формат, что и требуется в PublishRequest.name PubSub, например:projects/my-project/topics/my-topic. data- Загрузка сообщения для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.
attributes- Атрибуты для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут.
app_engine_http_target- Целевая точка App Engine HTTP. Если задание предоставляет целевую точку App Engine HTTP, планировщик отправит запрос в экземпляр службы.
http_method- Какой HTTP-метод использовать для запроса.
app_engine_routing- Настройка маршрутизации App Engine для задания.
service- Сервис приложения. По умолчанию задание отправляется в службу, которая является службой по умолчанию при попытке выполнения задания.
version- Версия приложения. По умолчанию задание отправляется в версию, которая является версией по умолчанию при попытке выполнения задания.
instance- Экземпляр приложения. По умолчанию задание отправляется в доступный экземпляр при попытке выполнения задания.
relative_uri- Относительный URI. Относительный URL должен начинаться с "/" и быть допустимым относительным URL HTTP. Он может содержать путь, аргументы запроса и фрагменты. Если относительный URL пуст, будет использоваться корневой путь "/". Пробелы не допускаются, а максимальная длина составляет 2083 символа.
body- Тело HTTP-запроса. Тело запроса разрешено только в том случае, если HTTP-метод POST или PUT. Установка тела для задания с несовместимым HttpMethod приведет к ошибке неверного аргумента.
headers- HTTP-заголовки запроса. Эта карта содержит имена и значения заголовков. Заголовки могут быть установлены при создании задания.
http_target- HTTP-целевая точка. Если задание предоставляет http_target, планировщик отправит запрос по указанному URL.
uri- Полный URI-путь, к которому будет отправлен запрос.
http_method- Какой HTTP-метод использовать для запроса.
body- Тело HTTP-запроса. Тело запроса разрешено только в том случае, если HTTP-метод POST, PUT или PATCH. Установка тела для задания с несовместимым HttpMethod приведет к ошибке.
headers- Эта карта содержит имена и значения заголовков. Повторные заголовки не поддерживаются, но значение заголовка может содержать запятые.
oauth_token- Содержит информацию, необходимую для создания токена OAuth. Этот тип авторизации следует использовать при отправке запросов на конечную точку GCP.
service_account_email- Электронная почта учетной записи службы, которая будет использоваться для создания токена OAuth. Учетная запись службы должна находиться в том же проекте, что и задание.
scope- Диапазон OAuth, который будет использоваться для создания токена доступа OAuth. Если не указано, будет использоваться «https://www.googleapis.com/auth/cloud-platform».
oidc_token- Содержит информацию, необходимую для создания токена OpenID Connect. Этот тип авторизации следует использовать при отправке запросов на сторонние конечные точки или Cloud Run.
service_account_email- Электронная почта учетной записи службы, которая будет использоваться для создания токена OAuth. Учетная запись службы должна находиться в том же проекте, что и задание.
audience- Аудитория, которая будет использоваться при создании токена OIDC. Если не указано, будет использован URI, указанный в целевой точке.
region- Регион, в котором находится задание планировщика.
Разрешения GCP
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_cloud_scheduler_job/