community.aws.lambda_alias – Создаёт, обновляет или удаляет алиасы функций AWS Lambda
Примечание
Этот плагин входит в сборку community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook, укажите: 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 путь | Расположение файла сертификата корневого центра, используемого при проверке SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Файл сертификата корневого центра считывается на стороне модуля и может потребоваться его явное копирование с контроллера, если модуль не запускается локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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 логический |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action» во время выполнения задачи, выведя набор в ключ task results resource_actions. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Переменная среды 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. Псевдонимы: version | |
| name строка / обязательно | Имя алиаса функции. Псевдонимы: alias_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 security token. Если не задан, используется значение переменной окружения 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/lambda_alias_module.html