[ aws . cloudformation ]
update-stack
Описание
Обновляет стек, как указано в шаблоне. После успешного завершения вызова обновление стека начинается. Вы можете проверить состояние стека с помощью действия DescribeStacks.
Чтобы получить копию шаблона для существующего стека, вы можете использовать действие GetTemplate.
Для получения дополнительной информации об обновлении стека и мониторинге процесса обновления ознакомьтесь с разделом «Управление ресурсами Amazon Web Services как единым блоком с помощью стеков CloudFormation» в Руководстве пользователя CloudFormation.
См. также: Документация API AWS
Синтаксис
update-stack
--stack-name <value>
[--template-body <value>]
[--template-url <value>]
[--use-previous-template | --no-use-previous-template]
[--stack-policy-during-update-body <value>]
[--stack-policy-during-update-url <value>]
[--parameters <value>]
[--capabilities <value>]
[--resource-types <value>]
[--role-arn <value>]
[--rollback-configuration <value>]
[--stack-policy-body <value>]
[--stack-policy-url <value>]
[--notification-arns <value>]
[--tags <value>]
[--disable-rollback | --no-disable-rollback]
[--client-request-token <value>]
[--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 (строка)
--template-body (строка)
Структура, содержащая тело шаблона с минимальной длиной 1 байт и максимальной длиной 51 200 байт.
Условие: необходимо указать только один из следующих параметров: TemplateBody , TemplateURL или установить UsePreviousTemplate в true .
--template-url (строка)
URL файла, содержащего тело шаблона. URL должен указывать на шаблон, размещённый в ведре Amazon S3 или документе Systems Manager. Путь к ведру Amazon S3 должен начинаться с https:// .
Условие: необходимо указать только один из следующих параметров: TemplateBody , TemplateURL или установить UsePreviousTemplate в true .
--use-previous-template | --no-use-previous-template (логическое значение)
Использовать существующий шаблон, связанный со стеком, который вы обновляете.
Условие: необходимо указать только один из следующих параметров: TemplateBody , TemplateURL или установить UsePreviousTemplate в true .
--stack-policy-during-update-body (строка)
Структура, содержащая тело временной политики стека. Вы можете указать либо параметр StackPolicyDuringUpdateBody , либо StackPolicyDuringUpdateURL , но не оба.
Если вы хотите обновить защищённые ресурсы, укажите временную политику стека во время обновления. Если вы не укажете политику стека, будет использоваться текущая политика, связанная со стеком.
--stack-policy-during-update-url (строка)
Путь к файлу, содержащему временную политику стека. URL должен указывать на политику (максимальный размер: 16 КБ), расположенную в ведре S3 в той же области, что и стек. Путь к ведру Amazon S3 должен начинаться с https:// . Вы можете указать либо параметр StackPolicyDuringUpdateBody , либо StackPolicyDuringUpdateURL , но не оба.
Если вы хотите обновить защищённые ресурсы, укажите временную политику стека во время обновления. Если вы не укажете политику стека, будет использоваться текущая политика, связанная со стеком.
--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"
}
...
]
--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 .
Если список типов ресурсов не включает ресурс, который вы обновляете, обновление стека завершается неудачно. По умолчанию CloudFormation предоставляет разрешения на все типы ресурсов. IAM использует этот параметр для ключей условий, специфичных для CloudFormation, в политиках IAM. Дополнительную информацию см. в разделе Управление доступом с помощью управления идентификацией и доступом.
Примечание
Можно указать только один из параметровCapabilities и ResourceType.(строка)
Синтаксис:
"string" "string" ...
--role-arn (строка)
Идентификатор ресурса Amazon (ARN) роли IAM, которую CloudFormation использует для обновления стека. CloudFormation использует учетные данные роли для выполнения вызовов от вашего имени. CloudFormation всегда использует эту роль для всех будущих операций со стеком. При условии, что пользователи имеют разрешения на работу со стеком, CloudFormation использует эту роль, даже если у пользователей нет разрешения на её передачу. Убедитесь, что роль предоставляет наименьший необходимый набор привилегий.
Если вы не укажете значение, CloudFormation использует роль, которая ранее была связана со стеком. Если роль недоступна, CloudFormation использует временную сессию, сгенерированную из ваших учётных данных пользователя.
--rollback-configuration (структура)
Триггеры отката для CloudFormation, которые необходимо отслеживать во время создания и обновления стеков, а также в течение указанного периода мониторинга после этого.
RollbackTriggers -> (список)
Триггеры для отслеживания во время создания или обновления стека.
По умолчанию CloudFormation сохраняет триггеры отката, указанные для стека, и применяет их к любым последующим операциям обновления для стека, если вы не укажете иное. Если вы укажете триггеры отката для этого параметра, эти триггеры заменят любой предыдущий список триггеров, указанный для стека. Это означает:
- Чтобы использовать триггеры отката, ранее указанные для этого стека, если таковые имеются, не указывайте этот параметр.
- Чтобы указать новые или обновлённые триггеры отката, необходимо указать все триггеры, которые вы хотите использовать для этого стека, даже триггеры, которые вы указывали ранее (например, при создании стека или во время предыдущего обновления стека). Любые триггеры, которых нет в обновлённом списке триггеров, больше не применяются к стеку.
- Чтобы удалить все текущие триггеры, укажите для этого параметра пустой список.
Если какой-либо указанный триггер отсутствует, вся операция стека завершается неудачей и отменяется.
(структура)
Триггер отката, отслеживаемый CloudFormation во время создания и обновления стеков. Если любой из указанных вами сигналов тревоги переходит в состояние ALARM во время операции стека или в течение указанного периода мониторинга после неё, CloudFormation отменяет всю операцию стека.
Arn -> (строка)
Идентификатор ресурса Amazon (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
}
--stack-policy-body (строка)
Структура, содержащая новое тело политики стека. Вы можете указать параметр StackPolicyBody или параметр StackPolicyURL, но не оба.
Вы можете обновить политику стека, например, для защиты нового ресурса, созданного во время обновления стека. Если вы не укажете политику стека, текущая политика, связанная со стеком, останется неизменной.
--stack-policy-url (строка)
Расположение файла, содержащего обновленную политику стека. URL должен указывать на политику (максимальный размер: 16 КБ), расположенную в ведре S3 в той же области, что и стек. Путь к ведру Amazon S3 должен начинаться с https://. Вы можете указать параметр StackPolicyBody или параметр StackPolicyURL, но не оба.
Вы можете обновить политику стека, например, для защиты нового ресурса, созданного во время обновления стека. Если вы не укажете политику стека, текущая политика, связанная со стеком, останется неизменной.
--notification-arns (список)
Имена ресурсов тем (ARN) Amazon Simple Notification Service, которые CloudFormation связывает со стеком. Укажите пустой список, чтобы удалить все темы уведомлений.
(строка)
Синтаксис:
"string" "string" ...
--tags (список)
Пары «ключ-значение» для ассоциации со стеком. CloudFormation также распространяет эти теги на поддерживаемые ресурсы в стеке. Вы можете указать максимальное количество тегов — 50.
Если вы не укажете этот параметр, CloudFormation не изменит теги стека. Если вы укажете пустое значение, CloudFormation удалит все связанные теги.
(структура)
Тип тега позволяет указать пару «ключ-значение», которая может использоваться для хранения информации о стеке CloudFormation.
Ключ -> (строка)
aws:.Значение -> (строка)
Краткая запись синтаксиса:
Key=string,Value=string ...
Синтаксис JSON:
[
{
"Key": "string",
"Value": "string"
}
...
]
--disable-rollback | --no-disable-rollback (логическое значение)
Сохранение состояния ранее предоставленных ресурсов при сбое операции.
По умолчанию: False
--client-request-token (строка)
Уникальный идентификатор для этого запроса UpdateStack. Укажите этот маркер, если вы планируете повторить запросы, чтобы CloudFormation знала, что вы не пытаетесь обновить стек с тем же именем. Вы можете повторить запросы UpdateStack, чтобы убедиться, что CloudFormation их успешно получила.
Все события, инициированные заданной операцией над стеком, назначены одному и тому же маркера запроса клиента, который вы можете использовать для отслеживания операций. Например, если вы выполните операцию CreateStack с маркером token1, то все события StackEvents, сгенерированные этой операцией, будут иметь ClientRequestToken, установленное как token1.
В консоли операции над стеками отображают маркер запроса клиента на вкладке «События». Операции над стеками, инициированные из консоли, используют формат маркера Console-StackOperation-ID, что помогает легко идентифицировать операцию над стеком. Например, если вы создаете стек с помощью консоли, каждое событие стека будет назначено одному и тому же маркера в следующем формате: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.
--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 для получения дополнительной информации.
Если не указано иное, все примеры используют правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей командной строки. См. Использование кавычек со строками в справочнике пользователя AWS CLI.
Для обновления стеков AWS CloudFormation
Следующая команда update-stack обновляет шаблон и параметры ввода для стека mystack:
aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2
Следующая команда update-stack обновляет только значение параметра SubnetIDs для стека mystack. Если вы не укажете значение параметра, используется значение по умолчанию, указанное в шаблоне:
aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2
Следующая команда update-stack добавляет две темы уведомлений стека в стек mystack:
aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:use-east-1:123456789012:mytopic1" "arn:aws:sns:us-east-1:123456789012:mytopic2"
Для получения дополнительной информации см. раздел Обновления стеков AWS CloudFormation в справочнике пользователя AWS CloudFormation.
Вывод
StackId -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.