Spec-Zone.ru › Ansible

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

Примечание

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

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

Чтобы установить её, используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.

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

Новое в community.aws 1.0.0

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

Обзор

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

Требования

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

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key, ec2_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 или EC2_ACCESS_KEY в порядке убывания приоритета.

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

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для соответствия SDK botocore AWS.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

accounts

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

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

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

administration_role_arn

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

строка

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

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

aws_ca_bundle

путь

Расположение файла 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 логгер для анализа уникальных (а не общих) "resource:action" API-вызовов, сделанных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте aws_resource_action обратный вызов для вывода в общий список, сделанный во время выполнения книги.

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

Выбор:

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

description

строка

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

endpoint_url

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

строка

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

Также могут быть использованы переменные среды AWS_URL или EC2_URL в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

execution_role_name

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

строка

ARN роли исполнения, то есть роли, которую CloudFormation Stack Sets использует в дочерних учетных записях.

ЭТО НЕ ДОЛЖНО быть 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

integer

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

Вы должны указать один из параметров: parallel_count или parallel_percentage.

Обратите внимание, что данная настройка определяет максимум для операций. Для больших развертываний в определённых ситуациях фактический процент может быть ниже.

name

string / обязательно

Имя набора стеков 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 и security_token.

purge_stacks

булево

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

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

Варианты:

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

region

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

строка

Используемая область AWS.

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

Также можно использовать переменные среды AWS_REGION или EC2_REGION.

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

Псевдоним ec2_region устарел и будет удалён в релизе после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

regions

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

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

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

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key, ec2_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, или EC2_SECRET_KEY в порядке убывания предпочтения.

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

Псевдоним aws_secret_access_key добавлен в релизе 5.1.0 для соответствия AWS botocore SDK.

Псевдоним ec2_secret_key устарел и будет удалён в релизе после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

псевдонимы: aws_session_token, security_token, aws_security_token, access_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, AWS_SECURITY_TOKEN, или EC2_SECURITY_TOKEN в порядке убывания предпочтения.

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

Псевдонимы aws_session_token и session_token добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

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 не указаны, будет повторно использован предыдущий шаблон.

тело_шаблона

строка

Тело шаблона. Используйте его для передачи фактического тела шаблона CloudFormation.

Если состояние=наличие и стека еще нет, необходимо указать шаблон, тело_шаблона или ссылка_на_шаблон (но только один из них).

Если состояние=наличие, стек существует, и ни шаблон, тело_шаблона, ни ссылка_на_шаблон не указаны, предыдущий шаблон будет повторно использован.

ссылка_на_шаблон

строка

Расположение файла, содержащего тело шаблона.

URL должен указывать на шаблон (максимальный размер 307 200 байт), размещённый в ведре S3 в той же области, что и стек.

Если состояние=наличие и стека еще нет, необходимо указать шаблон, тело_шаблона или ссылка_на_шаблон (но только один из них).

Если состояние=наличие, стек существует, и ни шаблон, тело_шаблона, ни ссылка_на_шаблон не указаны, предыдущий шаблон будет повторно использован.

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 «контроллер», а не «хост».
  • AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как область, из файлов конфигурации в контексте 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

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

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

Ключ

Описание

операции

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

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

журнал_операций

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

Последние события в журнале событий 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"}]

экземпляры_стека

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

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

Возвращается: состояние == наличие

Пример: [{"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"}]

набор_стеков

словарь

Факты о текущем развернутом наборе стеков, его параметрах и тегах.

Возвращается: состояние == наличие

Пример: {"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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/cloudformation_stack_set_module.html

Spec-Zone.ru

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