community.aws.lambda – Управление функциями AWS Lambda
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в книге задач, укажите: community.aws.lambda.
Добавлено в версии 1.0.0: модуля community.aws
Описание
- Позволяет управлять функциями 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, используемого для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: пакет CA читается со стороны модуля и может потребоваться явное копирование с контроллера, если модуль не выполняется локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Только ключ 'user_agent' используется для модулей boto. См. 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 | |
| dead_letter_arn строка | Родительский объект, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS. | |
| debug_botocore_endpoint_logs булево |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводя их в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время книги задач. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| description строка | Краткое описание функции, определенное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| environment_variables словарь | Словарь переменных окружения, предоставляемых функции Lambda. | |
| handler строка | Функция внутри вашего кода, вызываемая Lambda для начала выполнения. | |
| memory_size целое число | Значение по умолчанию: 128 | Количество памяти в МБ, предоставленное вашей функции Lambda. |
| name строка / обязательно | Имя, которое вы хотите присвоить функции, которую вы загружаете. Не может быть изменено. | |
| 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 строка | Amazon Resource Name (ARN) роли IAM, которую Lambda принимает, когда выполняет вашу функцию для доступа к другим ресурсам Amazon Web Services (AWS). Вы можете использовать сам ARN, если роль принадлежит тому же аккаунту AWS. Требуется, когда state=present. | |
| runtime строка | Средство выполнения для функции Lambda, которую вы загружаете. Требуется при создании функции. Использует параметры, описанные в документации boto3. Требуется, когда state=present. Список поддерживаемых сред выполнения см. по адресу https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html. | |
| s3_bucket строка | Название ведра Amazon S3, в котором хранится файл .zip, содержащий ваш пакет развертывания. Если state=present, то должен быть указан либо zip_file, либо s3_bucket.
s3_bucket и s3_key должны быть указаны вместе. | |
| s3_key строка | Имя ключа объекта Amazon S3 (пакета развертывания), который вы хотите загрузить.
s3_bucket и s3_key должны быть указаны вместе. | |
| s3_object_version строка | Версия объекта Amazon S3 (пакета развертывания), которую вы хотите загрузить. | |
| 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 строка |
| Создать или удалить функцию Lambda. |
| tags словарь | словарь тегов для применения к функции (требуется botocore 1.5.40 или выше). | |
| timeout целое число | Значение по умолчанию: 3 | Максимальное время выполнения функции в секундах, после которого Lambda должна прекратить работу функции. |
| tracing_mode строка |
| Установите режим 'Active', чтобы выборочно отслеживать входящие запросы с помощью AWS X-Ray. По умолчанию выключено (установлено в 'PassThrough'). |
| validate_certs булево |
| При значении "нет" SSL-сертификаты не будут проверены для версий boto >= 2.6.0. |
| vpc_security_group_ids список / элементы=строка | Список идентификаторов групп безопасности VPC, которые необходимо связать с функцией Lambda. Требуется при использовании vpc_subnet_ids. | |
| vpc_subnet_ids список / элементы=строка | Список идентификаторов подсетей для запуска функции Lambda. Используйте этот параметр, если вам необходимо получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите запускать функцию в VPC. Если задан, также должен быть задан vpc_security_group_ids. | |
| zip_file строка | Файл .zip, содержащий ваш пакет развертывания Если state=present, то должен быть указан либо zip_file, либо s3_bucket. псевдонимы: src |
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Примеры
# Create Lambda functions
- name: looped creation
community.aws.lambda:
name: '{{ item.name }}'
state: present
zip_file: '{{ item.zip_file }}'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
vpc_subnet_ids:
- subnet-123abcde
- subnet-edcba321
vpc_security_group_ids:
- sg-123abcde
- sg-edcba321
environment_variables: '{{ item.env_vars }}'
tags:
key1: 'value1'
loop:
- name: HelloWorld
zip_file: hello-code.zip
env_vars:
key1: "first"
key2: "second"
- name: ByeBye
zip_file: bye-code.zip
env_vars:
key1: "1"
key2: "2"
# To remove previously added tags pass an empty dict
- name: remove tags
community.aws.lambda:
name: 'Lambda function'
state: present
zip_file: 'code.zip'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
tags: {}
# Basic Lambda function deletion
- name: Delete Lambda functions HelloWorld and ByeBye
community.aws.lambda:
name: '{{ item }}'
state: absent
loop:
- HelloWorld
- ByeBye
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| code словарь | успех | местоположение функции lambda, возвращаемое get_function в boto3 Пример: {'location': 'предварительно подписанная URL-адреса S3', 'repository_type': 'S3'} |
| configuration словарь | успех | метаданные функции lambda, возвращаемые get_function в boto3 Пример: {'code_sha256': 'zOAGfF5JLFuzZoSNirUtOrQp+S341IOA3BcoXXoaIaU=', 'code_size': 123, 'description': 'Моя функция', 'environment': {'variables': {'key': 'value'}}, 'function_arn': 'arn:aws:lambda:us-east-1:123456789012:function:myFunction:1', 'function_name': 'myFunction', 'handler': 'index.handler', 'last_modified': '2017-08-01T00:00:00.000+0000', 'memory_size': 128, 'revision_id': 'a2x9886d-d48a-4a0c-ab64-82abc005x80c', 'role': 'arn:aws:iam::123456789012:role/lambda_basic_execution', 'runtime': 'nodejs6.10', 'timeout': 3, 'tracing_config': {'mode': 'Активный'}, 'version': '1', 'vpc_config': {'security_group_ids': [], 'subnet_ids': [], 'vpc_id': '123'}} |
Авторы
- Steyn Huizinga (@steynovich)
© 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/lambda_module.html