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 | Родительский объект, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS. | |
| description - | Краткое описание функции, заданное пользователем. Lambda не использует это значение. Задайте осмысленное описание по своему усмотрению. | |
| ec2_url - | URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| environment_variables - добавлено в 2.3 | Словарь переменных окружения, предоставляемых функции 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. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - |
| Создать или удалить функцию Lambda |
| tags - добавлено в 2.5 | Словарь тегов для применения к функции (требуется botocore 1.5.40 или выше) | |
| timeout - | По умолчанию: 3 | Максимальное время выполнения функции в секундах, после которого Lambda должна завершить функцию. |
| validate_certs boolean добавлено в 1.5 |
| Если установлено значение "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_security_group_ids - | Список идентификаторов групп безопасности VPC, которые необходимо связать с функцией Lambda. Требуется при использовании vpc_subnet_ids. | |
| vpc_subnet_ids - | Список идентификаторов подсетей для запуска функции Lambda. Используйте этот параметр, если необходимо получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите запускать функцию в VPC. | |
| zip_file - | Файл .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), если учетные данные не предоставлены. См. https://boto.readthedocs.io/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 словарь | успех | местоположение функции лямбда, возвращаемой get_function в boto3 Пример: {'location': 'предзаписанный URL S3', 'repository_type': 'S3'} |
| configuration словарь | успех | метаданные функции лямбда, возвращаемые get_function в boto3 Пример: {'code_sha256': 'Хеш SHA256', '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, 'role': 'arn:aws:iam::123456789012:role/lambda_basic_execution', 'runtime': 'nodejs6.10', 'timeout': 3, 'version': '1', 'vpc_config': {'security_group_ids': [], 'subnet_ids': []}} |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.7/modules/lambda_module.html