cloudformation_facts – Получение фактов о стеке AWS CloudFormation
Новая в версии 2.2.
Обзор
- Получает информацию о стеке AWS CloudFormation
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3 >= 1.0.0
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| all_facts - | Значение по умолчанию: "нет" | Получить всю информацию о стеке |
| 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 | |
| ec2_url - | URL для подключения к EC2 или Eucalyptus облаку (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она существует. | |
| profile - добавлен в 1.6 | Использует профиль 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 - добавлен в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| stack_events - | Значение по умолчанию: "нет" | Получить события стека для стека |
| stack_name - | Имя или идентификатор стека CloudFormation. По умолчанию собирает факты для всех стеков. | |
| stack_policy - | Значение по умолчанию: "нет" | Получить политику стека для стека |
| stack_resources - | Значение по умолчанию: "нет" | Получить ресурсы стека для стека |
| stack_template - | Значение по умолчанию: "нет" | Получить тело шаблона стека для стека |
| validate_certs boolean добавлен в 1.5 |
| Если установлено "нет", сертификаты 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 равно true и стек существует | Все события стека для стека |
| stack_outputs словарь | если стек существует | Словарь выходов стека, ключи – значения параметра 'OutputKey', значения – значения параметра 'OutputValue' для каждого выхода |
| stack_parameters словарь | если стек существует | Словарь параметров стека, ключи – значения параметра 'ParameterKey', значения – значения параметра 'ParameterValue' для каждого параметра |
| stack_policy словарь | только если all_facts или stack_policy равно true и стек существует | Описание политики стека для стека |
| stack_resource_list список | только если all_facts или stack_resourses равно true и стек существует | Описание ресурсов стека для стека |
| stack_resources словарь | только если all_facts или stack_resourses равно true и стек существует | Словарь ресурсов стека, ключи – значения параметра 'LogicalResourceId', значения – значения параметра 'PhysicalResourceId' для каждого ресурса |
| stack_template словарь | только если all_facts или stack_template равно true и стек существует | Описание шаблона стека для стека |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [предварительная версия]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/cloudformation_facts_module.html