lambda – Управление функциями AWS Lambda
Описание
- Позволяет управлять функциями 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 - | Родительский объект, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS. | |
| debug_botocore_endpoint_logs логическое значение добавлен в 2.8 |
| Использовать логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action», выполненных во время задачи, выводив набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| description - | Краткое описание функции, заданное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению. | |
| ec2_url строка | URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль будет использовать EC2-адреса). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL (если она есть). | |
| environment_variables - | Словарь переменных окружения, предоставляемых функции Lambda. псевдонимы: environment | |
| handler - | Функция в вашем коде, которую Lambda вызывает для начала выполнения. | |
| memory_size - | По умолчанию: 128 | Объем памяти в МБ, предоставляемый вашей функции Lambda. |
| name - / обязательно | Имя, которое вы хотите присвоить функции, которую вы загружаете. Не может быть изменено. | |
| profile строка | Использует профиль 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. Требуется при 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. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - |
| Создать или удалить функцию Lambda. |
| tags - добавлен в 2.5 | Словарь тегов для применения к функции (требуется botocore 1.5.40 или выше). | |
| timeout - | По умолчанию: 3 | Максимальное время выполнения функции в секундах, после которого Lambda должна завершить функцию. |
| validate_certs логическое значение |
| При значении «нет» сертификаты 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'
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
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
loop:
- 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': {'ключ': 'значение'}}, '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.9/modules/lambda_module.html