Spec-Zone.ru › Ansible 2.7

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

Новая версия с 2.7.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

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

Требования

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

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

Параметры

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

Псевдонимы: admin_role_arn, admin_role, administration_role
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
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
description
-
Описание того, что создает этот набор стеков.
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует.
execution_role_name
-
ARN роли выполнения, то есть роли, которую наборы стеков CloudFormation принимают в ваших дочерних аккаунтах.
НЕ должен быть ARN, и роли должны существовать в каждом указанном дочернем аккаунте.
Используется имя роли выполнения по умолчанию: AWSCloudFormationStackSetExecutionRole

Псевдонимы: exec_role_name, exec_role, execution_role
failure_tolerance
-
Настройки для изменения того, что считается "ошибкой" при выполнении обновлений экземпляров стеков и сколько из них выполнять одновременно.
name
- / обязательно
Имя набора стеков CloudFormation.
parameters
-
Значение по умолчанию:
{}
Список словарей всех переменных шаблона для стека. Значение может быть строкой или словарем.
Словарь может использоваться для установки дополнительных атрибутов параметров шаблона, таких как UsePreviousValue (см. пример).
profile
-
добавлен в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_stacks
boolean
    Варианты:
  • нет
  • да ←
Применимо только при state=absent. Устанавливает, нужно ли удалять экземпляры стеков при удалении набора стеков.
По умолчанию, экземпляры будут удалены. Установите 'нет' или '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
-
добавлен в 1.6
AWS STS токен безопасности. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

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

Примечания

Примечание

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

Примеры

- name: Create a stack set with instances in two accounts
  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
  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
  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

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

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

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

Пример:
[{'action': 'CREATE', 'administration_role_arn': 'arn:aws:iam::1234567890:role/AWSCloudFormationStackSetAdministrationRole', 'creation_timestamp': '2018-06-18T17:40:46.372000+00:00', 'end_timestamp': '2018-06-18T17:41:24.560000+00:00', 'execution_role_name': 'AWSCloudFormationStackSetExecutionRole', 'operation_id': 'Ansible-StackInstance-Create-0ff2af5b-251d-4fdb-8b89-1ee444eba8b8', 'operation_preferences': {'region_order': ['us-east-1', 'us-east-2']}, 'stack_set_id': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'status': 'FAILED'}]
operations_log
список
всегда
Последние события в журнале событий CloudFormation. В некоторых случаях это может быть из предыдущего запуска.

Пример:
[{'action': 'CREATE', 'creation_timestamp': '2018-06-18T17:40:46.372000+00:00', 'end_timestamp': '2018-06-18T17:41:24.560000+00:00', 'operation_id': 'Ansible-StackInstance-Create-0ff2af5b-251d-4fdb-8b89-1ee444eba8b8', 'status': 'FAILED', 'stack_instances': [{'account': '1234567890', 'region': 'us-east-1', 'stack_set_id': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'status': 'OUTDATED', 'status_reason': "Учетная запись 1234567890 должна иметь роль 'AWSCloudFormationStackSetAdministrationRole' с соглашением о доверии к службе CloudFormation."}]}]
stack_instances
список
state == present
Экземпляры стека CloudFormation, которые являются членами этого набора стеков. Это также будет включать их регион и идентификатор учетной записи.

Пример:
[{'account': '1234567890', 'region': 'us-east-1', 'stack_set_id': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'status': 'OUTDATED', 'status_reason': "Учетная запись 1234567890 должна иметь роль 'AWSCloudFormationStackSetAdministrationRole' с соглашением о доверии к службе CloudFormation.\n"}, {'account': '1234567890', 'region': 'us-east-2', 'stack_set_id': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'status': 'OUTDATED', 'status_reason': 'Отменено, так как предел для допустимых сбоев превышен'}]
stack_set
словарь
state == present
Факты о текущем развернутом наборе стеков, его параметрах и тегах

Пример:
{'administration_role_arn': 'arn:aws:iam::1234567890:role/AWSCloudFormationStackSetAdministrationRole', 'capabilities': [], 'description': 'тестовый стек PRIME', 'execution_role_name': 'AWSCloudFormationStackSetExecutionRole', 'parameters': [], 'stack_set_arn': 'arn:aws:cloudformation:us-east-1:1234567890:stackset/TestStackPrime:19f3f684-aae9-467-ba36-e09f92cf5929', 'stack_set_id': 'TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929', 'stack_set_name': 'TestStackPrime', 'status': 'ACTIVE', 'tags': {'Some': 'Что-то', 'an': 'другое'}, 'template_body': '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'}


Статус

  • Данный модуль не гарантирует обратной совместимости. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

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

Spec-Zone.ru

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