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 bool (добавлено в 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), если учетные данные не предоставлены. См. 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 dict | success | Расположение функции Lambda, возвращаемое get_function в boto3 Пример: {'location': 'a presigned S3 URL', 'repository_type': 'S3'} |
| configuration dict | success | Метаданные функции Lambda, возвращаемые get_function в boto3 Пример: {'code_sha256': 'SHA256 hash', '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': []}} |
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как community, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- Стеин Хуйзинга (@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.6/modules/lambda_module.html