Spec-Zone.ru › Ansible 2.6

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
    Варианты:
  • present ←
  • absent
Создать или удалить функцию Lambda
tags
(добавлено в 2.5)
Словарь тегов, которые необходимо применить к функции (требуется botocore 1.5.40 или выше)
timeout По умолчанию:
3
Время выполнения функции, по истечении которого Lambda должна завершить выполнение функции.
validate_certs
bool

(добавлено в 1.5)
    Варианты:
  • no
  • yes ←
Если установлено «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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API