[ aws . cloudformation ]
create-stack
Описание
Создаёт стек, как указано в шаблоне. После успешного завершения вызова, начинается создание стека. Вы можете проверить статус стека с помощью операции DescribeStacks.
Для получения дополнительной информации о создании стека и мониторинге прогресса стека, см. Управление ресурсами Amazon Web Services как единым блоком с помощью стеков CloudFormation в Руководстве пользователя CloudFormation.
См. также: Документация API AWS
Синтаксис
create-stack
--stack-name <value>
[--template-body <value>]
[--template-url <value>]
[--parameters <value>]
[--disable-rollback | --no-disable-rollback]
[--rollback-configuration <value>]
[--timeout-in-minutes <value>]
[--notification-arns <value>]
[--capabilities <value>]
[--resource-types <value>]
[--role-arn <value>]
[--on-failure <value>]
[--stack-policy-body <value>]
[--stack-policy-url <value>]
[--tags <value>]
[--client-request-token <value>]
[--enable-termination-protection | --no-enable-termination-protection]
[--retain-except-on-create | --no-retain-except-on-create]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--stack-name (строка)
Имя стека. Имя должно быть уникальным в Регионе, в котором вы создаёте стек.
Примечание
Имя стека может содержать только буквенно-цифровые символы (регистр имеет значение) и дефисы. Оно должно начинаться с буквы и не может быть длиннее 128 символов.--template-body (строка)
Структура, содержащая тело шаблона с минимальной длиной 1 байт и максимальной длиной 51 200 байт.
Условие: Вы должны указать либо параметр TemplateBody, либо параметр TemplateURL, но не оба.
--template-url (строка)
URL-адрес файла, содержащего тело шаблона. URL должен указывать на шаблон (максимальный размер: 1 МБ), расположенный в ведре Amazon S3 или документе Systems Manager. Путь к ведру Amazon S3 должен начинаться с https://.
Условие: Вы должны указать либо параметр TemplateBody, либо параметр TemplateURL, но не оба.
--parameters (список)
Список структур Parameter, которые задают входные параметры для стека. Дополнительную информацию см. в разделе Тип данных параметра.
(структура)
Тип данных параметра.
ParameterKey -> (строка)
ParameterValue -> (строка)
UsePreviousValue -> (булево)
true, не указывайте значение параметра.ResolvedValue -> (строка)
Сокращённый синтаксис:
ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ...
Синтаксис JSON:
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
--disable-rollback | --no-disable-rollback (булево)
Установите значение true, чтобы отключить откат стека в случае неудачного создания стека. Вы можете указать либо DisableRollback, либо OnFailure, но не оба.
Значение по умолчанию: false
--rollback-configuration (структура)
Триггеры отката для CloudFormation, которые отслеживаются во время создания и обновления стеков, а также в течение указанного периода мониторинга после этого.
RollbackTriggers -> (список)
Триггеры, которые отслеживаются во время действий создания или обновления стека.
По умолчанию CloudFormation сохраняет триггеры отката, указанные для стека, и применяет их к любым последующим операциям обновления стека, если вы не укажете иначе. Если вы указываете триггеры отката для этого параметра, эти триггеры заменяют любой ранее указанный список триггеров для стека. Это означает:
- Чтобы использовать триггеры отката, ранее указанные для этого стека (если таковые имеются), не указывайте этот параметр.
- Чтобы указать новые или обновлённые триггеры отката, вы должны указать все триггеры, которые вы хотите использовать для этого стека, даже те, которые вы указывали ранее (например, при создании стека или во время предыдущего обновления стека). Любые триггеры, которые вы не включите в обновлённый список триггеров, больше не применяются к стеку.
- Чтобы удалить все текущие указанные триггеры, укажите пустой список для этого параметра.
Если указанный триггер отсутствует, вся операция стека завершается ошибкой и отменяется.
(структура)
Триггер отката, который CloudFormation отслеживает во время создания и обновления стеков. Если какой-либо из указанных вами сигналов тревоги переходит в состояние ALARM во время операции стека или в течение указанного периода мониторинга после этого, CloudFormation отменяет всю операцию стека.
Arn -> (строка)
Amazon Resource Name (ARN) триггера отката.
Если указанный триггер отсутствует, вся операция стека завершается ошибкой и отменяется.
Type -> (строка)
MonitoringTimeInMinutes -> (целое число)
Время в минутах, в течение которого CloudFormation должен отслеживать все триггеры отката после развертывания всех необходимых ресурсов операцией создания или обновления стека.
Значение по умолчанию — 0 минут.
Если вы указываете период мониторинга, но не указываете триггеры отката, CloudFormation всё равно ожидает указанный период времени перед удалением старых ресурсов после операций обновления. Вы можете использовать этот период мониторинга для выполнения любого желаемого ручного валидирования стека и вручную отменить создание или обновление стека (например, с помощью CancelUpdateStack) по мере необходимости.
Если вы укажете 0 для этого параметра, CloudFormation всё равно отслеживает указанные триггеры отката во время операций создания и обновления стека. Затем, для операций обновления он начинает удалять старые ресурсы сразу после завершения операции.
Сокращённый синтаксис:
RollbackTriggers=[{Arn=string,Type=string},{Arn=string,Type=string}],MonitoringTimeInMinutes=integer
Синтаксис JSON:
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
--timeout-in-minutes (целое число)
CREATE_FAILED; если DisableRollback не задано или задано как false, стек будет отменён.--notification-arns (список)
ARN тем Amazon SNS, в которые будут публиковаться события, связанные со стеком. Вы можете найти ARN тем Amazon SNS, используя консоль Amazon SNS или командную строку (CLI).
(строка)
Синтаксис:
"string" "string" ...
--capabilities (список)
В некоторых случаях необходимо явно указать, что шаблон вашего стека содержит определённые возможности, чтобы CloudFormation мог создать стек.
-
CAPABILITY_IAMиCAPABILITY_NAMED_IAMНекоторые шаблоны стеков могут содержать ресурсы, которые могут повлиять на разрешения в вашей учётной записи Amazon Web Services; например, создавая новых пользователей IAM. Для таких стеков необходимо явно указать это, указав одну из этих возможностей. Следующие ресурсы IAM требуют указания возможностиCAPABILITY_IAMилиCAPABILITY_NAMED_IAM.- Если у вас есть ресурсы IAM, вы можете указать любую возможность.
- Если у вас есть ресурсы IAM с пользовательскими именами, вы обязаны указать
CAPABILITY_NAMED_IAM. - Если вы не укажете ни одну из этих возможностей, CloudFormation вернёт ошибку
InsufficientCapabilities.
Если ваш шаблон стека содержит эти ресурсы, мы рекомендуем вам проверить все разрешения, связанные с ними, и изменить их разрешения при необходимости.
- AWS::IAM::AccessKey
- AWS::IAM::Group
- AWS::IAM::InstanceProfile
- AWS::IAM::ManagedPolicy
- AWS::IAM::Policy
- AWS::IAM::Role
- AWS::IAM::User
- AWS::IAM::UserToGroupAddition
Дополнительную информацию см. в разделе Подтверждение ресурсов IAM в шаблонах CloudFormation.
-
CAPABILITY_AUTO_EXPANDНекоторые шаблоны содержат макросы. Макросы выполняют пользовательскую обработку шаблонов; это может включать простые действия, такие как поиск и замена, вплоть до обширных преобразований целых шаблонов. По этой причине пользователи обычно создают набор изменений из обработанного шаблона, чтобы они могли проверить изменения, полученные в результате макросов, прежде чем фактически создавать стек. Если ваш шаблон стека содержит один или несколько макросов и вы выбираете создать стек непосредственно из обработанного шаблона, не просматривая сначала полученные изменения в наборе изменений, вы должны указать эту возможность. Это включает в себя преобразования AWS::Include и AWS::Serverless, которые являются макросами, размещёнными CloudFormation. Если вы хотите создать стек из шаблона стека, который содержит макросы и вложенные стеки, вы должны создать стек непосредственно из шаблона с использованием этой возможности.
Предупреждение
Дополнительную информацию см. в разделе Выполнение пользовательской обработки шаблонов CloudFormation с помощью макросов шаблонов.
Примечание
Можно указать только один из параметровCapabilities и ResourceType.(строка)
Синтаксис:
"string" "string" ...
Where valid values are:
CAPABILITY_IAM
CAPABILITY_NAMED_IAM
CAPABILITY_AUTO_EXPAND
--resource-types (список)
Типы ресурсов шаблона, с которыми вы имеете разрешения работать для данного действия создания стека, такие как AWS::EC2::Instance, AWS::EC2::* или Custom::MyCustomInstance. Используйте следующий синтаксис для описания типов ресурсов шаблона: AWS::* (для всех ресурсов Amazon Web Services), Custom::* (для всех пользовательских ресурсов), Custom::*logical_ID* `` (for a specific custom resource), ``AWS::*service_name* ::* (для всех ресурсов определённой службы Amazon Web Services) и ``AWS::service_name ::resource_logical_ID `` (для конкретного ресурса Amazon Web Services).
Если в списке типов ресурсов отсутствует создаваемый вами ресурс, создание стека завершается ошибкой. По умолчанию CloudFormation предоставляет разрешения на все типы ресурсов. IAM использует этот параметр для ключей условных выражений CloudFormation в политиках IAM. Дополнительную информацию см. в разделе Управление доступом с помощью Identity and Access Management.
Примечание
Можно указать только один из параметровCapabilities и ResourceType.(строка)
Синтаксис:
"string" "string" ...
--role-arn (строка)
Amazon Resource Name (ARN) роли IAM, которую CloudFormation принимает для создания стека. CloudFormation использует данные роли для выполнения вызовов от вашего имени. CloudFormation всегда использует эту роль для всех будущих операций со стеком. При условии, что пользователи имеют разрешение на работу со стеком, CloudFormation использует эту роль, даже если пользователи не имеют разрешения на её передачу. Убедитесь, что роль предоставляет наименьший необходимый объём прав.
Если вы не указываете значение, CloudFormation использует роль, которая была ранее связана со стеком. Если роль недоступна, CloudFormation использует временную сессию, сгенерированную из данных вашей учётной записи.
--on-failure (строка)
Определяет действие, которое будет выполнено в случае неудачи при создании стека. Это должно быть одно из: DO_NOTHING , ROLLBACK , или DELETE . Вы можете указать либо OnFailure, либо DisableRollback, но не оба.
По умолчанию: ROLLBACK
Возможные значения:
DO_NOTHINGROLLBACKDELETE
--stack-policy-body (строка)
StackPolicyBody, либо StackPolicyURL, но не оба.--stack-policy-url (строка)
https://. Вы можете указать либо параметр StackPolicyBody, либо StackPolicyURL, но не оба.--tags (список)
Пары «ключ-значение» для ассоциации со стеком. CloudFormation также распространяет эти теги на созданные в стеке ресурсы. Максимальное количество тегов — 50.
(структура)
Тип тега позволяет указать пару «ключ-значение» для хранения информации о стеке CloudFormation.
Ключ -> (строка)
aws: .Значение -> (строка)
Сокращенная синтаксическая запись:
Key=string,Value=string ...
Синтаксис JSON:
[
{
"Key": "string",
"Value": "string"
}
...
]
--client-request-token (строка)
Уникальный идентификатор этого запроса CreateStack. Укажите этот токен, если вы планируете повторно отправлять запросы, чтобы CloudFormation знал, что вы не пытаетесь создать стек с тем же именем. Вы можете повторить запросы CreateStack, чтобы убедиться, что CloudFormation их успешно получил.
Все события, инициированные заданной операцией со стеком, присваиваются одному и тому же токену клиентского запроса, который можно использовать для отслеживания операций. Например, если вы выполните операцию CreateStack с токеном token1, то все события StackEvents, сгенерированные этой операцией, будут иметь ClientRequestToken, установленное как token1.
В консоли операции со стеком отображаются токен клиентского запроса на вкладке «События». Операции со стеком, инициированные из консоли, используют формат токена Console-StackOperation-ID, что упрощает идентификацию операции со стеком. Например, если вы создаете стек с помощью консоли, каждому событию стека будет присвоен тот же токен в следующем формате: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
--enable-termination-protection | --no-enable-termination-protection (логическое значение)
Включает ли защиту от удаления для указанного стека. Если пользователь пытается удалить стек с включенной защитой от удаления, операция завершается неудачей, и стек остается неизменным. Дополнительную информацию см. в разделе «Защита стеков CloudFormation от удаления» в руководстве пользователя CloudFormation. Защита от удаления по умолчанию отключена для стеков.
Для вложенных стеков защита от удаления устанавливается на корневом стеке и не может быть изменена непосредственно на вложенном стеке.
--retain-except-on-create | --no-retain-except-on-create (логическое значение)
При установке в значение true, вновь созданные ресурсы удаляются при отмене операции. Это включает вновь созданные ресурсы, помеченные политикой удаления Retain.
По умолчанию: false
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставляемому --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью предоставленного JSON-значения, так как строка будет воспринята буквально. Это не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено значение без значения или значение input, выводит пример JSON-ввода, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, выводит пример YAML-ввода, который можно использовать с --cli-input-yaml. Если предоставлено значение output, проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (логическое значение)
Включить отладку логирования.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (логическое значение)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (логическое значение)
Отключить автоматическую постраничность. Если автоматическая постраничность отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команд.
- json
- текст
- таблица
- yaml
- yaml-потоковый
--query (строка)
Запрос JMESPath для использования при фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла аутентификации.
--region (строка)
Использовать определенную область. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- включить
- выключить
- автоматически
--no-sign-request (логическое значение)
Не подписывать запросы. Кредиты не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с набором сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной в base64 строки. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого файла, которое отображается как двоичный блок, fileb:// всегда будет обрабатываться как двоичный и использовать содержимое файла напрямую независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое значение)
Отключить постраничный вывод CLI.
--cli-auto-prompt (логическое значение)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматическое запроса параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы с AWS CLI в руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования по типу Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной оболочки. См. использование кавычек со строками в руководстве пользователя AWS CLI.
Для создания стека AWS CloudFormation
Следующая команда create-stacks создает стек с именем myteststack, используя шаблон sampletemplate.json:
aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2
Вывод:
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
Дополнительную информацию см. в разделе «Стеки» в руководстве пользователя AWS CloudFormation.
Вывод
StackId -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.