community.aws.s3_bucket_notification – Создаёт, обновляет или удаляет уведомления о событиях ведра S3 для lambda
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws
Для использования в playbook, укажите: community.aws.s3_bucket_notification
Новая версия 1.0.0: из community.aws
Обзор
- Этот модуль позволяет управлять отображением событий ведра AWS Lambda с помощью Ansible. Используйте модуль community.aws.lambda для управления функцией lambda, community.aws.lambda_alias для управления псевдонимами функций и community.aws.lambda_policy для изменения разрешений lambda.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- 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 Bundle) для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: CA Bundle считывается со стороны модуля и может потребоваться явно скопировать его с контроллера, если модуль не выполняется локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Подробнее о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | |
| bucket_name строка / обязательно | Имя ведра S3. | |
| debug_botocore_endpoint_logs логический |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-запросов "ресурс:действие", выполненных во время задачи, выведите набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы вывести в полный список, созданный во время выполнения playbook. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| event_name строка / обязательно | Уникальное имя уведомления об событии в ведре. | |
| events список / элементы=строка |
| События, которые должны вызывать уведомления. Вы можете выбрать несколько событий для отправки одному получателю, настроить разные события для разных получателей, а также настроить префикс или суффикс для события. Однако для каждого ведра отдельные события не могут иметь несколько конфигураций с перекрывающимися префиксами или суффиксами, которые могли бы соответствовать одному и тому же ключу объекта. Требуется, когда state=present. |
| lambda_alias строка | Имя алиаса функции Lambda. Взаимоисключающее с lambda_version. | |
| lambda_function_arn строка | ARN функции Lambda. псевдонимы: function_arn | |
| lambda_version целое число | Версия функции Lambda. Взаимоисключающее с lambda_alias. | |
| prefix строка | Необязательный префикс для ограничения уведомлений объектами, ключи которых начинаются с соответствующих символов. | |
| 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 | |
| security_token строка | AWS STS-токен безопасности. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если параметр profile задан, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и после 2022-06-01 эти параметры будут взаимно исключающими. псевдонимы: aws_security_token, access_token | |
| state строка |
| Описание желаемого состояния. |
| suffix строка | Необязательный суффикс для ограничения уведомлений объектами, ключи которых заканчиваются соответствующими символами. | |
| validate_certs логический |
| Если установлено в "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Этот модуль сильно зависит от модуля community.aws.lambda_policy, так как вам нужно предоставить разрешение
lambda:InvokeFunctionдля вашей функции Lambda. - Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Примеры
---
# Example that creates a lambda event notification for a bucket
- name: Process jpg image
community.aws.s3_bucket_notification:
state: present
event_name: on_file_add_or_remove
bucket_name: test-bucket
function_name: arn:aws:lambda:us-east-2:526810320200:function:test-lambda
events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
prefix: images/
suffix: .jpg
Значения возврата
Общие значения возврата описаны в разделе здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| notification_configuration список / элементы=строка | успех | список текущих применённых уведомлений |
Авторы
- XLAB d.o.o. (@xlab-si)
- Aljaz Kosir (@aljazkosir)
- Miha Plesko (@miha-plesko)
© 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/community/aws/s3_bucket_notification_module.html