lambda_alias – Создаёт, обновляет или удаляет алиасы функций AWS Lambda
Описание
- Этот модуль позволяет управлять алиасами функций AWS Lambda через фреймворк Ansible. Он идемпотентен и поддерживает режим «Проверка». Используйте модуль lambda для управления самими функциями Lambda и lambda_event для управления отображениями источников событий.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- 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 | |
| debug_botocore_endpoint_logs булево добавлено в 2.8 |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, выводит множество в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action, чтобы вывести в полный список, сделанный во время выполнения игры. |
| description - | Короткое описание алиаса функции, заданное пользователем. | |
| ec2_url строка | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| function_name - / требуется | Имя алиаса функции. | |
| 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 | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. алиасы: access_token | |
| state - / требуется |
| Определяет желаемое состояние. |
| validate_certs булево |
| Если установлено значение «нет», сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| version - | Версия, связанная с алиасом функции Lambda. Значение 0 (или опущенный параметр) задаёт алиас на версию $LATEST. алиасы: версия_функции |
Примечания
Примечание
- Если параметры не установлены внутри модуля, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
---
# 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
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 }} "
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 }} "
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 }} "
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 |
Статус
- Гарантия обратной совместимости интерфейса этого модуля не предоставляется. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.9/modules/lambda_alias_module.html