Todos os produtos
Search
Central de documentação

Resource Orchestration Service:UpdateStackTemplateByResources

Última atualização: Jul 04, 2026

Elimina desvios de stack realizando detecção de desvio.

Descrição da operação

Limites: Você pode eliminar desvios apenas em stacks que apresentaram desvio. Você deve chamar a operação DetectStackDrift para realizar a detecção de desvio em um stack, chamar a operação GetStackDriftDetectionStatus para consultar o status de desvio do stack e confirmar que o stack apresentou desvio, e então chamar a operação UpdateStackTemplateByResources para eliminar o desvio.

Neste tópico, o desvio é eliminado para um stack cujo ID é 4a6c9851-3b0f-4f5f-b4ca-a14bf691****. O stack está implantado na região China (Hangzhou).

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

ros:UpdateStackTemplateByResources

update

*stack

acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

Nenhuma Nenhuma

Sintaxe da solicitação

POST /V2/UpdateStackTemplateByResources HTTP/1.1

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

StackId

string

Sim

O ID do stack.

4a6c9851-3b0f-4f5f-b4ca-a14bf691****

DryRun

boolean

Não

Especifica se deve apenas visualizar o modelo corrigido nesta solicitação. Valor padrão: false. Valores válidos:

  • true: retorna o conteúdo do modelo corrigido e não corrige o modelo. Após o Resource Orchestration Service (ROS) comparar o modelo corrigido com o modelo original, o ROS determina se deve executar a correção.

  • false: corrige o modelo para eliminar o desvio.

Nota

Recomendamos que você defina o parâmetro DryRun como true para visualizar o modelo corrigido. Se o conteúdo do modelo atender às expectativas, defina o parâmetro DryRun como false para executar a correção.

false

RegionId

string

Sim

O ID da região do stack. Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente.

cn-hangzhou

ClientToken

string

Não

O token do cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o valor, mas deve garantir que ele seja único entre diferentes solicitações.

O token pode ter até 64 caracteres e pode conter letras, dígitos, hifens (-) e underscores (_).

Para mais informações, consulte Como garantir a idempotência.

123e4567-e89b-12d3-a456-42665544****

TemplateFormat

string

Não

O formato do modelo retornado. Valor padrão: JSON. Valores válidos:

  • JSON

  • YAML

JSON

LogicalResourceId

array

Não

O ID lógico do recurso.

Vpc

string

Não

O ID lógico do recurso N, usado para filtrar recursos. A correção do modelo tem efeito apenas para os recursos na lista. Por padrão, todos os recursos que apresentaram desvio são corrigidos.

Se a lista de recursos corrigidos contiver recursos no estado DELETED, o ROS poderá ajustar os recursos que não estão na lista, mas que referenciam os recursos excluídos na lista, para garantir a correção do novo modelo.

WebServer

Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

RequestId

string

O ID da solicitação.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

NewTemplateBody

string

O conteúdo do modelo após a correção.

{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test2\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}}

OldTemplateBody

string

O conteúdo do modelo antes da correção.

{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"Vpc\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"test\", \"CidrBlock\": \"192.168.0.0/16\", \"Description\": \"test1\"}}}, \"Outputs\": {\"VpcId\": {\"Value\": {\"Fn::GetAtt\": [\"Vpc\", \"VpcId\"]}}}}

Código de status HTTPCódigo de erroMensagem de erroDescrição
400StackDriftDetectionNotAvailableThere is no complete drift detection for stack ({ID}).A mensagem de erro retornada porque nenhuma detecção de desvio foi concluída no stack. ID indica o ID do stack.
400StackAlreadyInSyncThis is not need to correct stack drifts, stack ({ID}) is already in sync.A mensagem de erro retornada porque não existe desvio e a correção do modelo não é necessária. ID indica o ID do stack.
400CorrectStackDriftsFailure{reason}A mensagem de erro retornada porque o stack não pode ser corrigido. reason indica o motivo específico.
404StackNotFoundThe Stack ({name}) could not be found.A mensagem de erro retornada porque o stack especificado não existe. name indica o nome ou ID do stack.
404ResourceNotFoundThe Resource ({name}) could not be found in Stack {stack}.A mensagem de erro retornada porque o recurso especificado não existe no stack especificado. name indica o nome do recurso, e stack indica o nome ou ID do stack.

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "NewTemplateBody": "{\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\", \\\"Resources\\\": {\\\"Vpc\\\": {\\\"Type\\\": \\\"ALIYUN::ECS::VPC\\\", \\\"Properties\\\": {\\\"VpcName\\\": \\\"test\\\", \\\"CidrBlock\\\": \\\"192.168.0.0/16\\\", \\\"Description\\\": \\\"test2\\\"}}}, \\\"Outputs\\\": {\\\"VpcId\\\": {\\\"Value\\\": {\\\"Fn::GetAtt\\\": [\\\"Vpc\\\", \\\"VpcId\\\"]}}}}",
  "OldTemplateBody": "{\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\", \\\"Resources\\\": {\\\"Vpc\\\": {\\\"Type\\\": \\\"ALIYUN::ECS::VPC\\\", \\\"Properties\\\": {\\\"VpcName\\\": \\\"test\\\", \\\"CidrBlock\\\": \\\"192.168.0.0/16\\\", \\\"Description\\\": \\\"test1\\\"}}}, \\\"Outputs\\\": {\\\"VpcId\\\": {\\\"Value\\\": {\\\"Fn::GetAtt\\\": [\\\"Vpc\\\", \\\"VpcId\\\"]}}}}"
}

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.