google.cloud.gcp_pubsub_subscription_info – Сбор информации о подписке GCP
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в книге задач укажите: google.cloud.gcp_pubsub_subscription_info.
Описание
- Сбор информации о подписке GCP
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Это поле не следует устанавливать, если вы не знаете, что делаете. Это поле только изменяет строку User Agent для всех запросов к API. | |
| project строка | Проект Google Cloud Platform для использования. | |
| scopes список / элементы=строка | Массив используемых областей доступа. | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, представленное либо в виде словаря, либо в виде строки JSON, его представляющей. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если в качестве типа выбран serviceaccount. |
Примечания
Примечание
- для аутентификации можно установить service_account_file с помощью переменной среды
gcp_service_account_file. - для аутентификации можно установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - значения переменных среды будут использоваться только в том случае, если значения в книге задач не заданы.
- параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: get info on a subscription
gcp_pubsub_subscription_info:
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения описаны в разделе здесь, а следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| resources complex | всегда | Список ресурсов | |||
| ackDeadlineSeconds целое число | успех | Это значение — максимальное время после получения сообщения подписчиком, в течение которого подписчик должен подтвердить сообщение. После доставки сообщения, но до истечения срока подтверждения и до подтверждения сообщения, оно является ожидающим сообщением и не будет повторно доставлено в течение этого времени (на основе наилучших усилий). Для подписок pull это значение используется как начальное значение срока подтверждения. Чтобы переопределить это значение для данного сообщения, вызовите subscriptions.modifyAckDeadline с соответствующим идентификатором подтверждения, если используется pull. Минимальный настраиваемый срок подтверждения, который можно указать, составляет 10 секунд. Максимальный настраиваемый срок подтверждения — 600 секунд (10 минут). Если этот параметр равен 0, используется значение по умолчанию — 10 секунд. Для доставки push это значение также используется для установки тайм-аута запроса для вызова push-точке. Если подписчик никогда не подтверждает сообщение, система Pub/Sub в конечном итоге повторно доставит сообщение. | |||
| deadLetterPolicy complex | успех | Политика, которая определяет условия для отправки сообщений в dead letter в этой подписке. Если dead_letter_policy не задан, отправка в dead letter отключена. Учетная запись сервиса Google Cloud Pub/Sub, связанная с родительским проектом этой подписки (т. е., service-{номер_проекта}@gcp-sa-pubsub.iam.gserviceaccount.com), должна иметь разрешение Acknowledge() сообщений в этой подписке. | |||
| deadLetterTopic строка | успех | Имя темы, в которую должны публиковаться сообщения dead letter. Формат: `projects/{project}/topics/{topic}`. Учетная запись сервиса Google Cloud Pub/Sub, связанная с родительским проектом подписки (т. е., service-{номер_проекта}@gcp-sa-pubsub.iam.gserviceaccount.com), должна иметь разрешение Publish() в эту тему. Операция завершится ошибкой, если тема не существует. Пользователи должны убедиться, что к этой теме прикреплена подписка, так как сообщения, опубликованные в тему без подписок, теряются. | |||
| maxDeliveryAttempts целое число | успех | Максимальное количество попыток доставки сообщения. Значение должно быть между 5 и 100. Количество попыток доставки определяется как 1 + (сумма количества NACK и количества раз, когда срок подтверждения был превышен для сообщения). NACK — это любой вызов ModifyAckDeadline со сроком подтверждения 0. Обратите внимание, что клиентские библиотеки могут автоматически продлевать сроки подтверждения. Этот параметр будет выполняться на основе наилучших усилий. Если этот параметр равен 0, используется значение по умолчанию — 5. | |||
| enableMessageOrdering булево | успех | Если `true`, сообщения, опубликованные с одинаковым orderingKey в PubsubMessage, будут доставлены подписчикам в том порядке, в котором они получены системой Pub/Sub. В противном случае они могут быть доставлены в произвольном порядке. | |||
| expirationPolicy complex | успех | Политика, которая определяет условия истечения срока действия этой подписки. Подписка считается активной, пока любой подключенный подписчик успешно потребляет сообщения из подписки или выполняет операции с подпиской. Если expirationPolicy не задан, будет использоваться политика по умолчанию с ttl в 31 день. Если она задана, но ttl пустая, ресурс никогда не истекает. Минимально допустимое значение для expirationPolicy.ttl — 1 день. | |||
| ttl строка | успех | Устанавливает время жизни (TTL) для связанного ресурса. Ресурс истекает, если он неактивен в течение периода ttl. Если ttl не задан, связанный ресурс никогда не истекает. Длительность в секундах с до девяти знаков после запятой, завершаемая символом 's'. Пример — "3.5s". | |||
| filter строка | успех | Подписка доставляет только сообщения, которые соответствуют фильтру. Pub/Sub автоматически подтверждает сообщения, которые не соответствуют фильтру. Вы можете фильтровать сообщения по их атрибутам. Максимальная длина фильтра — 256 байт. После создания подписки изменить фильтр нельзя. | |||
| labels словарь | успех | Набор пар ключ/значение меток для назначения этой подписки. | |||
| messageRetentionDuration строка | успех | Сколько времени сохранять неопознанные сообщения в очереди подписки с момента публикации сообщения. Если retainAckedMessages истинно, то это также настраивает сохранение подтверждённых сообщений, и таким образом настраивает, насколько далеко в прошлое можно выполнить subscriptions.seek. По умолчанию — 7 дней. Не может быть больше 7 дней (`"604800s"`) или меньше 10 минут (`"600s"`). Длительность в секундах с до девяти знаков после запятой, завершаемая символом 's'. Пример: `"600.5s"`. | |||
| name строка | успех | Имя подписки. | |||
| pushConfig complex | успех | Если используется доставка push с этой подпиской, это поле используется для ее настройки. Пустая pushConfig означает, что подписчик будет получать и подтверждать сообщения с помощью методов API. | |||
| attributes словарь | успех | Атрибуты конфигурации конечной точки. У каждой конечной точки есть набор поддерживаемых API атрибутов, которые можно использовать для управления различными аспектами доставки сообщений. В настоящее время поддерживаемый атрибут — x-goog-version, который можно использовать для изменения формата сообщения push. Этот атрибут указывает версию данных, ожидаемых конечной точкой. Он контролирует форму сообщения push (т. е. его поля и метаданные). Версия конечной точки основана на версии API Pub/Sub. Если он отсутствует во время вызова subscriptions.create, он будет по умолчанию установлен на версию API, используемую для такого вызова. Если он отсутствует во время вызова subscriptions.modifyPushConfig, его значение не будет изменено. Вызовы subscriptions.get всегда будут возвращать допустимую версию, даже если подписка была создана без этого атрибута. Возможные значения для этого атрибута: - v1beta1: использует формат push, определенный в API Pub/Sub v1beta1. - v1 или v1beta2: использует формат push, определенный в API Pub/Sub v1. | |||
| oidcToken complex | успех | Если указано, Pub/Sub сгенерирует и прикрепит токен OIDC JWT в качестве заголовка Authorization в HTTP-запросе для каждого отправляемого сообщения. | |||
| audience строка | успех | Аудитория, которая будет использоваться при генерации токена OIDC. Поле аудитории JWT идентифицирует получателей, для которых предназначен JWT. Значение аудитории — единственная строка в нижнем регистре. Не поддерживается использование нескольких значений (массива) для поля аудитории. Более подробная информация о поле аудитории OIDC JWT: https://tools.ietf.org/html/rfc7519#section-4.1.3 Примечание: если не указано, будет использоваться URL-адрес точки push. | |||
| serviceAccountEmail строка | успех | Электронная почта учетной записи сервиса, которая будет использоваться для генерации токена OIDC. Вызывающий (для RPC subscriptions.create, subscriptions.patch и subscriptions.modifyPushConfig) должен иметь разрешение iam.serviceAccounts.actAs для учетной записи сервиса. | |||
| pushEndpoint строка | успех | URL-адрес конечной точки, в которую должны быть отправлены сообщения. Например, конечная точка веб-хука может использовать "https://example.com/push". | |||
| retainAckedMessages булево | успех | Указывает, следует ли сохранять подтверждённые сообщения. Если `true`, сообщения не удаляются из очереди подписки, даже если они подтверждены, до тех пор, пока они не выйдут за рамки периода messageRetentionDuration. | |||
| retryPolicy complex | успех | Политика, которая определяет, как Pub/Sub повторяет доставку сообщений для этой подписки. Если не задана, применяется политика повторных попыток по умолчанию. Это, как правило, означает, что сообщения будут повторно отправляться как можно скорее для здоровых подписчиков. RetryPolicy будет срабатывать при NACK или истечении срока подтверждения для данного сообщения. | |||
| maximumBackoff строка | успех | Максимальная задержка между последовательными доставками данного сообщения. Значение должно быть от 0 до 600 секунд. По умолчанию — 600 секунд. Длительность в секундах с до девяти знаков после запятой, завершаемая символом 's'. Пример: "3.5s". | |||
| minimumBackoff строка | успех | Минимальная задержка между последовательными доставками данного сообщения. Значение должно быть от 0 до 600 секунд. По умолчанию — 10 секунд. Длительность в секундах с до девяти знаков после запятой, завершаемая символом 's'. Пример: "3.5s". | |||
| тема словарь | успех | Ссылка на ресурс темы. | |||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_pubsub_subscription_info_module.html