Модуль amazon.aws.cloudformation – Создание или удаление стека AWS CloudFormation
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: amazon.aws.cloudformation.
Добавлен в amazon.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 и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для соответствия AWS botocore SDK. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle путь | Расположение пакета CA для проверки сертификатов SSL. Также может использоваться переменная среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
backoff_delay целое число | Количество секунд ожидания следующей попытки. Значение по умолчанию: |
| ... |
on_create_failure string | Действие, которое необходимо выполнить при ошибке создания стека. Несовместимо с параметром Варианты:
|
profile aliases: aws_profile string | Используемый именованный профиль AWS для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token. |
region aliases: aws_region, ec2_region string | Используемый регион AWS. Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменные среды Дополнительную информацию см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
role_arn string | Роль, которую AWS CloudFormation принимает для создания стека. См. документацию AWS CloudFormation Service Role: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа 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 botocore SDK. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | AWS STS маркер сессии для использования с временными учетными данными. Дополнительную информацию о маркерах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры 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. Поддержка переменных среды |
stack_name string / обязательно | Имя стека CloudFormation. |
stack_policy string | Путь к файлу с политикой стека CloudFormation. Политика не может быть удалена после размещения, но может быть изменена. Например, разрешить все обновления https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051 |
stack_policy_body json добавлено в amazon.aws 1.5.0 | Политика стека CloudFormation в формате JSON. Политика не может быть удалена после размещения, но может быть изменена. Например, разрешить все обновления https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051 |
stack_policy_on_update_body json добавлено в amazon.aws 1.5.0 | Тело политики стека cloudformation, применённое только во время этого обновления. |
state string | Если Если Если Варианты:
|
tags словарь | Словарь тегов, которые следует присвоить стеку и его ресурсам во время создания стека. Может быть обновлен позже, обновление тегов удаляет предыдущие записи. |
шаблон путь | Локальный путь к шаблону CloudFormation. Это должен быть полный путь к файлу, относительно рабочей директории. При использовании ролей, он может выглядеть так Если Если Параметр |
тело_шаблона строка | Тело шаблона. Используйте для передачи фактического тела шаблона CloudFormation. Если Если |
параметры_шаблона словарь | Список словарей всех переменных шаблона для стэка. Значение может быть строкой или словарем. Словарь может использоваться для установки дополнительных атрибутов параметров шаблона, таких как UsePreviousValue (см. пример). По умолчанию: |
url_шаблона строка | Расположение файла, содержащего тело шаблона. URL должен указывать на шаблон (максимальный размер 307 200 байт), расположенный в ведре S3 в той же области, что и стэк. Если Если |
защита_от_прекращения булево | Включить или выключить защиту от прекращения работы стэка. Варианты:
|
проверка_сертификатов булево | При установке в Указание проверка_сертификатов=false настоятельно не рекомендуется, в качестве альтернативы, рассмотрите возможность установки aws_ca_bundle вместо этого. Варианты:
|
Примечания
Примечание
- Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллер». Поэтому файлы могут потребоваться скопировать явно на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как область, из файлов конфигурации в контексте Ansible «хост» (обычно
~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.
Примеры
- name: create a cloudformation stack
amazon.aws.cloudformation:
stack_name: "ansible-cloudformation"
state: "present"
region: "us-east-1"
disable_rollback: true
# The template parameter has been deprecated, use template_body with lookup instead.
# template: "files/cloudformation-example.json"
template_body: "{{ lookup('file', 'cloudformation-example.json') }}"
template_parameters:
KeyName: "jmartin"
DiskType: "ephemeral"
InstanceType: "m1.small"
ClusterSize: 3
tags:
Stack: "ansible-cloudformation"
# Basic role example
- name: create a stack, specify role that cloudformation assumes
amazon.aws.cloudformation:
stack_name: "ansible-cloudformation"
state: "present"
region: "us-east-1"
disable_rollback: true
# The template parameter has been deprecated, use template_body with lookup instead.
# template: "roles/cloudformation/files/cloudformation-example.json"
template_body: "{{ lookup('file', 'cloudformation-example.json') }}"
role_arn: 'arn:aws:iam::123456789012:role/cloudformation-iam-role'
- name: delete a stack
amazon.aws.cloudformation:
stack_name: "ansible-cloudformation-old"
state: "absent"
# Create a stack, pass in template from a URL, disable rollback if stack creation fails,
# pass in some parameters to the template, provide tags for resources created
- name: create a stack, pass in the template via an URL
amazon.aws.cloudformation:
stack_name: "ansible-cloudformation"
state: present
region: us-east-1
disable_rollback: true
template_url: https://s3.amazonaws.com/my-bucket/cloudformation.template
template_parameters:
KeyName: jmartin
DiskType: ephemeral
InstanceType: m1.small
ClusterSize: 3
tags:
Stack: ansible-cloudformation
# Create a stack, passing in template body using lookup of Jinja2 template, disable rollback if stack creation fails,
# pass in some parameters to the template, provide tags for resources created
- name: create a stack, pass in the template body via lookup template
amazon.aws.cloudformation:
stack_name: "ansible-cloudformation"
state: present
region: us-east-1
disable_rollback: true
template_body: "{{ lookup('template', 'cloudformation.j2') }}"
template_parameters:
KeyName: jmartin
DiskType: ephemeral
InstanceType: m1.small
ClusterSize: 3
tags:
Stack: ansible-cloudformation
# Pass a template parameter which uses CloudFormation's UsePreviousValue attribute
# When use_previous_value is set to True, the given value will be ignored and
# CloudFormation will use the value from a previously submitted template.
# If use_previous_value is set to False (default) the given value is used.
- amazon.aws.cloudformation:
stack_name: "ansible-cloudformation"
state: "present"
region: "us-east-1"
template: "files/cloudformation-example.json"
template_parameters:
DBSnapshotIdentifier:
use_previous_value: true
value: arn:aws:rds:es-east-1:123456789012:snapshot:rds:my-db-snapshot
DBName:
use_previous_value: true
tags:
Stack: "ansible-cloudformation"
# Enable termination protection on a stack.
# If the stack already exists, this will update its termination protection
- name: enable termination protection during stack creation
amazon.aws.cloudformation:
stack_name: my_stack
state: present
template_url: https://s3.amazonaws.com/my-bucket/cloudformation.template
termination_protection: true
# Configure TimeoutInMinutes before the stack status becomes CREATE_FAILED
# In this case, if disable_rollback is not set or is set to false, the stack will be rolled back.
- name: enable termination protection during stack creation
amazon.aws.cloudformation:
stack_name: my_stack
state: present
template_url: https://s3.amazonaws.com/my-bucket/cloudformation.template
create_timeout: 5
# Configure rollback behaviour on the unsuccessful creation of a stack allowing
# CloudFormation to clean up, or do nothing in the event of an unsuccessful
# deployment
# In this case, if on_create_failure is set to "DELETE", it will clean up the stack if
# it fails to create
- name: create stack which will delete on creation failure
amazon.aws.cloudformation:
stack_name: my_stack
state: present
template_url: https://s3.amazonaws.com/my-bucket/cloudformation.template
on_create_failure: DELETE
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие — поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
id_набора_изменений строка | ID набора изменений стэка при создании. Возвращается: когда Пример: |
события список / элементы=строка | Последние события в журнале событий CloudFormation. В некоторых случаях это может быть из предыдущего выполнения. Возвращается: всегда Пример: |
журнал список / элементы=строка | Журналы отладки. Полезны при модификации или поиске ошибки. Возвращается: всегда Пример: |
выходы_стэка словарь | Словарь ключ:значение всех текущих выходов стэка. Если выходов стэка нет, это пустой словарь. Возвращается: когда Пример: |
ресурсы_стэка список / элементы=словарь | Ресурсы AWS стэка и их статус. Список словарей, по одному словарю на ресурс. Возвращается: когда Пример: |
Ссылки на коллекцию
© 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/amazon/aws/cloudformation_module.html