Todos os produtos
Search
Central de documentação

Resource Orchestration Service:CreateStack

Última atualização: Jul 04, 2026

Cria uma stack a partir de um modelo ROS para implantar um grupo de recursos.

Descrição da operação

Uma stack é a unidade de gerenciamento para recursos ROS (Visão geral). Limites:

  • Cada conta Alibaba Cloud pode criar até 200 stacks.

  • Cada stack pode conter até 200 recursos.

O exemplo a seguir cria uma stack chamada MyStack na região China (Hangzhou) com TemplateBody definido como {"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:CreateStack

create

*Stack

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

Template

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

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

DisableRollback

boolean

Não

Especifica se o rollback deve ser desativado quando a criação da stack falhar.

Valores válidos:

  • true: desativa o rollback.

  • false (padrão): ativa o rollback.

false

TemplateBody

string

Não

O corpo do modelo. Comprimento: 1 a 524.288 bytes. Use HTTP POST com parâmetros Body para conteúdo grande, a fim de evitar limites de comprimento de URL.

Nota

Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.

{"ROSTemplateFormatVersion":"2015-09-01"}

StackPolicyURL

string

Não

A URL do arquivo de política da stack. Suporta URLs HTTP, HTTPS e OSS (por exemplo, oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou). Tamanho máximo do arquivo: 16.384 bytes. Se nenhuma região OSS for especificada, o valor de RegionId será usado.

Nota

Você pode especificar apenas um dos seguintes parâmetros: StackPolicyBody ou StackPolicyURL.

Comprimento máximo da URL: 1.350 bytes.

oss://ros-stack-policy/demo

TimeoutInMinutes

integer

Não

O tempo limite de criação da stack. Unidade: minutos.

  • Valor padrão: 60.

  • Valores válidos: 10 a 1440.

10

StackPolicyBody

string

Não

O corpo da política da stack. Comprimento: 1 a 16.384 bytes.

Nota

Você pode especificar apenas um dos seguintes parâmetros: StackPolicyBody ou StackPolicyURL.

{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

StackName

string

Sim

O nome da stack. Comprimento máximo: 255 caracteres. Deve começar com uma letra e pode conter letras, dígitos, hifens (-) e underscores (_).

MyStack

RegionId

string

Sim

O ID da região da stack. Chame DescribeRegions para consultar as regiões disponíveis.

cn-hangzhou

ClientToken

string

Não

Garante a idempotência da solicitação. Deve ser gerado pelo cliente e globalmente único. Comprimento máximo: 64 caracteres. Pode conter 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. Suporta URLs HTTP, HTTPS e OSS (por exemplo, oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou). Tamanho máximo do modelo: 524.288 bytes. Se nenhuma região OSS for especificada, o valor de RegionId será usado.

Nota

Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.

oss://ros-template/demo

RamRoleName

string

Não

O nome da role RAM. O ROS assume essa role para todas as chamadas de API da stack, mesmo quando o usuário possui permissões diretas, garantindo acesso com privilégio mínimo. Usar uma role de stack.

Se não especificado, o ROS usa a role associada à stack ou uma credencial temporária da sua conta, caso nenhuma role exista.

Comprimento máximo: 64 caracteres.

test-role

DeletionProtection

string

Não

Especifica se a proteção contra exclusão deve ser ativada na stack. Valores válidos:

  • Enabled: ativa a proteção contra exclusão.

  • Disabled (padrão): permite a exclusão da stack pelo console ROS ou pela API DeleteStack.

Nota

A proteção contra exclusão de uma stack aninhada é a mesma da sua stack raiz.

Enabled

CreateOption

string

Não

O comportamento pós-criação da stack. Valores válidos:

  • KeepStackOnCreationComplete (padrão): mantém a stack e os recursos após a criação. Conta para a cota de stacks.

  • AbandonStackOnCreationComplete: exclui a stack, mas mantém os recursos após a criação. Não conta para a cota de stacks. A stack é mantida se a criação falhar.

  • AbandonStackOnCreationRollbackComplete: exclui a stack após um rollback de criação. Não conta para a cota de stacks. A stack é mantida em outros cenários de rollback.

  • ManuallyPay: requer pagamento manual para recursos de assinatura durante a criação da stack. Tipos de recursos suportados: ALIYUN::ECS::InstanceGroup, ALIYUN::RDS::DBInstance, ALIYUN::SLB::LoadBalancer, ALIYUN::VPC::EIP e ALIYUN::VPC::VpnGateway.

  • RetryOnNoStock: tenta automaticamente recriar o recurso quando o inventário é insuficiente. Tipo de recurso suportado: ALIYUN::RDS::DBInstance.

Nota

Você pode especificar apenas um dos seguintes parâmetros: CreateOption ou CreateOptions.

KeepStackOnCreationComplete

CreateOptions

array

Não

As opções de criação da stack.

string

Não

Opção de criação N. Valores válidos:

  • KeepStackOnCreationComplete (padrão): mantém a stack e os recursos após a criação. Conta para a cota de stacks.

  • AbandonStackOnCreationComplete: exclui a stack, mas mantém os recursos após a criação. Não conta para a cota de stacks. A stack é mantida se a criação falhar.

  • AbandonStackOnCreationRollbackComplete: exclui a stack após um rollback de criação. Não conta para a cota de stacks. A stack é mantida em outros cenários de rollback.

  • ManuallyPay: requer pagamento manual para recursos de assinatura durante a criação da stack. Tipos de recursos suportados: ALIYUN::ECS::InstanceGroup, ALIYUN::RDS::DBInstance, ALIYUN::SLB::LoadBalancer, ALIYUN::VPC::EIP e ALIYUN::VPC::VpnGateway.

  • RetryOnNoStock: tenta automaticamente recriar o recurso quando o inventário é insuficiente. Tipo de recurso suportado: ALIYUN::RDS::DBInstance.

Nota
  • Você pode especificar apenas um dos seguintes parâmetros: CreateOption ou CreateOptions.

  • As opções de criação não podem ser repetidas. A opção KeepStackOnCreationComplete é mutuamente exclusiva com as opções AbandonStackOnCreationComplete e AbandonStackOnCreationRollbackComplete.

  • O valor máximo de N é 4.

KeepStackOnCreationComplete

TemplateId

string

Não

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

Nota

Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

Não

A versão do modelo. Este parâmetro entra em vigor somente quando você especifica TemplateId.

v1

Parameters

array<object>

Não

Os parâmetros definidos no modelo.

object

Não

ParameterKey

string

Sim

O 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 valor padrão do modelo.

O valor máximo de N é 200. O nome deve ter de 1 a 128 caracteres e não pode começar com aliyun ou acs:. O nome não pode conter http:// ou https://.

Nota

Parameters é um parâmetro opcional. Para especificar Parameters, você deve especificar tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.

InstanceId

ParameterValue

string

Sim

O valor do parâmetro N definido no modelo.

O valor máximo de N é 200. O valor deve ter de 0 a 128 caracteres e não pode começar com aliyun ou acs:. O valor não pode conter http:// ou https://.

Nota

Parameters é um parâmetro opcional. Para especificar Parameters, você deve especificar tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.

i-xxxxxx

NotificationURLs

array

Não

A URL de callback para eventos da stack. Valores válidos:

  • URL HTTP POST. Comprimento máximo: 1.024 bytes.

  • O EventBridge recebe notificações de alteração de status da stack. Visualize os eventos no console do EventBridge.

Nota

Regiões suportadas: China (Hangzhou), China (Xangai), China (Pequim), China (Hong Kong) e China (Zhangjiakou).

Valor máximo de N: 5. O ROS envia notificações sobre alterações de status da stack, exceto para eventos IN_PROGRESS. Com o rollback ativado, os eventos CREATE_ROLLBACK e ROLLBACK substituem as notificações CREATE_FAILED e UPDATE_FAILED. As notificações sempre incluem 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://my-site.com/ros-event

string

Não

A URL de callback para o evento de stack N. Valores válidos:

  • URL HTTP POST. Comprimento máximo: 1.024 bytes.

  • O EventBridge recebe notificações de alteração de status da stack. Visualize os eventos no console do EventBridge.

Nota

Regiões suportadas: China (Hangzhou), China (Xangai), China (Pequim), China (Hong Kong) e China (Zhangjiakou).

Valor máximo de N: 5. O ROS envia notificações sobre alterações de status da stack, exceto para eventos IN_PROGRESS. Com o rollback ativado, os eventos CREATE_ROLLBACK e ROLLBACK substituem as notificações CREATE_FAILED e UPDATE_FAILED. As notificações sempre incluem 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-event

Tags

array<object>

Não

As tags da stack.

object

Não

Key

string

Sim

A chave da tag N da stack.

Valores válidos: 1 a 20.

Nota
  • Tags é um parâmetro opcional. Para especificar Tags, você deve especificar Tags.N.Key.

  • As tags da stack são propagadas para cada recurso que suporta tags. Propagação de tags.

usage

Value

string

Não

O valor da tag N da stack.

Valores válidos: 1 a 20.

Nota

As tags da stack são propagadas para recursos que suportam tags. Propagação de 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****

Parallelism

integer

Não

O número máximo de operações simultâneas em recursos.

Padrão: vazio. Aceita números inteiros maiores ou iguais a 0.

Nota
  • Se maior que 0, o valor especificado será usado. Se 0 ou vazio, nenhum limite se aplica a stacks ROS; stacks Terraform usam o padrão do Terraform (normalmente 10).

  • O valor especificado persiste com a stack e afeta operações subsequentes, como atualizações.

1

TemplateScratchId

string

Não

O ID do cenário de recursos.

Chame ListTemplateScratches para consultar os IDs de cenários de recursos.

Nota

Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId ou TemplateScratchId.

ts-aa9c62feab844a6b****

TemplateScratchRegionId

string

Não

O ID da região do cenário de recursos. Valor padrão: o valor de RegionId.

Chame DescribeRegions para consultar as regiões disponíveis.

cn-hangzhou

Esta operação usa Parâmetros comuns.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

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

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