Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key

string

Идентификатор ключа доступа 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, в порядке убывания предпочтения.

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

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

architecture

aliases: architectures

string

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

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

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

Варианты:

  • "x86_64"
  • "arm64"

aws_ca_bundle

path

Путь к пакету сертификатов центра сертификации (CA), используемому для проверки SSL-сертификатов.

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

aws_config

dictionary

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

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

dead_letter_arn

string

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

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

description

string

Краткое описание функции, заданное пользователем. Lambda не использует это значение. Укажите подходящее описание.

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

endpoint_url

aliases: aws_endpoint_url

string

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

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

environment_variables

dictionary

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

handler

string

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

image_uri

string

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

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

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

Обязателен, если state=present.

kms_key_arn

string

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

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

layers

list / элементы=dictionary

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

Список слоёв функций, добавляемых в среду выполнения функции.

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

layer_name

aliases: layer_arn

string

Имя слоя или его имя ресурса Amazon (ARN).

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

layer_version_arn

string

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

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

version

aliases: layer_version

integer

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

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

memory_size

integer

Объём памяти в МБ, выделяемый функции Lambda.

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

name

string / обязательный

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

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 и session_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

string

Регион AWS, который нужно использовать.

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

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

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

role

string

Имя ресурса Amazon (ARN) роли IAM, которую Lambda принимает при выполнении функции для доступа к другим ресурсам Amazon Web Services (AWS). Если роль принадлежит той же учётной записи AWS, можно указать ARN без дополнительных компонентов.

Обязателен, если 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

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, в порядке убывания предпочтения.

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

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

session_token

aliases: aws_session_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.

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

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 / элементы=string

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

Обязателен, если используется vpc_subnet_ids.

vpc_subnet_ids

list / элементы=string

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

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

Если параметр задан, необходимо также задать vpc_security_group_ids.

zip_file

aliases: src

string

ZIP-файл с пакетом развёртывания

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

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других параметров, например региона, из файлов конфигурации в контексте «хоста» 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

dictionary

Код функции Lambda, возвращаемый методом get_function в boto3.

Возвращается: при успешном выполнении

location

string

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

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

Возвращается: при успешном выполнении

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

repository_type

string

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

Возвращается: при успешном выполнении

Пример: "S3"

configuration

dictionary

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

Возвращается: при успешном выполнении

architectures

list / elements=string

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

Возвращается: при успешном выполнении

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

code_sha256

string

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

Возвращается: при успешном выполнении

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

code_size

integer

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

Возвращается: при успешном выполнении

Пример: 123

dead_letter_config

dictionary

Очередь недоставленных сообщений функции.

Возвращается: если для функции настроена очередь недоставленных сообщений

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

target_arn

string

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

Возвращается: если для функции настроена очередь недоставленных сообщений

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

description

string

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

Возвращается: при успешном выполнении

Пример: "My function"

environment

dictionary

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

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

error

dictionary

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

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

error_code

string

Код ошибки.

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

message

string

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

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

variables

dictionary

Пары «ключ — значение» переменных окружения.

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

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

function_arn

string

Имя ресурса Amazon (ARN) функции.

Возвращается: при успешном выполнении

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

function_name

string

Имя функции.

Возвращается: при успешном выполнении

Пример: "myFunction"

handler

string

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

Возвращается: при успешном выполнении

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

last_modified

string

Дата и время последнего обновления функции в формате ISO-8601 (YYYY-MM-DDThh:mm:ssTZD).

Возвращается: при успешном выполнении

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

layers

complex

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

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

Возвращается: при успешном выполнении

arn

string

Имя ресурса Amazon (ARN) слоя функции.

Возвращается: всегда

Пример: "active"

code_size

string

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

Возвращается: всегда

signing_job_arn

string

Имя ресурса Amazon (ARN) задания подписания.

Возвращается: всегда

signing_profile_version_arn

string

Имя ресурса Amazon (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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/lambda_module.html

Spec-Zone.ru

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