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 Bundle). Используется только для модулей, основанных на boto3. Примечание: Набор CA Bundle читается со стороны модуля и может потребоваться явно скопировать его с контроллера, если модуль не запускается локально. | |
| 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 строка |
| Установите режим 'Активно', чтобы выборочно отслеживать входящие запросы с помощью AWS X-Ray. По умолчанию выключен (установлен в 'Пропускать'). |
| 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/lambda_module.html