Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в playbook, укажите: community.aws.cloudformation_stack_set.

Добавлено в community.aws 1.0.0

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

Краткое описание

  • Создаёт, обновляет и удаляет наборы стеков AWS CloudFormation.

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.6
  • boto3 >= 1.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY (в порядке убывания приоритета).

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

accounts

список / элементы=строка

Список учётных записей AWS, в которых нужно создать экземпляры стеков CloudFormation.

Для создания набора стеков необходимо указать хотя бы один регион. При обновлении, если указано меньше регионов, экземпляры стеков будут обновлены только в указанных регионах.

administration_role_arn

псевдонимы: admin_role_arn, admin_role, administration_role

строка

ARN роли администрирования — роли, которую наборы стеков CloudFormation используют для принятия ролей в дочерних учётных записях.

По умолчанию используется arn:aws:iam::{{ account ID }}:role/AWSCloudFormationStackSetAdministrationRole, где {{ account ID }} заменяется номером учётной записи текущих учётных данных роли/пользователя IAM или STS.

aws_ca_bundle

путь

Путь к пакету центров сертификации, используемому для проверки SSL-сертификатов.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Список параметров приведён в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

capabilities

список / элементы=строка

Возможности позволяют стекам создавать и изменять ресурсы 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

Варианты:

  • "CAPABILITY_IAM"
  • "CAPABILITY_NAMED_IAM"

debug_botocore_endpoint_logs

логическое значение

Используйте регистратор botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и вывода набора в ключ resource_actions результатов задачи. Используйте callback aws_resource_action для вывода общего списка вызовов, выполненных в playbook.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

description

строка

Описание создаваемого этим набором стеков.

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную окружения AWS_URL.

execution_role_name

псевдонимы: exec_role_name, exec_role, execution_role

строка

ARN роли выполнения — роли, которую наборы стеков CloudFormation принимают в дочерних учётных записях.

Значение НЕ ДОЛЖНО быть ARN; роли должны существовать в каждой указанной дочерней учётной записи.

Имя роли выполнения по умолчанию — AWSCloudFormationStackSetExecutionRole

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

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token.

purge_stacks

логическое значение

Применяется только при state=absent. Определяет, следует ли при удалении набора стеков также удалять экземпляры стеков.

По умолчанию экземпляры удаляются. Чтобы сохранить стеки после удаления набора стеков, задайте purge_stacks=false.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

строка

Используемый регион AWS.

Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

regions

список / элементы=строка

Список регионов AWS, в которых нужно создать экземпляры стека. Параметр region задаёт место создания набора стеков, а regions — регионы для экземпляров стеков.

Для создания набора стеков необходимо указать хотя бы один регион. При обновлении, если указано меньше регионов, экземпляры стеков будут обновлены только в указанных регионах.

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

строка

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY (в порядке убывания приоритета).

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

session_token

псевдонимы: aws_session_token

строка

Токен сеанса AWS STS для временных учётных данных.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

строка

Если задано state=present, стек будет создан. Если задано state=present и стек уже существует, а шаблон изменился, он будет обновлён. Если задано state=absent, стек будет удалён.

Варианты:

  • "present" ← (по умолчанию)
  • "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

логическое значение

Если задано значение false, SSL-сертификаты для связи с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого используйте параметр aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

wait

логическое значение

Ожидать ли завершения операции со стеком. Это включает ожидание перехода экземпляров стека в состояние UPDATE_COMPLETE.

Если отключить ожидание, этот модуль не сообщит о сбое операций со стеком, поскольку не будет дожидаться их завершения.

Варианты:

  • false ← (по умолчанию)
  • true

wait_timeout

целое число

Время ожидания (в секундах) завершения операций создания, обновления или удаления стеков.

По умолчанию: 900

Примечания

Примечание

  • Для создания отдельного стека используйте модуль amazon.aws.cloudformation.
  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «узла» Ansible, а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «узел». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «узла».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения учётных данных и другие настройки, например регион, из файлов конфигурации в контексте «узла» Ansible (обычно ~/.aws/credentials). Дополнительные сведения см. на странице https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

- 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:
      - 123456789012
      - 234567890123
    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:
      - 123456789012
      - 234567890123
    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:
      - 123456789012
      - 234567890123
    regions:
      - us-east-1

- name: Register new accounts (create new stack instances) with an existing stack set.
  community.aws.cloudformation_stack_set:
    name: my-stack
    state: present
    wait: true
    parameters:
      InstanceName: my_restacked_instance
    tags:
      foo: bar
      test: stack
    accounts:
      - 123456789012
      - 234567890123
      - 345678901234
    regions:
      - us-east-1

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

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

Ключ

Описание

operations

list / elements=string

Все операции, инициированные этим запуском модуля 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

list / elements=string

Последние события в журнале событий 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", "stack_instances": [{"account": "1234567890", "region": "us-east-1", "stack_set_id": "TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929", "status": "OUTDATED", "status_reason": "Account 1234567890 should have 'AWSCloudFormationStackSetAdministrationRole' role with trust relationship to CloudFormation service."}], "status": "FAILED"}]

stack_instances

list / elements=string

Экземпляры стеков CloudFormation, входящие в этот набор стеков. Также будут указаны регион и идентификатор учетной записи.

Возвращается: state == present

Пример: [{"account": "1234567890", "region": "us-east-1", "stack_set_id": "TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929", "status": "OUTDATED", "status_reason": "Account 1234567890 should have 'AWSCloudFormationStackSetAdministrationRole' role with trust relationship to CloudFormation service.\n"}, {"account": "1234567890", "region": "us-east-2", "stack_set_id": "TestStackPrime:19f3f684-aae9-4e67-ba36-e09f92cf5929", "status": "OUTDATED", "status_reason": "Cancelled since failure tolerance has exceeded"}]

stack_set

dictionary

Сведения о развернутом в данный момент наборе стеков, его параметрах и тегах

Возвращается: state == present

Пример: {"administration_role_arn": "arn:aws:iam::1234567890:role/AWSCloudFormationStackSetAdministrationRole", "capabilities": [], "description": "test stack 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"}

Авторы

  • Ryan Scott Brown (@ryansb)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/cloudformation_stack_set_module.html

Spec-Zone.ru

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