Cria um conjunto de alterações para uma stack para que você possa visualizar as alterações antes da execução.
Descrição da operação
Cenários.
Criar uma stack usando um conjunto de alterações
Para gerenciar recursos em nuvem e visualizar os resultados da criação antes que a stack seja criada, defina ChangeSetType como CREATE. Conjuntos de alterações.
Atualizar uma stack usando um conjunto de alterações
Para visualizar o impacto de uma atualização antes de aplicar as alterações, defina ChangeSetType como UPDATE. Conjuntos de alterações.
Criar uma stack a partir de recursos existentes
Para importar recursos em nuvem existentes para uma nova stack, defina ChangeSetType como IMPORT. Visão geral.
Importar recursos existentes para uma stack
Para importar recursos existentes para uma stack existente, defina ChangeSetType como IMPORT. Visão geral.
Limites
-
Somente stacks em estados específicos podem ser atualizadas usando conjuntos de alterações. Atualizar uma stack usando um conjunto de alterações.
-
Uma stack pode ter no máximo 20 conjuntos de alterações por vez.
-
Um conjunto de alterações mostra apenas as alterações em uma stack. Ele não indica se a stack será atualizada com sucesso.
-
Um conjunto de alterações não verifica problemas como cotas de conta excedidas, recursos não atualizáveis ou permissões insuficientes. Esses problemas podem causar falha na atualização da stack. Se a atualização falhar, o ROS tenta reverter os recursos ao estado anterior.
Neste exemplo, um conjunto de alterações chamado MyChangeSet é criado na região China (Hangzhou) (cn-hangzhou) para atualizar o modelo da stack 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** para {"ROSTemplateFormatVersion":"2015-09-01"}.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ros:CreateChangeSet |
create |
*Stack
Template
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| StackId |
string |
Não |
O ID da stack. O ROS compara as informações da stack com as alterações enviadas, como um modelo modificado ou valores de parâmetros diferentes, para gerar o conjunto de alterações. Chame ListStacks para consultar IDs de stacks. Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como UPDATE ou IMPORT. |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| StackPolicyURL |
string |
Não |
A URL do arquivo de política da stack. A URL deve apontar para uma política em um servidor web (HTTP ou HTTPS) ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Tamanho máximo do arquivo de política: 16.384 bytes. Comprimento máximo da URL: 1.350 bytes. Nota
Se você não especificar a região do bucket OSS, o valor de RegionId será usado. Quando ChangeSetType é definido como CREATE, você pode especificar apenas um dos parâmetros StackPolicyBody e StackPolicyURL. Quando ChangeSetType é definido como UPDATE, você pode especificar apenas um dos seguintes parâmetros:
|
oss://ros/stack-policy/demo |
| StackPolicyBody |
string |
Não |
A estrutura da política da stack. O corpo da política deve ter de 1 a 16.384 bytes de comprimento. Quando ChangeSetType é definido como CREATE, você pode especificar apenas um dos parâmetros StackPolicyBody e StackPolicyURL. Quando ChangeSetType é definido como UPDATE, você pode especificar apenas um dos seguintes parâmetros:
|
{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]} |
| StackName |
string |
Não |
O nome da stack. Comprimento máximo: 255 caracteres. O nome pode conter dígitos, letras, hifens (-) e underscores (_), e deve começar com um dígito ou letra. Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como CREATE ou IMPORT. |
MyStack |
| UsePreviousParameters |
boolean |
Não |
Especifica se os valores dos parâmetros usados pela última vez devem ser utilizados. Valores válidos:
Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como UPDATE ou IMPORT. |
true |
| ChangeSetType |
string |
Não |
O tipo do conjunto de alterações. Valores válidos:
Se você definir o valor de ChangeSetType como CREATE, o ROS criará uma nova stack. A stack permanecerá no estado Nota
|
UPDATE |
| Description |
string |
Não |
A descrição do conjunto de alterações. A descrição pode ter até 1.024 bytes de comprimento. |
It is a demo. |
| RegionId |
string |
Sim |
O ID da região do conjunto de alterações. Chame DescribeRegions para consultar as regiões disponíveis. |
cn-hangzhou |
| ClientToken |
string |
Não |
O token do cliente usado para garantir a idempotência da solicitação. O token deve ser único entre as solicitações e pode ter até 64 caracteres, contendo letras, dígitos, hifens (-) e underscores (_). Como garantir a idempotência. |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateURL |
string |
Não |
A URL do arquivo de modelo. A URL deve apontar para um modelo em um servidor web (HTTP ou HTTPS) ou em um bucket OSS, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. Tamanho máximo do corpo do modelo: 524.288 bytes. Nota
Se você não especificar a região do bucket OSS, o valor de RegionId será usado. Você pode especificar apenas um dos parâmetros TemplateBody, TemplateURL e TemplateId. A URL pode ter até 1.024 bytes de comprimento. |
oss://ros/template/demo |
| StackPolicyDuringUpdateURL |
string |
Não |
A URL do arquivo de política de stack temporária de substituição. A URL deve apontar para uma política em um servidor web (HTTP ou HTTPS) ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Tamanho máximo do arquivo de política: 16.384 bytes. Nota
Se você não especificar a região do bucket OSS, o valor de RegionId será usado. Comprimento máximo da URL: 1.350 bytes. Para atualizar recursos protegidos, especifique uma política de stack temporária de substituição. Se não especificada, a política de stack atual será aplicada. Este parâmetro tem efeito apenas quando ChangeSetType é definido como UPDATE. Você pode especificar apenas um dos seguintes parâmetros:
|
oss://ros/stack-policy/demo |
| TemplateBody |
string |
Não |
O corpo do modelo. Comprimento: 1 a 524.288 bytes. Para modelos grandes, use HTTP POST com um parâmetro body para evitar limites de comprimento de URL. Nota
Você pode especificar apenas um dos parâmetros TemplateBody, TemplateURL e TemplateId. |
{"ROSTemplateFormatVersion":"2015-09-01"} |
| TimeoutInMinutes |
integer |
Não |
O período de tempo limite antes que a stack entre no estado CREATE_FAILED ou UPDATE_FAILED. Obrigatório quando ChangeSetType é CREATE. Opcional quando ChangeSetType é UPDATE.
|
12 |
| DisableRollback |
boolean |
Não |
Especifica se o rollback deve ser desativado em caso de falha na criação da stack. Valores válidos:
Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como CREATE ou IMPORT. |
false |
| ChangeSetName |
string |
Sim |
O nome do conjunto de alterações. Comprimento máximo: 255 caracteres. O nome pode conter dígitos, letras, hifens (-) e underscores (_), e deve começar com um dígito ou letra. Nota
O nome do conjunto de alterações deve ser único dentro da stack. |
MyChangeSet |
| StackPolicyDuringUpdateBody |
string |
Não |
O corpo da política de stack temporária de substituição. Comprimento: 1 a 16.384 bytes. Para atualizar recursos protegidos, especifique uma política temporária de substituição. Se não especificada, a política de stack atual será aplicada. Este parâmetro tem efeito apenas quando ChangeSetType é definido como UPDATE. Você pode especificar apenas um dos seguintes parâmetros:
|
{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]} |
| RamRoleName |
string |
Não |
O nome da função RAM. O ROS assume essa função para chamar APIs de serviços da Alibaba Cloud e sempre a utiliza para todas as operações da stack. Se você não tiver as permissões necessárias, o ROS assumirá a função especificada por RamRoleName. Se não especificada, o ROS usará a função existente da stack. Se nenhuma função estiver disponível, o ROS usará uma credencial temporária da sua conta. Comprimento máximo: 64 bytes. |
test-role |
| ReplacementOption |
string |
Não |
Especifica se a atualização por substituição deve ser ativada quando uma alteração de propriedade de recurso não suporta atualizações por modificação. Uma atualização por substituição exclui o recurso existente e cria um novo com um novo ID físico. Valores válidos:
Nota
Atualizações por modificação são usadas preferencialmente. Este parâmetro tem efeito apenas quando ChangeSetType é definido como UPDATE. |
Disabled |
| TemplateId |
string |
Não |
O ID do modelo. Este parâmetro se aplica a modelos compartilhados e modelos privados. Chame ListTemplates para consultar IDs de modelos. Nota
Você pode especificar apenas um dos parâmetros TemplateBody, TemplateURL e TemplateId. |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
Não |
A versão do modelo. Nota
Este parâmetro tem efeito apenas quando TemplateId é especificado. |
v1 |
| Parameters |
array<object> |
Não |
Os parâmetros definidos no modelo. |
|
|
object |
Não |
|||
| ParameterKey |
string |
Sim |
O nome do parâmetro definido no modelo. Se você não especificar o nome e o valor de um parâmetro, o ROS usará o nome e o valor padrão especificados no modelo. O valor de N pode ser até 200. Nota
O parâmetro Parameters é opcional. Se você especificar Parameters, também deverá especificar Parameters.N.ParameterKey. |
Amount |
| ParameterValue |
string |
Sim |
O valor do parâmetro definido no modelo. O valor de N pode ser até 200. Nota
O parâmetro Parameters é opcional. Se você especificar Parameters, também deverá especificar Parameters.N.ParameterValue. |
12 |
| NotificationURLs |
array |
Não |
A lista de endereços de webhook para receber notificações de eventos da stack. |
http://my-site.com/ros-notify |
|
string |
Não |
O endereço de webhook para receber notificações de eventos da stack. Valores válidos:
Nota
Este recurso é suportado nas regiões China (Hangzhou), China (Xangai), China (Pequim), China (Hong Kong) e China (Zhangjiakou). Máximo: 5 URLs. As notificações são enviadas quando o status da stack é alterado. Com o rollback ativado, CREATE_FAILED e UPDATE_FAILED são substituídos por notificações CREATE_ROLLBACK e ROLLBACK. IN_PROGRESS não é reportado. As notificações são enviadas independentemente do parâmetro Outputs. Exemplo de notificação: |
http://example.com/ros-notify |
|
| ResourcesToImport |
array<object> |
Não |
A lista de recursos a serem importados. |
|
|
object |
Não |
|||
| ResourceIdentifier |
string |
Não |
Um mapeamento chave-valor entre strings. O valor é uma string JSON usada para identificar o recurso a ser importado. A chave é a propriedade identificadora do recurso, como o VpcId de um recurso ALIYUN::ECS::VPC. O valor é o valor da propriedade, como Chame GetTemplateSummary para consultar as propriedades identificadoras de recursos. Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como IMPORT. O parâmetro ResourcesToImport é opcional. Se você especificar ResourcesToImport, também deverá especificar ResourcesToImport.N.ResourceIdentifier. |
{"VpcId": "vpc-2zevx9ios******"} |
| LogicalResourceId |
string |
Não |
O ID lógico do recurso. O ID lógico é o nome do recurso definido no modelo. Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como IMPORT. O parâmetro ResourcesToImport é opcional. Se você especificar ResourcesToImport, também deverá especificar ResourcesToImport.N.LogicalResourceId. |
Vpc |
| ResourceType |
string |
Não |
O tipo do recurso. O tipo de recurso deve ser o mesmo que o tipo de recurso definido no modelo. Nota
Este parâmetro tem efeito apenas quando ChangeSetType é definido como IMPORT. O parâmetro ResourcesToImport é opcional. Se você especificar ResourcesToImport, também deverá especificar ResourcesToImport.N.ResourceType. |
ALIYUN::ECS::VPC |
| TemplateScratchId |
string |
Não |
O ID do cenário de recurso, que é o ID do cenário de gerenciamento de recursos. Este parâmetro tem efeito apenas quando ChangeSetType é definido como IMPORT. Este parâmetro suporta apenas a criação de novas stacks para importação de recursos. Se você deseja importar recursos em um cenário de gerenciamento de recursos, especifique apenas este parâmetro. Não especifique parâmetros relacionados a modelos. Chame ListTemplateScratches para consultar IDs de cenários. |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| Parallelism |
integer |
Não |
O número máximo de operações de recursos simultâneas. Por padrão, este valor está vazio. Uma vez definido, o valor é associado à stack e afeta operações subsequentes. Este parâmetro tem efeito apenas quando ChangeSetType é definido como CREATE ou UPDATE. Valores válidos:
|
1 |
| Tags |
array<object> |
Não |
As tags do conjunto de alterações. |
|
|
object |
Não |
As tags do conjunto de alterações. |
||
| Key |
string |
Não |
A chave da tag da stack. O valor de N pode ser de 1 a 20. Nota
|
usage |
| Value |
string |
Não |
O valor da tag da stack. O valor de N pode ser de 1 a 20. Nota
A tag é propagada para cada recurso da stack que suporta tags. Para mais informações, consulte Propagar tags. |
test |
| ResourceGroupId |
string |
Não |
O ID do grupo de recursos. Se não especificado, a stack será adicionada ao grupo de recursos padrão. O que é um grupo de recursos?. |
rg-acfmxazb4ph6aiy**** |
| TaintResources |
array |
Não |
A lista de recursos a serem marcados como sujos. |
|
|
string |
Não |
|
my_vpc |
Esta API também usa Parâmetros comuns.
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| ChangeSetId |
string |
O ID do conjunto de alterações. |
e85abe0c-6528-43fb-ae93-fdf8de22**** |
| RequestId |
string |
O ID da solicitação. |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
| StackId |
string |
O ID da stack. |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
Exemplos
Resposta de sucesso
JSON formato
{
"ChangeSetId": "e85abe0c-6528-43fb-ae93-fdf8de22****",
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"StackId": "4a6c9851-3b0f-4f5f-b4ca-a14bf691****"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.