lambda - Управление функциями AWS Lambda
Новая версия 2.2.
Обзор
- Позволяет управлять функциями Lambda.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | Значение по умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ 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 | Значение по умолчанию: None | Короткое описание функции, задаваемое пользователем. Lambda не использует это значение. Присвойте осмысленное описание по вашему усмотрению. |
| ec2_url | Значение по умолчанию: None | URL для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. |
| environment_variables (добавлен в 2.3) | Значение по умолчанию: None | Словарь переменных окружения, предоставляемых функции Lambda. Псевдонимы: environment |
| handler | Значение по умолчанию: None | Функция в вашем коде, которую Lambda вызывает для начала выполнения. |
| memory_size | Значение по умолчанию: 128 | Объем памяти в МБ, предоставляемый вашей функции Lambda. |
| name обязательно | Имя, которое вы хотите присвоить функции, которую вы загружаете. Не может быть изменено. | |
| profile (добавлен в 1.6) | Значение по умолчанию: None | Использует профиль 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 | Значение по умолчанию: None | Имя ведра Amazon S3, в котором хранится файл .zip с вашим пакетом развертывания. Если state=present , то либо zip_file, либо s3_bucket должны быть присутствуют.s3_bucket и s3_key требуются вместе |
| s3_key | Значение по умолчанию: None | Имя ключа объекта Amazon S3 (пакет развертывания), который вы хотите загрузить. s3_bucket и s3_key требуются вместе |
| s3_object_version | Значение по умолчанию: None | Версия объекта Amazon S3 (пакета развертывания), которую вы хотите загрузить. |
| security_token (добавлен в 1.6) | Значение по умолчанию: None | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state |
| Создание или удаление функции Lambda |
| tags (добавлен в 2.5) | Значение по умолчанию: None | Словарь тегов для применения к функции (требуется botocore 1.5.40 или выше). |
| timeout | Значение по умолчанию: 3 | Время выполнения функции, по истечении которого Lambda должна завершить функцию. |
| validate_certs (добавлен в 1.5) |
| При установке в "no", сертификаты SSL не будут проверяться для boto-версий >= 2.6.0. |
| vpc_security_group_ids | Значение по умолчанию: None | Список идентификаторов групп безопасности VPC для ассоциации с функцией Lambda. Требуется, когда используется vpc_subnet_ids. |
| vpc_subnet_ids | Значение по умолчанию: None | Список идентификаторов подсетей для выполнения функции Lambda. Используйте этот параметр, если вам нужно получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите выполнять функцию в VPC. |
| zip_file | Значение по умолчанию: None | Файл .zip, содержащий ваш пакет развертывания Если state=present , то либо zip_file, либо s3_bucket должны быть присутствуют.Псевдонимы: src |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
# Create Lambda functions
- 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 }}'
tags:
key1: 'value1'
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"
# To remove previously added tags pass a empty dict
- name: remove tags
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
lambda:
name: '{{ item }}'
state: absent
with_items:
- HelloWorld
- ByeBye
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| code словарь | success | Расположение функции Lambda, возвращаемое get_function в boto3 Пример: {'repository_type': 'S3', 'location': 'a presigned S3 URL'} |
| configuration словарь | success | Метаданные функции Lambda, возвращаемые get_function в boto3 Пример: {'environment': {'variables': {'key': 'value'}}, 'description': 'Моя функция', 'last_modified': '2017-08-01T00:00:00.000+0000', 'function_arn': 'arn:aws:lambda:us-east-1:123456789012:function:myFunction:1', 'handler': 'index.handler', 'vpc_config': {'subnet_ids': [], 'security_group_ids': []}, 'version': '1', 'memory_size': 128, 'timeout': 3, 'code_sha256': 'SHA256 хэш', 'role': 'arn:aws:iam::123456789012:role/lambda_basic_execution', 'runtime': 'nodejs6.10', 'code_size': 123, 'function_name': 'myFunction'} |
Статус
Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость интерфейса.
Автор
- 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.5/modules/lambda_module.html