Todos os produtos
Search
Central de documentação

:CreateStack

Última atualização: Jun 27, 2026

Cria uma stack.

Uma stack é um conjunto de recursos do Resource Orchestration Service (ROS) gerenciável como uma única unidade. Para criar um conjunto de recursos, crie uma stack. Para obter mais informações sobre stacks, consulte Visão geral.

Ao chamar esta operação, observe os seguintes limites:

  • É possível criar até 200 stacks em uma conta Alibaba Cloud.

  • Cada stack admite no máximo 200 recursos.

Este tópico apresenta um exemplo de criação de uma stack chamada MyStack na região China (Hangzhou). O corpo do modelo da stack é {"ROSTemplateFormatVersion":"2015-09-01"}.

Depuração

O OpenAPI Explorer calcula automaticamente o valor da assinatura. Recomendamos chamar esta operação no OpenAPI Explorer para maior conveniência. A ferramenta gera dinamicamente códigos de exemplo da operação para diferentes SDKs.

Parâmetros de solicitação

ParâmetroTipoObrigatórioExemploDescrição
ActionStringSimCreateStack

Operação a executar. Defina o valor como CreateStack.

DisableRollbackBooleanNãofalse

Define se a reversão dos recursos deve ser desativada caso a criação da stack falhe.

Valor padrão: false. Valores válidos:

  • true
  • false
TemplateBodyStringNão{"ROSTemplateFormatVersion":"2015-09-01"}

Estrutura que contém o corpo do modelo. O corpo do modelo deve ter entre 1 e 524.288 bytes. Se o tamanho exceder o limite superior, recomendamos 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, TemplateId ou TemplateScratchId.
StackPolicyURLStringNãooss://ros-stack-policy/demo

URL do arquivo que contém a política da stack. A URL deve apontar para uma política localizada em um servidor web HTTP/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 você não especifique o ID da região do bucket OSS, o sistema usará o valor do parâmetro RegionId.

Nota Especifique apenas um dos parâmetros StackPolicyBody ou StackPolicyURL.

A URL pode ter até 1.350 bytes.

TimeoutInMinutesLongNão10

Tempo limite permitido para criar a stack.

  • Valor padrão: 60.
  • Unidade: minutos.
  • Valores válidos: 10 a 1440.
StackPolicyBodyStringNão{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

Estrutura que contém o corpo da política da stack. O corpo da política deve ter entre 1 e 16.384 bytes.

Nota Especifique apenas um dos parâmetros StackPolicyBody ou StackPolicyURL.
StackNameStringSimMyStack

Nome da stack.

O nome pode ter até 255 caracteres e conter dígitos, letras, hifens (-) e sublinhados (_). Deve começar com uma letra.

RegionIdStringSimcn-hangzhou

ID da região da stack. Chame a operação DescribeRegions para consultar a lista de regiões mais recente.

ClientTokenStringNão123e4567-e89b-12d3-a456-42665544****

Token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o valor, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode ter até 64 caracteres e conter letras, dígitos, hifens (-) e sublinhados (_).

Para obter mais informações, consulte Garantir idempotência.

TemplateURLStringNãooss://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/HTTPS ou em um bucket OSS, como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O corpo do modelo pode ter até 524.288 bytes. Caso você não especifique o ID da região do bucket OSS, o sistema usará o valor do parâmetro RegionId.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
RamRoleNameStringNãotest-role

Nome da função RAM. O ROS assume a função RAM para criar a stack e usa as credenciais da função para chamar as APIs dos serviços Alibaba Cloud.

O ROS assume a função RAM para executar operações na stack. Mesmo que você tenha permissões para operar na stack, mas não tenha permissão para usar a função RAM, o ROS ainda assumirá essa função. Certifique-se de conceder apenas os privilégios mínimos necessários à função RAM.

Se você não especificar este parâmetro, o ROS assumirá a função existente associada à stack. Se nenhuma função estiver disponível, o ROS usará uma credencial temporária gerada a partir das credenciais da sua conta.

O nome pode ter até 64 caracteres.

DeletionProtectionStringNãoEnabled

Define se a proteção contra exclusão deve ser ativada para a stack. Valor padrão: Disabled. Valores válidos:

  • Enabled: ativa a proteção contra exclusão.
  • Disabled: desativa a proteção contra exclusão. É possível excluir a stack pelo console ROS ou chamando a operação DeleteStack.
Nota O parâmetro DeletionProtection definido para a stack raiz aplica-se também às suas stacks aninhadas.
CreateOptionStringNãoKeepStackOnCreationComplete

Opção para a stack após a criação. Valor padrão: KeepStackOnCreationComplete. Valores válidos:

  • KeepStackOnCreationComplete: mantém a stack e seus recursos após a criação. Nesse caso, sua cota de stacks no ROS é consumida.
  • AbandonStackOnCreationComplete: exclui a stack, mas mantém seus recursos após a criação. Nesse caso, sua cota de stacks no ROS não é consumida. Se a criação da stack falhar, a stack será mantida.
  • AbandonStackOnCreationRollbackComplete: exclui a stack quando seus recursos são revertidos após uma falha na criação. Nesse caso, sua cota de stacks no ROS não é consumida. Em outros cenários de reversão, a stack é mantida.
TemplateIdStringNão5ecd1e10-b0e9-4389-a565-e4c15efc****

ID do modelo. Este parâmetro aplica-se a modelos compartilhados e privados.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
TemplateVersionStringNãov1

Versão do modelo. Este parâmetro só tem efeito quando o parâmetro TemplateId é especificado.

Parameters.N.ParameterKeyStringSimInstanceId

Nome do parâmetro N 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 do modelo.

Valor máximo de N: 200.

O nome deve ter entre 1 e 128 caracteres e não pode conter http:// ou https://. O nome não pode começar com aliyun ou acs:.

Nota O parâmetro Parameters é opcional. Se você especificar Parameters, deverá definir tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.
Parameters.N.ParameterValueStringSimi-xxxxxx

Valor do parâmetro N definido no modelo.

Valor máximo de N: 200.

O valor pode ter até 128 caracteres e não pode conter http:// ou https://. O valor não pode começar com aliyun ou acs:.

Nota O parâmetro Parameters é opcional. Se você especificar Parameters, deverá definir tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.
NotificationURLs.NStringNãohttp://example.com/ros-event

URL de callback usada para receber o evento N da stack. Valores válidos:

  • URL HTTP POST

    Cada URL pode ter até 1.024 bytes.

  • eventbridge

    Quando o status de uma stack muda, o ROS envia uma notificação de evento para o serviço EventBridge. Visualize as informações do evento no console EventBridge.
    Nota O ROS oferece suporte ao serviço EventBridge nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong) e China (Zhangjiakou).

Valor máximo de N: 5. Quando o status de uma stack muda, o ROS envia uma notificação de evento para a URL especificada. Quando a reversão está ativada para a stack, as notificações de evento são enviadas se a stack estiver no estado CREATE_ROLLBACK ou ROLLBACK, mas não são enviadas se a stack estiver no estado CREATE_FAILED, UPDATE_FAILED ou IN_PROGRESS.

O ROS envia notificações de evento independentemente da configuração da seção Outputs. O código de exemplo a seguir mostra o conteúdo de uma notificação de evento:


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

Chave da tag N a ser adicionada à stack.

Valores válidos de N: 1 a 20.

Nota
  • O parâmetro Tags é opcional. Se você especificar o parâmetro Tags, deverá definir o parâmetro Tags.N.Key.
  • A tag de uma stack é propagada para cada recurso da stack compatível com tags. Para obter mais informações, consulte Propagar tags.
Tags.N.ValueStringNãotest

Valor da tag N a ser adicionada à stack.

Valores válidos de N: 1 a 20.

Nota A tag de uma stack é propagada para cada recurso da stack compatível com tags. Para obter mais informações, consulte Propagar tags.
ResourceGroupIdStringNãorg-acfmxazb4ph6aiy****

ID do grupo de recursos. Se você não especificar este parâmetro, a stack será adicionada ao grupo de recursos padrão.

Para obter mais informações sobre grupos de recursos, consulte a seção "Grupo de Recursos" do tópico O que é o Resource Management?.

ParallelismLongNão1

Número máximo de operações simultâneas executáveis nos recursos.

Por padrão, este parâmetro está vazio. Defina-o como um número inteiro maior ou igual a 0.

Nota
  • Se você definir este parâmetro como um número inteiro maior que 0, esse valor será usado. Se definir como 0 ou deixar vazio, nenhum limite será imposto às stacks do ROS. No entanto, para stacks Terraform, o valor padrão do Terraform será utilizado. Geralmente, o valor padrão no Terraform é 10.
  • Se você definir este parâmetro com um valor específico, o ROS associará esse valor à stack. O valor afetará operações subsequentes na stack, como atualizações.
TemplateScratchIdStringNãots-aa9c62feab844a6b****

ID do cenário.

Para obter mais informações sobre como consultar os IDs dos cenários, consulte ListTemplateScratches.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.
TemplateScratchRegionIdStringNãocn-hangzhou

ID da região do cenário. O valor padrão é igual ao valor do parâmetro RegionId.

Chame a operação DescribeRegions para consultar a lista de regiões mais recente.

Para obter 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 stack.

Exemplos

Exemplos de solicitações

http(s)://ros.aliyuncs.com/?Action=CreateStack
&StackName=MyStack
&RegionId=cn-hangzhou
&Parameters=[{"ParameterKey":"InstanceId","ParameterValue":"i-xxxxxx"}]
&Tags=[{"Key":"usage"}]
&<Common request parameters>

Exemplos de respostas de sucesso

Formato XML

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateStackResponse>
        <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
        <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</CreateStackResponse>

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 erro

Mensagem de erro

Código de status HTTPS

Descrição

CircularDependency

Circular Dependency Found: {reason}.

400

Mensagem de erro retornada porque o modelo contém dependências circulares. reason indica a causa do erro.

InvalidSchema

{reason}.

400

Mensagem de erro retornada porque o formato do modelo é inválido. reason indica a causa do erro.

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

400

Mensagem de erro retornada porque a propriedade do recurso referenciada na seção Outputs do modelo é inválida. resource indica o nome do recurso. name indica o nome da propriedade.

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

400

Mensagem de erro retornada porque o tipo da propriedade do recurso definida em uma seção do modelo é inválido. resource indica o nome do recurso. section indica o nome da seção.

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

400

Mensagem de erro retornada porque o modelo contém uma referência inválida. name indica o nome da referência. referencer indica o nome do referenciador.

InvalidTemplateSection

The template section is invalid: {section}.

400

Mensagem de erro retornada porque o modelo contém uma seção inválida. section indica o nome da seção.

InvalidTemplateVersion

The template version is invalid: {reason}.

400

Mensagem de erro retornada porque a versão do modelo é inválida. reason indica a causa do erro.

StackValidationFailed

{reason}.

400

Mensagem de erro retornada porque a validação da stack falhou. reason indica a causa do erro.

UnknownUserParameter

The Parameter ({name}) was not defined in template.

400

Mensagem de erro retornada porque o parâmetro especificado não está definido no modelo. name indica o nome do parâmetro.

UserParameterMissing

The Parameter {name} was not provided.

400

Mensagem de erro retornada porque nenhum valor foi especificado para o parâmetro definido no modelo. name indica o nome do parâmetro.

ActionInProgress

Stack {name} already has an action ({action}) in progress.

409

Mensagem de erro retornada porque a stack está sendo alterada. name indica o nome ou ID da stack. action indica a operação de alteração.

StackExists

The Stack ({name}) already exists.

409

Mensagem de erro retornada porque já existe uma stack com o mesmo nome. name indica o nome da stack.

TemplateNotFound

The Template ({ ID }) could not be found.

404

Mensagem de erro retornada porque o modelo especificado não existe. ID indica o ID do modelo.

TemplateNotFound

The Template { ID } with version { version } could not be found.

404

Mensagem de erro retornada porque o modelo ou a versão do modelo especificada não existe. ID indica o ID do modelo. version indica a versão do modelo.