Spec-Zone.ru › Ansible

amazon.aws.lambda модуль — Управление функциями AWS Lambda

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.

Для использования в плейбуке укажите: amazon.aws.lambda.

Новая функция в amazon.aws 5.0.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Позволяет управлять функциями Lambda.
  • Этот модуль был первоначально добавлен в community.aws в релизе 1.0.0.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key

строка

Идентификатор ключа доступа AWS.

См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

architecture

псевдонимы: architectures

строка

добавлен в amazon.aws 5.0.0

Архитектура набора инструкций, поддерживаемая функцией.

Требуется один из s3_bucket или zip_file.

Варианты:

  • "x86_64"
  • "arm64"

aws_ca_bundle

путь

Расположение набора сертификатов CA для проверки SSL-сертификатов.

Также может использоваться переменная среды AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

dead_letter_arn

строка

Объект-родитель, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS.

debug_botocore_endpoint_logs

логический

Использование логгера botocore.endpoint для анализа уникальных (а не общих) "resource:action" вызовов API во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения книги задач.

Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

description

строка

Краткое описание функции, заданное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению.

По умолчанию: ""

endpoint_url

псевдонимы: ec2_url, aws_endpoint_url, s3_url

строка

URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим службам, совместимым с AWS, коллекции amazon.aws и community.aws протестированы только с AWS.

Также могут использоваться переменные среды AWS_URL или EC2_URL в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

environment_variables

словарь

Словарь переменных среды, предоставляемых функции Lambda.

handler

строка

Функция в вашем коде, которую Lambda вызывает для начала выполнения.

image_uri

строка

добавлен в amazon.aws 7.3.0

URI Amazon ECR изображения, которое будет использоваться.

Требуется (как альтернатива runtime zip_file и s3_bucket) при создании функции.

Требуется, когда state=present.

kms_key_arn

строка

добавлен в community.aws 3.3.0

ARN ключа KMS, используемого для шифрования переменных среды функции.

layers

список / элементы=словарь

добавлен в amazon.aws 5.5.0

Список слоев функций, которые нужно добавить в среду выполнения функции.

Укажите каждый слой по его ARN, включая версию.

layer_name

псевдонимы: layer_arn

строка

Имя или Amazon Resource Name (ARN) слоя.

Взаимоисключающий с layers.layer_version_arn.

layer_version_arn

строка

ARN версии слоя.

Взаимоисключающий с layers.layer_name.

version

псевдонимы: layer_version

целое число

Номер версии.

Требуется, когда указано layers.layer_name, игнорируется в противном случае.

memory_size

целое число

Количество памяти в МБ, предоставляемое вашей функции Lambda.

По умолчанию: 128

name

string / required

Имя, которое вы хотите присвоить функции, которую загружаете. Не может быть изменено.

profile

aliases: aws_profile

string

Используемый профиль AWS для аутентификации.

Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и security_token.

purge_tags

boolean

Если purge_tags=true и tags установлено, существующие теги ресурса будут удалены, чтобы точно соответствовать параметру tags.

Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они будут проигнорированы для параметра purge_tags. Дополнительную информацию см. в документации Amazon https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Выборавши:

  • false
  • true ← (по умолчанию)

region

aliases: aws_region, ec2_region

string

Используемый регион AWS.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется.

Также можно использовать переменные среды AWS_REGION или EC2_REGION.

Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Алиас ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

role

string

Amazon Resource Name (ARN) IAM роли, которую Lambda использует при выполнении вашей функции для доступа к другим ресурсам Amazon Web Services (AWS). Вы можете использовать просто ARN, если роль принадлежит тому же аккаунту AWS.

Требуется, когда state=present.

runtime

string

Среда выполнения для функции Lambda, которую вы загружаете.

Требуется при создании функции. Использует параметры, как описано в документации boto3.

Требуется, когда state=present.

Список поддерживаемых сред выполнения см. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html.

s3_bucket

string

Имя хранилища Amazon S3, где хранится .zip-файл с пакетом развертывания.

Если state=present, то необходимо присутствие zip_file или s3_bucket.

s3_bucket и s3_key обязательны вместе.

s3_key

string

Имя ключа объекта Amazon S3 (пакет развертывания), который вы хотите загрузить.

s3_bucket и s3_key обязательны вместе.

s3_object_version

string

Версия объекта Amazon S3 (пакет развертывания), которую вы хотите загрузить.

secret_key

aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key

string

Секретный ключ доступа AWS.

Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, или EC2_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile взаимоисключающие.

Алиас aws_secret_access_key добавлен в релизе 5.1.0 для соответствия SDK botocore AWS.

Алиас ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

aliases: aws_session_token, security_token, aws_security_token, access_token

string

Токен сессии AWS STS для использования с временными учетными данными.

Дополнительную информацию о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

Параметры security_token и profile взаимоисключающие.

Алиасы aws_session_token и session_token добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Алиасы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

string

Создать или удалить функцию Lambda.

Выборавши:

  • "present" ← (по умолчанию)
  • "absent"

tags

aliases: resource_tags

dictionary

Словарь, представляющий теги, которые необходимо применить к ресурсу.

Если параметр tags не установлен, теги не будут изменены.

timeout

integer

Максимальное время выполнения функции в секундах, после которого Lambda должна завершить функцию.

По умолчанию: 3

tracing_mode

string

Установите режим в «Active», чтобы отбирать и отслеживать входящие запросы с помощью AWS X-Ray. По умолчанию выключен (установлен в «PassThrough»).

Значения:

  • "Active"
  • "PassThrough"

validate_certs

boolean

При установке в false, сертификаты SSL для связи с API AWS не будут проверены.

Настройка validate_certs=false крайне не рекомендуется. В качестве альтернативы, рассмотрите настройку aws_ca_bundle вместо этого.

Значения:

  • false
  • true ← (по умолчанию)

vpc_security_group_ids

list / elements=string

Список идентификаторов групп безопасности VPC, которые следует ассоциировать с функцией Lambda.

Требуется, когда vpc_subnet_ids используется.

vpc_subnet_ids

list / elements=string

Список идентификаторов подсетей для запуска функции Lambda.

Используйте этот параметр, если вам нужно получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите запускать функцию в VPC.

Если задано, то vpc_security_group_ids также должен быть задан.

zip_file

aliases: src

string

Файл .zip, содержащий пакет развертывания.

Если state=present, то должен быть указан либо zip_file, либо s3_bucket.

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллера». Поэтому файлы, возможно, нужно будет скопировать на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
  • AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих файлов конфигурации в контексте Ansible «хост» (обычно ~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.

Примеры

# Create Lambda functions
- name: looped creation
  amazon.aws.lambda:
    name: '{{ item.name }}'
    state: present
    zip_file: '{{ item.zip_file }}'
    runtime: 'python2.7'
    role: 'arn:aws:iam::123456789012: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
  amazon.aws.lambda:
    name: 'Lambda function'
    state: present
    zip_file: 'code.zip'
    runtime: 'python2.7'
    role: 'arn:aws:iam::123456789012:role/lambda_basic_execution'
    handler: 'hello_python.my_handler'
    tags: {}

# Basic Lambda function deletion
- name: Delete Lambda functions HelloWorld and ByeBye
  amazon.aws.lambda:
    name: '{{ item }}'
    state: absent
  loop:
    - HelloWorld
    - ByeBye

# Create Lambda functions with function layers
- name: looped creation
  amazon.aws.lambda:
    name: 'HelloWorld'
    state: present
    zip_file: 'hello-code.zip'
    runtime: 'python2.7'
    role: 'arn:aws:iam::123456789012:role/lambda_basic_execution'
    handler: 'hello_python.my_handler'
    layers:
      - layer_version_arn: 'arn:aws:lambda:us-east-1:123456789012:layer:python27-env:7'

Значения возврата

Общие значения возврата задокументированы здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

code

словарь

Код лямбда-функции, возвращённый методом get_function в boto3.

Возвращается при: успехе

location

строка

Предзагруженный URL, который можно использовать для скачивания файла функции в формате .zip, ранее загруженного вами.

URL действителен в течение 10 минут.

Возвращается при: успехе

Пример: "https://prod-04-2014-tasks.s3.us-east-1.amazonaws.com/snapshots/sample"

repository_type

строка

Репозиторий, из которого можно загрузить функцию.

Возвращается при: успехе

Пример: "S3"

configuration

словарь

Метаданные конфигурации лямбда-функции, возвращенные методом get_function в boto3.

Возвращается при: успехе

architectures

список / элементы=строка

Архитектуры, поддерживаемые функцией.

Возвращается при: успехе

Пример: ["arm64"]

code_sha256

строка

Хеш SHA256 пакета развертывания функции.

Возвращается при: успехе

Пример: "zOAGfF5JLFuzZoSNirUtOrQp+S341IOA3BcoXXoaIaU="

code_size

целое число

Размер пакета развертывания функции в байтах.

Возвращается при: успехе

Пример: 123

dead_letter_config

словарь

Очередь «мёртвых писем» функции.

Возвращается при: наличии очереди «мёртвых писем» у функции

Пример: {"target_arn": "arn:aws:lambda:us-east-1:123456789012:function:myFunction:1"}

target_arn

строка

ARN очереди SQS или темы SNS.

Возвращается при: наличии очереди «мёртвых писем» у функции

Пример: "arn:aws:lambda:us-east-1:123456789012:function:myFunction:1"

description

строка

Описание функции.

Возвращается при: успехе

Пример: "My function"

environment

словарь

Переменные окружения функции.

Возвращается при: наличии переменных окружения

error

словарь

Сообщение об ошибке для переменных окружения, которые не были применены.

Возвращается при: ошибке применения переменных окружения

error_code

строка

Код ошибки.

Возвращается при: ошибке применения переменных окружения

message

строка

Сообщение об ошибке.

Возвращается при: ошибке применения переменных окружения

variables

словарь

Значения пар ключ-значение переменных окружения.

Возвращается при: наличии переменных окружения

Пример: {"key": "value"}

function_arn

строка

Идентификатор Amazon Resource Name (ARN) функции.

Возвращается при: успехе

Пример: "arn:aws:lambda:us-east-1:123456789012:function:myFunction:1"

function_name

строка

Имя функции.

Возвращается при: успехе

Пример: "myFunction"

handler

строка

Имя обработчика, который Lambda вызывает для начала выполнения вашей функции.

Возвращается при: успехе

Пример: "index.handler"

last_modified

string

Дата и время последнего обновления функции в формате ISO-8601 (ГГГГ-ММ-ДДThч:мм:ссTZD).

Возвращаемое значение: при успехе

Пример: "2017-08-01T00:00:00.000+0000"

layers

complex

добавлено в amazon.aws 5.5.0

Слои функции.

Возвращаемое значение: при успехе

arn

string

Amazon Resource Name (ARN) слоя функции.

Возвращаемое значение: всегда

Пример: "active"

code_size

string

Размер архива слоя в байтах.

Возвращаемое значение: всегда

signing_job_arn

string

Amazon Resource Name (ARN) задания подписи.

Возвращаемое значение: всегда

signing_profile_version_arn

string

Amazon Resource Name (ARN) для версии профиля подписи.

Возвращаемое значение: всегда

memory_size

integer

Память, выделенная функции.

Возвращаемое значение: при успехе

Пример: 128

revision_id

string

Последняя обновленная ревизия функции или псевдонима.

Возвращаемое значение: при успехе

Пример: "a2x9886d-d48a-4a0c-ab64-82abc005x80c"

role

string

Роль выполнения функции.

Возвращаемое значение: при успехе

Пример: "arn:aws:iam::123456789012:role/lambda_basic_execution"

runtime

string

Среда выполнения Lambda-функции.

Возвращаемое значение: при успехе

Пример: "nodejs6.10"

timeout

integer

Время, в течение которого Lambda позволяет функции работать перед завершением её.

Возвращаемое значение: при успехе

Пример: 3

tracing_config

dictionary

Настройка трассировки AWS X-Ray функции.

Возвращаемое значение: при успехе

Пример: {"mode": "Active"}

mode

string

Режим трассировки.

Возвращаемое значение: при успехе

Пример: "Active"

version

string

Версия Lambda-функции.

Возвращаемое значение: при успехе

Пример: "1"

vpc_config

dictionary

Настройка сети функции.

Возвращаемое значение: при успехе

Пример: {"security_group_ids": [], "subnet_ids": [], "vpc_id": "123"}

Авторы

  • Steyn Huizinga (@steynovich)

Ссылки на сборку

  • Отслеживание проблем
  • Репозиторий (источники)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/lambda_module.html

Spec-Zone.ru

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