Spec-Zone.ru › Ansible 2.11

community.aws.cloudformation_stack_set – Управление группами стеков CloudFormation

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в книге задач укажите: community.aws.cloudformation_stack_set.

Новый в версии 1.0.0: из community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

  • Запуск/обновление/удаление наборов стеков AWS CloudFormation.

Требования

Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.

  • boto
  • boto3>=1.6
  • botocore>=1.10.26
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
accounts
список / элементы=строка
Список AWS-аккаунтов, в которых необходимо создать экземпляры стеков CloudFormation.
Для создания набора стеков необходимо указать как минимум одну область. При обновлениях, если указано меньше областей, то будут обновлены только указанные экземпляры стеков.
administration_role_arn
строка
ARN роли администратора, то есть роли, которую наборы стеков CloudFormation используют для получения прав доступа в ваших дочерних аккаунтах.
По умолчанию это arn:aws:iam::{{ account ID }}:role/AWSCloudFormationStackSetAdministrationRole, где {{ account ID }} заменяется номером аккаунта текущих учетных данных IAM-роли/пользователя/STS.

псевдонимы: admin_role_arn, admin_role, administration_role
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 Bundle читается со стороны модуля и может потребоваться явно скопировать его с контроллера, если он не запущен локально.
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
capabilities
список / элементы=строка
    Варианты:
  • CAPABILITY_IAM
  • CAPABILITY_NAMED_IAM
Возможности позволяют стекам создавать и изменять ресурсы IAM, что может включать добавление пользователей или ролей.
В настоящее время доступны только значения 'CAPABILITY_IAM' и 'CAPABILITY_NAMED_IAM'. Можно указать одно или оба.
Для следующих ресурсов требуется указать один или оба этих параметра: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::IAM::UserToGroupAddition
debug_botocore_endpoint_logs
булево
    Варианты:
  • нет ←
  • да
Использование регистрирующего средства botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, выводя список в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения плейбука. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
description
строка
Описание того, что создает этот набор стеков.
ec2_url
строка
URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль использует EC2-оконца). Игнорируется для модулей, где область обязательна. Должен быть указан для всех других модулей, если не используется область. Если не задан, используется значение переменной среды EC2_URL, если таковое имеется.

псевдонимы: aws_endpoint_url, endpoint_url
execution_role_name
строка
ARN роли выполнения, то есть роли, которую наборы стеков CloudFormation принимают в ваших дочерних аккаунтах.
НЕ ДОЛЖЕН быть ARN, и роли должны существовать в каждом указанном дочернем аккаунте.
Используется имя роли выполнения по умолчанию AWSCloudFormationStackSetExecutionRole

псевдонимы: exec_role_name, exec_role, execution_role
failure_tolerance
словарь
Настройки для изменения того, что считается «провалом» при выполнении обновлений экземпляров стека и сколько их выполнять одновременно.
fail_count
целое число
Количество аккаунтов в каждой области, при котором данная операция может завершиться ошибкой, прежде чем CloudFormation остановит операцию в данной области.
Вы должны указать один из параметров fail_count и fail_percentage.
fail_percentage
целое число
Процент аккаунтов в каждой области, при котором данная операция стека может завершиться ошибкой, прежде чем CloudFormation остановит операцию в данной области.
Вы должны указать один из параметров fail_count и fail_percentage.
parallel_count
целое число
Максимальное количество аккаунтов, в которых данная операция может выполняться одновременно.
parallel_count не может быть более чем на единицу больше, чем fail_count.
Вы должны указать один из параметров parallel_count и parallel_percentage.
Обратите внимание, что это значение позволяет указать максимум для операций. Для крупных развертываний в определенных ситуациях фактическое количество может быть ниже.
parallel_percentage
целое число
Максимальный процент аккаунтов, в которых данная операция может выполняться одновременно.
Вы должны указать один из параметров parallel_count и parallel_percentage.
Обратите внимание, что это значение позволяет указать максимум для операций. Для крупных развертываний в определенных ситуациях фактический процент может быть ниже.
name
строка / обязательно
Имя набора стеков CloudFormation.
parameters
словарь
Значение по умолчанию:
{}
Список словарей со всеми переменными шаблона для стека. Значение может быть строкой или словарем.
Словарь может использоваться для задания дополнительных атрибутов параметров шаблона, таких как UsePreviousValue (см. пример).
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
purge_stacks
булево
    Варианты:
  • нет
  • да ←
Применимо только при state=absent. Устанавливает, будут ли также удалены экземпляры стека при удалении набора стеков.
По умолчанию экземпляры будут удалены. Чтобы сохранить стеки при удалении набора стеков, установите purge_stacks=false.
region
строка
AWS-область для использования. Если не указана, используется значение переменной среды AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
regions
список / элементы=строка
Список AWS-областей для создания экземпляров стека. Параметр region выбирает место создания набора стеков, а regions — область для экземпляров стеков.
Для создания набора стеков необходимо указать как минимум одну область. При обновлениях, если указано меньше областей, то будут обновлены только указанные экземпляры стеков.
security_token
строка
AWS STS-токен безопасности. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров security_token и profile одновременно устарела и будет сделана взаимно исключающей после 2022-06-01.

псевдонимы: aws_security_token, access_token
state
строка
    Варианты:
  • наличие ←
  • отсутствие
Если state=наличие, стек будет создан. Если state=наличие и стек существует, а шаблон изменен, он будет обновлен. Если state=отсутствие, стек будет удален.
tags
словарь
Словарь тегов для присвоения стеку и его ресурсам во время создания стека.
Можно обновить позже, при обновлении тегов удаляются предыдущие записи.
шаблон
путь
Локальный путь шаблона CloudFormation.
Должен быть полным путем к файлу, относительно рабочей директории. При использовании ролей он может выглядеть так: roles/cloudformation/files/cloudformation-example.json.
Если state=present и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (только один из них).
Если state=present, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
тело_шаблона
строка
Тело шаблона. Используйте для передачи фактического тела шаблона CloudFormation.
Если state=present и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (только один из них).
Если state=present, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
url_шаблона
строка
Расположение файла, содержащего тело шаблона.
URL должен указывать на шаблон (максимальный размер 307 200 байт), расположенный в ведре S3 в той же области, что и стек.
Если state=present и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (только один из них).
Если state=present, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
validate_certs
булево
    Варианты:
  • no
  • да ←
Если установлено в "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0.
ждать
булево
    Варианты:
  • нет ←
  • да
Дожидаться завершения операции со стеком. Это включает ожидание, пока экземпляры стека достигнут состояния UPDATE_COMPLETE.
Если не дожидаться, этот модуль не будет уведомлять о сбоях операций со стеком, так как не будет ожидать их завершения.
wait_timeout
целое число
По умолчанию:
900
Время ожидания (в секундах) завершения операций создания/обновления/удаления стеков.

Примечания

Примечание

  • Для создания отдельного стека используйте модуль amazon.aws.cloudformation.
  • Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета 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

Примеры

- name: Create a stack set with instances in two accounts
  community.aws.cloudformation_stack_set:
    name: my-stack
    description: Test stack in two accounts
    state: present
    template_url: https://s3.amazonaws.com/my-bucket/cloudformation.template
    accounts: [1234567890, 2345678901]
    regions:
    - us-east-1

- name: on subsequent calls, templates are optional but parameters and tags can be altered
  community.aws.cloudformation_stack_set:
    name: my-stack
    state: present
    parameters:
      InstanceName: my_stacked_instance
    tags:
      foo: bar
      test: stack
    accounts: [1234567890, 2345678901]
    regions:
    - us-east-1

- name: The same type of update, but wait for the update to complete in all stacks
  community.aws.cloudformation_stack_set:
    name: my-stack
    state: present
    wait: true
    parameters:
      InstanceName: my_restacked_instance
    tags:
      foo: bar
      test: stack
    accounts: [1234567890, 2345678901]
    regions:
    - us-east-1

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое Описание
операции
список / элементы=строка
всегда
Все операции, инициированные этим запуском модуля cloudformation_stack_set

Пример:
[{'действие': 'СОЗДАНИЕ', 'arn_роли_администрирования': 'arn:aws:iam::1234567890:role/AWSCloudFormationStackSetAdministrationRole', 'время_создания': '2018-06-18T17:40:46.372000+00:00', 'время_завершения': '2018-06-18T17:41:24.560000+00:00', 'имя_роли_исполнения': 'AWSCloudFormationStackSetExecutionRole', 'id_операции': 'Ansible-StackInstance-Create-0ff2af5b-251d-4fdb-8b89-1ee444eba8b8', 'предпочтения_операции': {'порядок_регионов': ['us-east-1', 'us-east-2']}, 'id_набора_стеков': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'статус': 'НЕУДАЧНО'}]
журнал_операций
список / элементы=строка
всегда
Последние события в журнале событий CloudFormation. В некоторых случаях это может быть из предыдущего запуска.

Пример:
[{'действие': 'СОЗДАНИЕ', 'время_создания': '2018-06-18T17:40:46.372000+00:00', 'время_завершения': '2018-06-18T17:41:24.560000+00:00', 'id_операции': 'Ansible-StackInstance-Create-0ff2af5b-251d-4fdb-8b89-1ee444eba8b8', 'экземпляры_стеков': [{'аккаунт': '1234567890', 'регион': 'us-east-1', 'id_набора_стеков': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'статус': 'УСТЕРЕВШЕЕ', 'причина_статуса': "Учетная запись 1234567890 должна иметь роль 'AWSCloudFormationStackSetAdministrationRole' с отношением доверия к службе CloudFormation."}], 'статус': 'НЕУДАЧНО'}]
экземпляры_стеков
список / элементы=строка
state == present
Экземпляры стеков CloudFormation, которые являются членами этого набора стеков. Это также включает их регион и идентификатор учетной записи.

Пример:
[{'аккаунт': '1234567890', 'регион': 'us-east-1', 'id_набора_стеков': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'статус': 'УСТЕРЕВШЕЕ', 'причина_статуса': "Учетная запись 1234567890 должна иметь роль 'AWSCloudFormationStackSetAdministrationRole' с отношением доверия к службе CloudFormation.\n"}, {'аккаунт': '1234567890', 'регион': 'us-east-2', 'id_набора_стеков': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'статус': 'УСТЕРЕВШЕЕ', 'причина_статуса': 'Отменено, так как предел по толерантности ошибок превышен'}]
набор_стеков
словарь
state == present
Факты о развернутом наборе стеков, его параметрах и тегах

Пример:
{'arn_роли_администрирования': 'arn:aws:iam::1234567890:role/AWSCloudFormationStackSetAdministrationRole', 'возможности': [], 'описание': 'тестовый стек PRIME', 'имя_роли_исполнения': 'AWSCloudFormationStackSetExecutionRole', 'параметры': [], 'arn_набора_стеков': 'arn:aws:cloudformation:us-east-1:1234567890:stackset/TestStackPrime:19f3f684-aae9-467-ba36-e09f92cf5929', 'id_набора_стеков': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'имя_набора_стеков': 'TestStackPrime', 'статус': 'АКТИВНО', 'теги': {'Некоторые': 'Вещи', 'другие': 'Другие'}, 'тело_шаблона': 'AWSTemplateFormatVersion: "2010-09-09"\nParameters: {}\nResources:\n Bukkit:\n Тип: "AWS::S3::Bucket"\n Свойства: {}\n другие:\n Тип: "AWS::SNS::Topic"\n Свойства: {}\n'}


Авторы

  • 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/cloudformation_stack_set_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API