Spec-Zone.ru › Ansible 2.9

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
debug_botocore_endpoint_logs
логический тип
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Используйте logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие", сделанных во время задачи, выводия список в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
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
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_stacks
логический тип
    Варианты:
  • нет
  • да ←
Применимо только при 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
строка
AWS STS-токен безопасности. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
-
    Варианты:
  • наличие ←
  • отсутствие
Если state — "наличие", стек будет создан. Если state — "наличие", и если стек существует, а шаблон изменён, он будет обновлён. Если state — "отсутствие", стек будет удалён.
tags
-
Словарь тегов для связывания со стеком и его ресурсами во время создания стека. Может быть обновлён позже, обновление тегов удаляет предыдущие записи.
template
-
Локальный путь шаблона cloudformation.
Это должен быть полный путь к файлу, относительно рабочей директории. При использовании ролей он может выглядеть как "roles/cloudformation/files/cloudformation-example.json".
Если 'state' — 'наличие' и стек ещё не существует, необходимо указать 'template', 'template_body' или 'template_url' (только один из них). Если 'state' — 'наличие', стек существует, и ни 'template', ни 'template_body', ни 'template_url' не указаны, предыдущий шаблон будет повторно использован.
template_body
-
Тело шаблона. Используйте его для передачи фактического тела шаблона Cloudformation.
Если 'state' — 'наличие' и стек ещё не существует, необходимо указать 'template', 'template_body' или 'template_url' (только один из них). Если 'state' — 'наличие', стек существует, и ни 'template', ни 'template_body', ни 'template_url' не указаны, предыдущий шаблон будет повторно использован.
template_url
-
Расположение файла, содержащего тело шаблона. URL должен указывать на шаблон (максимальный размер 307 200 байт), расположенный в ведре S3 в том же регионе, что и стек.
Если 'state' — 'наличие' и стек ещё не существует, необходимо указать 'template', 'template_body' или 'template_url' (только один из них). Если 'state' — 'наличие', стек существует, и ни 'template', ни 'template_body', ни 'template_url' не указаны, предыдущий шаблон будет повторно использован.
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
При установке в "нет", SSL-сертификаты не будут проверены для версий boto >= 2.6.0.
wait
логический тип
    Варианты:
  • нет ←
  • да
Ожидать завершения операции со стеком. Это включает ожидание, пока экземпляры стека не достигнут статуса 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': 'Thing', 'an': 'other'}, '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.9/modules/cloudformation_stack_set_module.html

Spec-Zone.ru

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