cloudformation_facts – Получение фактов о стеке AWS CloudFormation
Новое в версии 2.2.
Обзор
- Получение информации о стеке AWS CloudFormation
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3 >= 1.0.0
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| all_facts boolean |
| Получить всю информацию о стеке для данного стека |
| 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 boolean добавлен в 2.8 |
| Использовать логгер botocore.endpoint для парсинга уникальных (а не общих) API-вызовов «resource:action», выполняемых во время задачи, выводить набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести полный список, выполненный во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует EC2-эндпоинты). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| 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 | |
| stack_events boolean |
| Получить события стека для стека |
| stack_name - | Имя или идентификатор стека CloudFormation. По умолчанию собирает факты для всех стеков. | |
| stack_policy boolean |
| Получить политику стека для стека |
| stack_resources boolean |
| Получить ресурсы стека для стека |
| stack_template boolean |
| Получить тело шаблона стека для стека |
| validate_certs boolean |
| Если установлено значение «нет», сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы внутри модуля, следующие переменные окружения могут использоваться в порядке убывания приоритета
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
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Get summary information about a stack
- cloudformation_facts:
stack_name: my-cloudformation-stack
# Facts are published in ansible_facts['cloudformation'][<stack_name>]
- debug:
msg: "{{ ansible_facts['cloudformation']['my-cloudformation-stack'] }}"
# Get stack outputs, when you have the stack name available as a fact
- set_fact:
stack_name: my-awesome-stack
- cloudformation_facts:
stack_name: "{{ stack_name }}"
register: my_stack
- debug:
msg: "{{ my_stack.ansible_facts.cloudformation[stack_name].stack_outputs }}"
# Get all stack information about a stack
- cloudformation_facts:
stack_name: my-cloudformation-stack
all_facts: true
# Get stack resource and stack policy information about a stack
- cloudformation_facts:
stack_name: my-cloudformation-stack
stack_resources: true
stack_policy: true
# Fail if the stack doesn't exist
- name: try to get facts about a stack but fail if it doesn't exist
cloudformation_facts:
stack_name: nonexistent-stack
all_facts: yes
failed_when: cloudformation['nonexistent-stack'] is undefined
# Example dictionary outputs for stack_outputs, stack_parameters and stack_resources:
# "stack_outputs": {
# "ApplicationDatabaseName": "dazvlpr01xj55a.ap-southeast-2.rds.amazonaws.com",
# ...
# },
# "stack_parameters": {
# "DatabaseEngine": "mysql",
# "DatabasePassword": "****",
# ...
# },
# "stack_resources": {
# "AutoscalingGroup": "dev-someapp-AutoscalingGroup-1SKEXXBCAN0S7",
# "AutoscalingSecurityGroup": "sg-abcd1234",
# "ApplicationDatabase": "dazvlpr01xj55a",
# "EcsTaskDefinition": "arn:aws:ecs:ap-southeast-2:123456789:task-definition/dev-someapp-EcsTaskDefinition-1F2VM9QB0I7K9:1"
# ...
# }
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| stack_description словарь | если стек существует | Сводные факты о стеке |
| stack_events список | только если all_facts или stack_events установлены в «да» и стек существует | Все события стека для стека |
| stack_outputs словарь | если стек существует | Словарь выходов стека, имеющий в качестве ключей значение параметра «OutputKey» каждого выхода и соответствующее значение параметра «OutputValue» каждого выхода |
| stack_parameters словарь | если стек существует | Словарь параметров стека, имеющий в качестве ключей значение параметра «ParameterKey» каждого параметра и соответствующее значение параметра «ParameterValue» каждого параметра |
| stack_policy словарь | только если all_facts или stack_policy установлены в «да» и стек существует | Описание политики стека для стека |
| stack_resource_list список | только если all_facts или stack_resourses установлены в «да» и стек существует | Описание ресурсов стека для стека |
| stack_resources словарь | только если all_facts или stack_resourses установлены в «да» и стек существует | Словарь ресурсов стека, имеющий в качестве ключей значение параметра «LogicalResourceId» каждого ресурса и соответствующее значение параметра «PhysicalResourceId» каждого ресурса |
| stack_template словарь | только если all_facts или stack_template установлены в «да» и стек существует | Описание шаблона стека для стека |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Justin Menga (@jmenga)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/cloudformation_facts_module.html