lambda - Управление функциями AWS Lambda
Новое в версии 2.2.
- Обзор
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Обзор
- Позволяет управлять функциями Lambda.
Требования (к хосту, на котором выполняется модуль)
- boto
- boto3
- python >= 2.6
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| aws_access_key | нет | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key | нет | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| dead_letter_arn (добавлено в 2.3)
| нет | None | Родительский объект, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS. | |
| description | нет | Короткое описание функции, заданное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению. | ||
| ec2_url | нет | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | ||
| environment_variables (добавлено в 2.3)
| нет | None | Словарь переменных окружения, предоставляемых функции Lambda. псевдонимы: environment | |
| handler | нет | Функция в вашем коде, которую Lambda вызывает для начала выполнения. | ||
| memory_size | нет | 128 | Объем памяти в МБ, предоставляемый вашей функции Lambda. | |
| name | да | Имя, которое вы хотите присвоить функции, которую вы загружаете. Не может быть изменено. | ||
| profile (добавлено в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| 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. Текущие примеры сред выполнения - nodejs, nodejs4.3, java8 или python2.7 Требуется, когда state=present
| ||
| 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 (добавлено в 1.6)
| нет | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| state | нет | present |
| Создать или удалить функцию Lambda |
| timeout | нет | 3 | Время выполнения функции, по истечении которого Lambda должна завершить выполнение функции. | |
| validate_certs (добавлено в 1.5)
| нет | да |
| Если установлено в "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| vpc_security_group_ids | нет | None | Список идентификаторов групп безопасности VPC, которые необходимо связать с функцией Lambda. Требуется при использовании vpc_subnet_ids. | |
| vpc_subnet_ids | нет | None | Список идентификаторов подсетей для запуска функции Lambda. Используйте этот параметр, если вам нужно получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите запускать функцию в VPC. | |
| zip_file | нет | Файл .zip, содержащий ваш пакет развертывания. Если state=present то либо zip_file, либо s3_bucket должны быть присутствовать.псевдонимы: src |
Примеры
# Create Lambda functions
tasks:
- name: looped creation
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 }}'
with_items:
- 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"
# Basic Lambda function deletion
tasks:
- name: Delete Lambda functions HelloWorld and ByeBye
lambda:
name: '{{ item }}'
state: absent
with_items:
- HelloWorld
- ByeBye
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| output | данные, возвращаемые get_function в boto3 | успех | dict | {'code': {'repository_type': 'S3', 'location': 'an S3 URL'}, 'configuration': {'description': 'строка', 'function_arn': 'строка', 'handler': 'строка', 'timeout': 123, 'last_modified': 'строка', 'role': 'строка', 'version': 'строка', 'code_sha256': 'строка', 'memory_size': 123, 'runtime': 'nodejs', 'code_size': 123, 'function_name': 'строка'}} |
Примечания
Примечание
- Если параметры не заданы внутри модуля, могут быть использованы следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно могут использоваться для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Для получения помощи в разработке модулей, если вам это интересно, пожалуйста, прочитайте Справочная информация сообщества и участие в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/lambda_module.html