Atualiza uma pilha.
Os valores dos parâmetros na seção Parameters variam conforme o valor especificado para o parâmetro UsePreviousParameters na solicitação. Se você não adicionar os parâmetros definidos no modelo à seção Parameters, observe o seguinte:
UsePreviousParameters definido como false: se os parâmetros do modelo tiverem valores padrão, o sistema usará esses valores. Caso contrário, especifique valores para os parâmetros do modelo na seção Parameters.
UsePreviousParameters definido como true: se você especificou valores para os parâmetros do modelo ao criar a pilha, o sistema reutilizará tais valores. Se os parâmetros foram deixados em branco durante a criação da pilha, mas possuírem valores padrão, estes serão aplicados.
Este tópico descreve como atualizar uma pilha. Neste exemplo, o corpo do modelo de uma pilha com ID 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** na região China (Beijing) é atualizado para {"ROSTemplateFormatVersion": "2015-09-01"}.
Depuração
Parâmetros de solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | UpdateStack | A operação a ser executada. Defina o valor como UpdateStack. |
| StackId | String | Sim | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | O ID da pilha. |
| ClientToken | String | Não | 123e4567-e89b-12d3-a456-42665544**** | Token de cliente usado para garantir a idempotência da solicitação. Utilize o cliente para gerar esse valor e assegure que seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter letras, dígitos, hifens (-) e sublinhados (_). Para mais informações, consulte Garantir idempotência. |
| StackPolicyDuringUpdateBody | String | Não | {"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]} | Estrutura que contém o corpo da política de substituição temporária da pilha. O corpo da política deve ter entre 1 e 16.384 bytes. Para atualizar recursos protegidos, especifique uma política de substituição temporária durante a atualização. Sem essa especificação, o sistema usará a política existente associada à pilha. Este parâmetro só tem efeito quando o parâmetro ChangeSetType estiver definido como UPDATE. Especifique apenas um dos seguintes parâmetros:
|
| TimeoutInMinutes | Long | Não | 10 | Período de tempo limite para a operação de atualização na pilha.
|
| TemplateBody | String | Não | {"ROSTemplateFormatVersion": "2015-09-01"} | Estrutura contendo o corpo do modelo. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o tamanho do corpo do modelo exceder o limite superior, recomenda-se adicionar parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| StackPolicyURL | String | Não | oss://ros-stack-policy/demo | URL do arquivo que contém a política da pilha. A URL deve apontar para uma política localizada em um servidor web HTTP ou HTTPS, ou em um bucket do Object Storage Service (OSS), como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O arquivo de política pode ter até 16.384 bytes. Caso o ID da região do bucket OSS não seja especificado, o sistema usará o valor do parâmetro RegionId. Nota Especifique apenas um dos parâmetros StackPolicyBody e StackPolicyURL. A URL pode ter até 1.350 bytes. |
| StackPolicyDuringUpdateURL | String | Não | oss://ros-stack-policy/demo | URL do arquivo que contém a política de substituição temporária da pilha. 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. O arquivo de política pode ter até 16.384 bytes. Nota Caso o ID da região do bucket OSS não seja especificado, o sistema usará o valor do parâmetro RegionId. A URL pode ter até 1.350 bytes. Para atualizar recursos protegidos, especifique uma política de substituição temporária durante a atualização. Na ausência dessa política, o sistema usará a política existente associada à pilha. Este parâmetro só tem efeito quando ChangeSetType for UPDATE. Especifique apenas um dos seguintes parâmetros:
|
| StackPolicyBody | String | Não | {"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} | Estrutura que contém o corpo da política da pilha. O corpo da política deve ter entre 1 e 16.384 bytes. Nota Especifique apenas um dos parâmetros StackPolicyBody e StackPolicyURL. |
| UsePreviousParameters | Boolean | Não | true | Define se o sistema deve usar os valores especificados na solicitação anterior para os parâmetros não informados na solicitação atual. Valores válidos:
|
| RegionId | String | Sim | cn-beijing | ID da região onde a pilha está implantada. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
| DisableRollback | Boolean | Não | false | Indica se os recursos da pilha devem ser revertidos em caso de falha na atualização. Valor padrão: false. Valores válidos:
|
| TemplateURL | String | Não | oss://ros-template/demo | URL do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado 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. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o ID da região do bucket OSS não for especificado, o sistema usará o valor do parâmetro RegionId. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| RamRoleName | String | Não | test-role | Nome da função RAM. O Resource Orchestration Service (ROS) assume a função RAM para criar a pilha e utiliza as credenciais da função para chamar as APIs dos serviços da Alibaba Cloud. O ROS assume a função RAM para executar operações na pilha. Mesmo que você tenha permissões para operar a pilha, mas não tenha permissão para usar a função RAM, o ROS ainda assumirá a função. Garanta que a função RAM receba apenas os privilégios mínimos necessários. Sem a especificação deste parâmetro, o ROS assume a função RAM existente associada à pilha. Se nenhuma função RAM estiver disponível, o ROS usa uma credencial temporária gerada a partir das credenciais da sua conta. O nome da função RAM pode ter até 64 bytes. |
| ReplacementOption | String | Não | Disabled | Define se o recurso de atualização por substituição deve ser ativado. Quando não for possível alterar propriedades do recurso, ative essa funcionalidade para substituí-las. Ao usar a atualização por substituição, o sistema exclui o recurso existente e cria um novo, com um ID físico diferente do recurso removido. Valor padrão: Disabled. Valores válidos:
Nota Alterações diretas têm prioridade sobre atualizações por substituição. |
| TemplateId | String | Não | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | ID do modelo. Aplica-se a modelos compartilhados e privados. Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL e TemplateId. |
| TemplateVersion | String | Não | v1 | Versão do modelo. Este parâmetro só tem efeito quando TemplateId for especificado. |
| Parameters.N.ParameterKey | String | Sim | Amount | Nome do parâmetro N. Se o nome e o valor de um parâmetro não forem especificados, o ROS usa o nome e o valor padrão definidos no modelo. Valor máximo de N: 200. Nota O parâmetro Parameters é opcional. Ao especificar Parameters, informe tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue. |
| Parameters.N.ParameterValue | String | Sim | 12 | Valor do parâmetro N. Valor máximo de N: 200. Nota O parâmetro Parameters é opcional. Ao especificar Parameters, informe tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue. |
| Tags.N.Key | String | Sim | usage | Chave da tag N a ser adicionada à pilha. Valores válidos de N: 1 a 20. Nota
|
| Tags.N.Value | String | Não | test | Valor da tag N a ser adicionada à pilha. Valores válidos de N: 1 a 20. Nota A tag de uma pilha é propagada para cada recurso dentro dela que suporte tags. Para mais detalhes, consulte Propagar tags. |
| Parallelism | Long | Não | 1 | Número máximo de operações simultâneas permitidas nos recursos. Por padrão, este parâmetro está vazio. Configure-o com um número inteiro maior ou igual a 0. Nota
|
| ResourceGroupId | String | Não | rg-acfmxazb4ph6aiy**** | ID do grupo de recursos. |
| DryRun | Boolean | Não | false | Define se o sistema deve realizar apenas a validação da pilha na solicitação. Valor padrão: false. Valores válidos:
Nota Quando não houver alterações durante a atualização, aplicam-se as seguintes regras: se DryRun for false, o sistema retornará o código de erro NotSupported; se DryRun for true, nenhum erro será reportado. |
Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F | ID da solicitação. |
| StackId | String | 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** | ID da pilha. |
| DryRunResult | Object | Resultado da validação. Retornado apenas se o parâmetro DryRun estiver definido como true. |
|
| ParametersAllowedToBeModified | Array of String | param1 | Parâmetros passíveis de modificação. Alterar apenas os valores desses parâmetros no modelo da pilha e usá-lo para atualização não causa erros de validação. |
| ParametersConditionallyAllowedToBeModified | Array of String | param2 | Parâmetros modificáveis sob condições específicas. A ocorrência de erros de validação depende dos novos valores atribuídos a esses parâmetros durante a atualização da pilha. |
| ParametersUncertainlyAllowedToBeModified | Array of String | param3 | Parâmetros cuja modificação possui condições incertas. Erros de validação dependem do ambiente de execução real ao atualizar a pilha com novos valores. |
| ParametersNotAllowedToBeModified | Array of String | param4 | Parâmetros que não podem ser modificados. Tentar alterar seus valores no modelo e atualizar a pilha resultará em erros de validação. |
| ParametersCauseInterruptionIfModified | Array of String | param1 | Parâmetros cujas alterações causam interrupção de serviço. Modificar seus valores no modelo e atualizar a pilha provocará interrupções. Nota
|
| ParametersConditionallyCauseInterruptionIfModified | Array of String | param2 | Parâmetros que causam interrupção de serviço sob certas condições. A ocorrência de interrupções depende dos novos valores e do tipo de atualização aplicada à pilha. Nota
|
| ParametersUncertainlyCauseInterruptionIfModified | Array of String | param3 | Parâmetros cujas alterações podem causar interrupções dependendo de condições incertas. O ambiente de execução real determina se haverá interrupção ao atualizar a pilha. Nota
|
Exemplos
Exemplos de solicitações
https://ros.aliyuncs.com/?Action=UpdateStack
&RegionId=cn-beijing
&StackId=4a6c9851-3b0f-4f5f-b4ca-a14bf691****
&TemplateBody={"ROSTemplateFormatVersion": "2015-09-01"}
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<UpdateStackResponse>
<StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</UpdateStackResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"StackId" : "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
"RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F"
}
Códigos de erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
400 |
CircularDependency |
Circular Dependency Found: {reason}. |
Retorna este erro quando o modelo contém dependências circulares. reason indica a causa do erro. |
|
400 |
InvalidSchema |
{reason}. |
Indica formato inválido no modelo. reason detalha a causa do erro. |
|
400 |
InvalidTemplateAttribute |
The Referenced Attribute ({resource} {name}) is incorrect. |
Ocorre quando uma propriedade de recurso referenciada na seção Outputs do modelo é inválida. resource é o nome do recurso e name é o nome da propriedade. |
|
400 |
InvalidTemplatePropertyType |
The specified value type of ({resource} {section}) is incorrect. |
Sinaliza tipo inválido para uma propriedade de recurso definida em uma seção do modelo. resource indica o nome do recurso e section o nome da seção. |
|
400 |
InvalidTemplateReference |
The specified reference "{name}" (in {referencer}) is incorrect. |
Aponta uma referência inválida no modelo. name é o nome da referência e referencer identifica onde ela foi usada. |
|
400 |
InvalidTemplateSection |
The template section is invalid: {section}. |
Identifica uma seção inválida no modelo. section especifica o nome da seção problemática. |
|
400 |
InvalidTemplateVersion |
The template version is invalid: {reason}. |
Versão do modelo inválida. reason explica o motivo do erro. |
|
400 |
StackPolicyValidationFailed |
Action denied by stack policy: {reason}. |
Falha na validação da atualização devido à política da pilha. reason descreve a causa da negação. |
|
400 |
StackValidationFailed |
{reason}. |
Erro durante a validação da pilha. reason fornece detalhes sobre a falha. |
|
400 |
UnknownUserParameter |
The Parameter ({name}) was not defined in template. |
Parâmetro especificado não existe no modelo. name corresponde ao nome do parâmetro desconhecido. |
|
400 |
UserParameterMissing |
The Parameter {name} was not provided. |
Falta valor para um parâmetro definido no modelo. name indica qual parâmetro está ausente. |
|
404 |
StackNotFound |
The Stack ({name}) could not be found. |
Pilha inexistente. name representa o nome ou ID da pilha procurada. |
|
409 |
ActionInProgress |
Stack {name} already has an action ({action}) in progress. |
A pilha já está passando por uma alteração. name é o nome ou ID da pilha e action descreve a operação em andamento. |
|
404 |
TemplateNotFound |
The Tempalte ({ ID }) could not be found. |
Modelo não encontrado. ID refere-se ao identificador do modelo. |
|
404 |
TemplateNotFound |
The Template { ID } with version { version } could not be found. |
Modelo ou versão específica inexistente. ID identifica o modelo e version indica a versão buscada. |