community.aws.cloudwatchevent_rule – Управление правилами и целевыми объектами CloudWatch Events
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.cloudwatchevent_rule.
Новое в версии 1.0.0: из community.aws
Обзор
- Этот модуль создаёт и управляет правилами и целевыми объектами CloudWatch Events.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_access_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: ec2_access_key, access_key | |||
| aws_ca_bundle путь | Расположение файла CA-сертификатов для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Файл CA-сертификатов считывается на стороне модуля и может потребоваться его явное копирование с контроллера, если модуль не выполняется локально. | |||
| aws_config словарь | Словарь для изменения настроек botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о настройке boto. | |||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_secret_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |||
| debug_botocore_endpoint_logs логический тип |
| Используйте логирование botocore.endpoint для анализа уникальных (а не всех) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в список всех вызовов, выполненных во время книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | ||
| description строка | Описание правила. | |||
| ec2_url строка | URL для подключения к EC2 или вашей облачной службе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если она существует. псевдонимы: aws_endpoint_url, endpoint_url | |||
| event_pattern строка | Строковый шаблон (в формате JSON) для сопоставления с входящими событиями, чтобы определить, должно ли быть запущено правило. | |||
| name строка / обязательный | Имя создаваемого, обновляемого или удаляемого правила. Не допускаются пробелы и специальные символы (т.е. должно соответствовать [\.\-_A-Za-z0-9]+). | |||
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, а поддержка их одновременного использования с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |||
| region строка | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |||
| role_arn строка | Amazon Resource Name (ARN) IAM роли, связанной с правилом. | |||
| schedule_expression строка | Выражение cron или rate, определяющее график срабатывания правила. Например, cron(0 20 * * ? *), rate(5 minutes). | |||
| security_token строка | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и будет сделано взаимоисключающим после 2022-06-01. псевдонимы: aws_security_token, access_token | |||
| state строка |
| Состояние правила: присутствует (и включено), выключено или отсутствует. | ||
| targets список / элементы=словарь | Список целевых объектов для добавления или обновления для правила. | |||
| arn строка / обязательный | ARN, связанный с целевым объектом. | |||
| ecs_parameters словарь | Содержит определение ECS задачи и количество задач, которые будут использоваться, если целевой объект события — ECS задача. | |||
| task_count целое число | Количество задач, которые нужно создать на основе task_definition. | |||
| task_definition_arn строка | Полный ARN определения задачи. | |||
| id строка / обязательный | Уникальный идентификатор назначения целевого объекта. | |||
| input строка | Объект JSON, который переопределит данные события при передаче целевому объекту. Если ни input, ни input_path не указаны, то всё событие передаётся целевому объекту в формате JSON. | |||
| input_path строка | Строка JSONPath (например, $.detail) указывающая часть данных события, передаваемая целевому объекту.Если ни input, ни input_path не указаны, то всё событие передаётся целевому объекту в формате JSON. | |||
| role_arn строка | ARN IAM роли, используемой для этого целевого объекта при срабатывании правила. | |||
| validate_certs логический тип |
| Если значение «нет», SSL сертификаты не будут проверены для версий boto >= 2.6.0. | ||
Примечания
Примечание
- Правило должно содержать хотя бы event_pattern или schedule_expression. Правило может содержать и event_pattern, и schedule_expression, в этом случае правило будет срабатывать как на соответствующие события, так и по графику.
- При указании целевых объектов, параметры input и input_path являются взаимоисключающими и необязательными.
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания AWS региона, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
- community.aws.cloudwatchevent_rule:
name: MyCronTask
schedule_expression: "cron(0 20 * * ? *)"
description: Run my scheduled task
targets:
- id: MyTargetId
arn: arn:aws:lambda:us-east-1:123456789012:function:MyFunction
- community.aws.cloudwatchevent_rule:
name: MyDisabledCronTask
schedule_expression: "rate(5 minutes)"
description: Run my disabled scheduled task
state: disabled
targets:
- id: MyOtherTargetId
arn: arn:aws:lambda:us-east-1:123456789012:function:MyFunction
input: '{"foo": "bar"}'
- community.aws.cloudwatchevent_rule:
name: MyCronTask
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| rule словарь | успех | Данные правила CloudWatch Event. Пример: {'arn': 'arn:aws:events:us-east-1:123456789012:rule/MyCronTask', 'description': 'Запуск моего запланированного задания', 'name': 'MyCronTask', 'schedule_expression': 'cron(0 20 * * ? *)', 'state': 'ENABLED'} |
| targets список / элементы=строка | успех | Целевые объекты CloudWatch Event, назначенные правилу. Пример: [{ 'arn': 'arn:aws:lambda:us-east-1:123456789012:function:MyFunction', 'id': 'MyTargetId' }] |
Авторы
- Jim Dalton (@jsdalton) <jim.dalton@gmail.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/cloudwatchevent_rule_module.html