Spec-Zone.ru › Ansible 2.8

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.
debug_botocore_endpoint_logs
логический
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в список всех вызовов, сделанных во время выполнения плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
description
-
Краткое описание функции, заданное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению.
ec2_url
строка
URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое есть.
environment_variables
-
добавлено в 2.3
Словарь переменных среды, которые предоставляются функции 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 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
  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': {'key': 'значение'}}, '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.8/modules/lambda_module.html

Spec-Zone.ru

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