Spec-Zone.ru › Ansible 2.10

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: of 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-сертификаты считываются со стороны модуля и могут потребоваться явное копирование с контроллера, если модуль не запущен локально.
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:action», сделанных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также можно использовать переменную окружения 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
строка
    Варианты:
  • present ←
  • absent
Если state=present, стек будет создан. Если state=present и если стек существует, а шаблон изменён, он будет обновлён. Если state=absent, стек будет удалён.
tags
словарь
Словарь тегов, которые необходимо связать со стеком и его ресурсами во время создания стека.
Можно обновить позже, обновление тегов удаляет предыдущие записи.
шаблон
путь
Локальный путь шаблона CloudFormation.
Это должен быть полный путь к файлу, относительно рабочей директории. При использовании ролей, это может выглядеть так roles/cloudformation/files/cloudformation-example.json.
Если состояние=наличие и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (но только один из них).
Если состояние=наличие, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
тело_шаблона
строка
Тело шаблона. Используйте для передачи фактического тела шаблона CloudFormation.
Если состояние=наличие и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (но только один из них).
Если состояние=наличие, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
url_шаблона
строка
Расположение файла, содержащего тело шаблона.
URL должен указывать на шаблон (максимальный размер 307 200 байт), расположенный в ведре S3 в той же области, что и стек.
Если состояние=наличие и стека ещё нет, необходимо указать шаблон, тело_шаблона или url_шаблона (но только один из них).
Если состояние=наличие, стек существует, и ни шаблон, ни тело_шаблона, ни url_шаблона не указаны, будет повторно использован предыдущий шаблон.
проверять_сертификаты
логическое
    Варианты:
  • нет
  • да ←
Если установлено в "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0.
ожидание
логическое
    Варианты:
  • нет ←
  • да
Ожидать завершения операции стека. Это включает ожидание, пока экземпляры стека достигнут состояния UPDATE_COMPLETE.
Если вы не хотите ждать, этот модуль не будет уведомлять о сбоях операций стека, так как не будет ждать их завершения.
время_ожидания
целое
По умолчанию:
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."}], 'статус': 'НЕУДАЧНО'}]
экземпляры_стеков
список / элементы=строка
состояние == наличие
Экземпляры стеков 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', 'статус': 'УСТАРЕЛ', 'причина_статуса': 'Отменено, так как предел переносимости ошибок превышен'}]
набор_стеков
словарь
состояние == наличие
Факты о текущем развернутом наборе стеков, его параметрах и тегах

Пример:
{'административный_роль_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 Type: "AWS::S3::Bucket"\n Properties: {}\n other:\n Type: "AWS::SNS::Topic"\n Properties: {}\n'}


Авторы

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

Spec-Zone.ru

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