community.aws.lambda_alias – Создаёт, обновляет или удаляет псевдонимы функций AWS Lambda
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.lambda_alias.
Добавлена в версии 1.0.0: коллекции community.aws
Обзор
- Этот модуль позволяет управлять псевдонимами функций AWS Lambda с помощью фреймворка Ansible. Он идемпотентен и поддерживает режим «Проверка». Используйте модуль community.aws.lambda для управления самой функцией Lambda и community.aws.lambda_event для управления соответствиями источников событий.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела и эти параметры будут сделаны взаимно исключающими после 2022-06-01. Псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с набором сертификатов CA для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: набор сертификатов CA читается со стороны модуля и может потребоваться явное копирование его с контроллера, если он не запущен локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти на https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Подробную конфигурацию boto см. на http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела и эти параметры будут сделаны взаимно исключающими после 2022-06-01. Псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип |
| Используйте logger botocore.endpoint для анализа уникальных (а не суммарных) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте callback aws_resource_action для вывода полного списка, выполненного во время книги задач. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| description строка | Короткое описание псевдонима функции, заданное пользователем. | |
| ec2_url строка | URL для подключения к EC2 или Eucalyptus облаку (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. Псевдонимы: aws_endpoint_url, endpoint_url | |
| function_name строка / обязательно | Имя псевдонима функции. | |
| function_version целое число | Версия, связанная с псевдонимом функции Lambda. Значение 0 (или опущенный параметр) устанавливает псевдоним на версию $LATEST. Псевдонимы: версия | |
| name строка / обязательно | Имя псевдонима функции. Псевдонимы: имя_псевдонима | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, и поддержка их передачи одновременно с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимно исключающими с profile после 2022-06-01. Псевдонимы: aws_profile | |
| region строка | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и эти параметры будут сделаны взаимно исключающими после 2022-06-01. Псевдонимы: aws_security_token, access_token | |
| state строка |
| Описывает желаемое состояние. |
| validate_certs логический тип |
| При значении «нет», SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания AWS региона, если это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
---
# Simple example to create a lambda function and publish a version
- hosts: localhost
gather_facts: no
vars:
state: present
project_folder: /path/to/deployment/package
deployment_package: lambda.zip
account: 123456789012
production_version: 5
tasks:
- name: AWS Lambda Function
lambda:
state: "{{ state | default('present') }}"
name: myLambdaFunction
publish: True
description: lambda function description
code_s3_bucket: package-bucket
code_s3_key: "lambda/{{ deployment_package }}"
local_path: "{{ project_folder }}/{{ deployment_package }}"
runtime: python2.7
timeout: 5
handler: lambda.handler
memory_size: 128
role: "arn:aws:iam::{{ account }}:role/API2LambdaExecRole"
- name: Get information
lambda_info:
name: myLambdaFunction
register: lambda_info
- name: show results
ansible.builtin.debug:
msg: "{{ lambda_info['lambda_facts'] }}"
# The following will set the Dev alias to the latest version ($LATEST) since version is omitted (or = 0)
- name: "alias 'Dev' for function {{ lambda_info.lambda_facts.FunctionName }} "
community.aws.lambda_alias:
state: "{{ state | default('present') }}"
function_name: "{{ lambda_info.lambda_facts.FunctionName }}"
name: Dev
description: Development is $LATEST version
# The QA alias will only be created when a new version is published (i.e. not = '$LATEST')
- name: "alias 'QA' for function {{ lambda_info.lambda_facts.FunctionName }} "
community.aws.lambda_alias:
state: "{{ state | default('present') }}"
function_name: "{{ lambda_info.lambda_facts.FunctionName }}"
name: QA
version: "{{ lambda_info.lambda_facts.Version }}"
description: "QA is version {{ lambda_info.lambda_facts.Version }}"
when: lambda_info.lambda_facts.Version != "$LATEST"
# The Prod alias will have a fixed version based on a variable
- name: "alias 'Prod' for function {{ lambda_info.lambda_facts.FunctionName }} "
community.aws.lambda_alias:
state: "{{ state | default('present') }}"
function_name: "{{ lambda_info.lambda_facts.FunctionName }}"
name: Prod
version: "{{ production_version }}"
description: "Production is version {{ production_version }}"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| alias_arn строка | успех | Полный ARN функции, включая псевдоним Пример: arn:aws:lambda:us-west-2:123456789012:function:myFunction:dev |
| description строка | успех | Короткое описание псевдонима Пример: Этап разработки моего нового приложения |
| function_version строка | успех | Квалификатор, на который ссылается псевдоним Пример: $LATEST |
| name строка | успех | Имя назначенного псевдонима Пример: dev |
Авторы
- Pierre Jodouin (@pjodouin), Ryan Scott Brown (@ryansb)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/lambda_alias_module.html