Модуль 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 и 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 используют для принятия ролей в дочерних учётных записях. По умолчанию используется |
aws_ca_bundle путь | Путь к пакету центров сертификации, используемому для проверки SSL-сертификатов. Также можно использовать переменную окружения |
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 Варианты:
|
debug_botocore_endpoint_logs логическое значение | Используйте регистратор Также можно использовать переменную окружения Варианты:
|
description строка | Описание создаваемого этим набором стеков. |
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
execution_role_name псевдонимы: exec_role_name, exec_role, execution_role строка | ARN роли выполнения — роли, которую наборы стеков CloudFormation принимают в дочерних учётных записях. Значение НЕ ДОЛЖНО быть ARN; роли должны существовать в каждой указанной дочерней учётной записи. Имя роли выполнения по умолчанию — |
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. Также можно использовать переменную окружения Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token. |
purge_stacks логическое значение | Применяется только при state=absent. Определяет, следует ли при удалении набора стеков также удалять экземпляры стеков. По умолчанию экземпляры удаляются. Чтобы сохранить стеки после удаления набора стеков, задайте purge_stacks=false. Варианты:
|
region псевдонимы: aws_region строка | Используемый регион AWS. Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр 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. Также можно использовать переменные окружения Параметры 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. Также можно использовать переменную окружения Параметры session_token и profile являются взаимоисключающими. |
state строка | Если задано state=present, стек будет создан. Если задано state=present и стек уже существует, а шаблон изменился, он будет обновлён. Если задано state=absent, стек будет удалён. Варианты:
|
tags словарь | Словарь тегов, связываемых со стеком и его ресурсами при создании стека. Теги можно изменить позднее; при обновлении тегов предыдущие записи удаляются. |
template путь | Локальный путь к шаблону CloudFormation. Здесь необходимо указать полный путь к файлу относительно рабочего каталога. При использовании ролей путь может выглядеть так: Если задано 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 логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого используйте параметр aws_ca_bundle. Варианты:
|
wait логическое значение | Ожидать ли завершения операции со стеком. Это включает ожидание перехода экземпляров стека в состояние UPDATE_COMPLETE. Если отключить ожидание, этот модуль не сообщит о сбое операций со стеком, поскольку не будет дожидаться их завершения. Варианты:
|
wait_timeout целое число | Время ожидания (в секундах) завершения операций создания, обновления или удаления стеков. По умолчанию: |
Примечания
Примечание
- Для создания отдельного стека используйте модуль 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 Возвращается: всегда Пример: |
operations_log list / elements=string | Последние события в журнале событий CloudFormation. В некоторых случаях это могут быть события предыдущего запуска. Возвращается: всегда Пример: |
stack_instances list / elements=string | Экземпляры стеков CloudFormation, входящие в этот набор стеков. Также будут указаны регион и идентификатор учетной записи. Возвращается: state == present Пример: |
stack_set dictionary | Сведения о развернутом в данный момент наборе стеков, его параметрах и тегах Возвращается: state == present Пример: |
Ссылки на коллекцию
© 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