Todos os produtos
Search
Central de documentação

Resource Orchestration Service:CreateChangeSet

Última atualização: Jul 04, 2026

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

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:CreateChangeSet

create

*Stack

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

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

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:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

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:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

{"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:

  • true

  • false (padrão)

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:

  • CREATE: cria um conjunto de alterações para uma nova stack.

  • UPDATE (padrão): cria um conjunto de alterações para uma stack existente.

  • IMPORT: cria um conjunto de alterações para uma nova stack ou uma stack existente para importar recursos que não são gerenciados pelo ROS.

Se você definir o valor de ChangeSetType como CREATE, o ROS criará uma nova stack. A stack permanecerá no estado REVIEW_IN_PROGRESS até que você execute o conjunto de alterações.

Nota
  • Você não pode usar o tipo UPDATE para criar um conjunto de alterações para uma nova stack ou o tipo CREATE para criar um conjunto de alterações para uma stack existente.

  • Você não pode definir uma política de stack para um conjunto de alterações do tipo IMPORT. Você pode definir uma política de stack ao criar ou atualizar uma stack.

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:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

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.

  • Unidade: minutos.

  • Valores válidos: 10 a 1440.

  • Valor padrão: 60.

12

DisableRollback

boolean

Não

Especifica se o rollback deve ser desativado em caso de falha na criação da stack. Valores válidos:

  • true: desativa o rollback em caso de falha na criação.

  • false (padrão): ativa o rollback em caso de falha na criação.

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:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

{"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.

Funções de stack.

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:

  • Enabled: ativa a atualização por substituição.

  • Disabled (padrão): desativa a atualização por substituição.

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:

  • HTTP POST URL Cada URL pode ter até 1.024 bytes de comprimento.

  • eventbridge As alterações de status da stack são enviadas ao serviço EventBridge. Você pode fazer login no console do EventBridge e clicar em Event Buses no painel de navegação à esquerda para visualizar informações de eventos.

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:

{
   "Outputs": [
       {
           "Description": "No description given",
           "OutputKey": "InstanceId",
           "OutputValue": "i-xxx"
       }
   ],
   "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",
   "StackName": "test-notification-url",
   "Status": "CREATE_COMPLETE"
}

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 vpc-2zevx9ios****.

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:

  • Se ChangeSetType for definido como CREATE

    • Se você definir este parâmetro como um inteiro maior que 0, o inteiro será usado.

    • Se você definir este parâmetro como 0 ou não definir este parâmetro, nenhum limite será imposto para stacks ROS. Para stacks Terraform, o valor padrão do Terraform será usado, que é 10.

  • Se ChangeSetType for definido como UPDATE

    • Se você definir este parâmetro como um inteiro maior que 0, o inteiro será usado.

    • Se você definir este parâmetro como 0, nenhum limite será imposto para stacks ROS. Para stacks Terraform, o valor padrão do Terraform será usado, que é 10.

    • Se você não definir este parâmetro, o valor especificado na operação anterior será usado. Se você não definiu este parâmetro na operação anterior, nenhum limite será imposto para stacks ROS. Para stacks Terraform, o valor padrão do Terraform será usado, que é 10.

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
  • O parâmetro Tags é opcional. Se você especificar Tags, também deverá especificar Tags.N.Key.

  • A tag é propagada para cada recurso da stack que suporta tags. Propagar tags.

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

  • Para stacks ROS, o valor é o nome do recurso, como my_vpc.

  • Para stacks Terraform, o valor é o tipo do recurso e o nome do recurso, como alicloud_vpc.my_vpc

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.