Todos os produtos
Search
Central de documentação

Resource Orchestration Service:PreviewStack

Última atualização: Jul 04, 2026

Visualiza as informações sobre uma stack que você deseja criar ou atualizar com base em um modelo. Você pode chamar esta operação para verificar se os recursos do modelo são válidos.

Descrição da operação

Neste exemplo, uma stack chamada MyStack é criada na região China (Hangzhou) e visualizada. O parâmetro TemplateBody da stack é 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:PreviewStack

get

*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

DisableRollback

boolean

Não

Especifica se o rollback dos recursos deve ser desativado quando a criação da stack falhar. Valores válidos:

  • true

  • false (padrão)

false

TimeoutInMinutes

integer

Não

O período de tempo limite para a criação da stack.

Unidade: minutos.

Valor padrão: 60.

60

TemplateBody

string

Não

A estrutura que contém o corpo do modelo. O corpo do modelo deve ter de 1 a 524.288 bytes de comprimento. Se o comprimento do corpo do modelo exceder o limite superior, recomendamos que você adicione parâmetros ao corpo da solicitação HTTP POST para evitar falhas de solicitação causadas por URLs excessivamente longas.

Nota

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

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

StackPolicyURL

string

Não

A 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 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 de comprimento. Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado.

Nota

Você pode especificar apenas um entre StackPolicyBody e StackPolicyURL.

A URL pode ter até 1.350 bytes de comprimento.

oss://ros-stack-policy/demo

RegionId

string

Sim

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

cn-hangzhou

StackPolicyBody

string

Não

A estrutura que contém o corpo da política da stack. O corpo da política da stack deve ter de 1 a 16.384 bytes de comprimento.

Nota

Você pode especificar apenas um entre StackPolicyBody e StackPolicyURL.

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

StackName

string

Não

O nome da stack. Você pode usar este parâmetro para visualizar a stack que deseja criar. O nome pode ter até 255 caracteres de comprimento e pode conter dígitos, letras, hifens (-) e underscores (_). Deve começar com um dígito ou letra.

Nota

Você deve especificar apenas um entre StackName e StackId.

MyStack

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 token, mas deve garantir que o token seja único entre diferentes solicitações. O token pode ter até 64 caracteres de comprimento e pode conter letras, dígitos, underscores (_) e hifens (-). Para mais informações, consulte Garantir idempotência.

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

TemplateURL

string

Não

A 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 pode ter até 524.288 bytes de comprimento. Se você não especificar o ID da região do bucket OSS, o valor de RegionId será usado.

Nota

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

oss://ros-template/demo

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 e TemplateScratchId.

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

TemplateVersion

string

Não

A versão do modelo. Este parâmetro entra em vigor somente quando TemplateId é especificado.

v1

Parameters

array<object>

Não

Os parâmetros da stack.

object

Não

ParameterKey

string

Sim

O nome do parâmetro N. Se você não especificar o nome e o valor de um parâmetro, o Resource Orchestration Service (ROS) usará o nome e o valor padrão especificados no modelo. Valor máximo de N: 200.

Nota

Se você especificar Parameters, deverá especificar Parameters.N.ParameterKey.

ALIYUN::AccountId

ParameterValue

string

Sim

O valor do parâmetro N. Valor máximo de N: 200.

Nota

Se você especificar Parameters, deverá especificar Parameters.N.ParameterValue.

151266687691****

Parallelism

integer

Não

O número máximo de operações simultâneas que podem ser executadas em recursos. Este parâmetro entra em vigor somente para stacks Terraform.

Por padrão, este parâmetro está vazio. Você pode definir este parâmetro como um inteiro maior ou igual a 0.

Nota

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 deixá-lo vazio, o valor padrão do Terraform será usado. Na maioria dos casos, o valor padrão do Terraform é 10.

1

TemplateScratchId

string

Não

O ID do cenário.

Para mais informações sobre como consultar o ID do cenário, consulte ListTemplateScratches.

Nota

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

ts-aa9c62feab844a6b****

TemplateScratchRegionId

string

Não

O ID da região do cenário. O valor padrão é o mesmo que o valor de RegionId.

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

cn-hangzhou

StackId

string

Não

O ID da stack. Você pode usar este parâmetro para visualizar uma stack que deseja atualizar.

Nota
  • Você deve especificar apenas um entre StackName e StackId.

  • No cenário em que você visualiza uma stack que deseja criar ou atualizar, não é possível visualizar os recursos em suas stacks aninhadas.

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

EnablePreConfig

boolean

Não

Especifica se os parâmetros que você deseja usar na verificação de conformidade prévia devem ser consultados.

Valores válidos:

  • true

  • false (padrão)

false

TaintResources

array

Não

Os recursos marcados como tainted.

string

Não

O recurso marcado como tainted.

  • Para uma stack ROS, você deve especificar o nome do recurso como valor do parâmetro. Exemplo: my_vpc.

  • Para uma stack Terraform, você deve especificar o tipo do recurso e o nome do recurso como valor do parâmetro. Exemplo: alicloud_vpc.my_vpc.

my_vpc

UsePreviousParameters

boolean

Não

Especifica se os valores dos parâmetros usados pela última vez devem ser utilizados.

Valores válidos:

  • true: Os parâmetros usados pela última vez são reutilizados.

  • false: Os parâmetros usados pela última vez não são reutilizados.

true

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

Stack

object

As informações sobre a stack visualizada.

TemplateDescription

string

A descrição do modelo.

One ECS instance.

Parameters

array<object>

Os parâmetros da stack.

object

ParameterKey

string

The name of the parameter.

ALIYUN::AccountId

ParameterValue

string

The value of the parameter.

151266687691****

Description

string

A descrição da stack.

One ECS instance.

DisableRollback

boolean

Indica se o rollback dos recursos está desativado quando a criação da stack falha.

false

StackName

string

O nome da stack.

MyStack

TimeoutInMinutes

integer

O período de tempo limite para a criação da stack.

Unidade: minutos.

60

StackPolicyBody

object

A estrutura que contém o corpo da política da stack.

{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] }

Resources

array<object>

Os recursos na stack.

array<object>

LogicalResourceId

string

The logical ID of the resource.

WebServer

AcsResourceType

string

The resource type of an Alibaba Cloud service.

ACS::ECS::Instance

ResourceType

string

The resource type.

ALIYUN::ECS::Instance

Description

string

The description of the resource.

ECS instance.

Stack

object

The information about the nested stack. The data structure of the value is the same as the data structure of the entire response.

{}

RequiredBy

array

The resources on which the stack depends.

string

The resource on which the stack depends.

["Resource1", "Resource2"]

Properties

object

The resource properties.

{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" }

Action

string

The action that is performed on the resource. Valid values:

  • Add

  • Modify

  • Remove

  • None

Add

Replacement

string

Indicates whether a replacement update is performed on the template. Valid values:

  • True: A replacement update is performed on the template.

  • False: A change is made on the template.

  • Conditional: A replacement update may be performed on the template. You can check whether a replacement update is performed when the template is in use.

Nota

This parameter is returned only if Action is set to Modify.

False

PhysicalResourceId

string

The physical ID of the resource.

This parameter is returned only if Action is set to Modify or Remove.

i-a1b2c3***

RegionId

string

A região onde a stack reside.

cn-hangzhou

Log

object

O log gerado quando a stack é executada.

TerraformLogs

array<object>

The Terraform logs. This parameter is returned only if the stack is a Terraform stack.

Nota

This parameter contains the logs of previewing the stack.

object

Command

string

The name of the Terraform command that is run. Valid values:

  • apply

  • plan

  • destroy

  • version

For more information about Terraform commands, see Basic CLI Features.

apply

Stream

string

The output stream. Valid values:

  • stdout: standard output stream

  • stderr: standard error stream

stdout

Content

string

The content of the output stream that is returned after the command is run.

Apply complete! Resources: 42 added, 0 changed, 0 destroyed.

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "Stack": {
    "TemplateDescription": "One ECS instance.",
    "Parameters": [
      {
        "ParameterKey": "ALIYUN::AccountId",
        "ParameterValue": "151266687691****"
      }
    ],
    "Description": "One ECS instance.",
    "DisableRollback": false,
    "StackName": "MyStack",
    "TimeoutInMinutes": 60,
    "StackPolicyBody": {
      "Statement": [
        {
          "Action": "Update:*",
          "Resource": "*",
          "Effect": "Allow",
          "Principal": "*"
        },
        {
          "Action": "Update:*",
          "Resource": "LogicalResourceId/apple1",
          "Effect": "Deny",
          "Principal": "*"
        }
      ]
    },
    "Resources": [
      {
        "LogicalResourceId": "WebServer",
        "AcsResourceType": "ACS::ECS::Instance",
        "ResourceType": "ALIYUN::ECS::Instance",
        "Description": "ECS instance.",
        "Stack": {},
        "RequiredBy": [
          "[\"Resource1\", \"Resource2\"]"
        ],
        "Properties": {
          "DiskMappings": [
            {
              "Category": "cloud_ssd",
              "Size": "20"
            }
          ],
          "SystemDisk_Category": "cloud_ssd",
          "InstanceChargeType": "PostPaid",
          "AutoRenew": "False",
          "WillReplace": true,
          "ImageId": "centos_7",
          "InstanceType": "ecs.g6.large",
          "AllocatePublicIP": true,
          "AutoRenewPeriod": 1,
          "IoOptimized": "optimized",
          "ZoneId": "cn-beijing-g",
          "VSwitchId": "",
          "SecurityGroupId": "",
          "Period": 1,
          "InternetChargeType": "PayByTraffic",
          "SystemDiskCategory": "cloud_efficiency",
          "InternetMaxBandwidthOut": 1,
          "VpcId": "",
          "InternetMaxBandwidthIn": 200,
          "PeriodUnit": "Month"
        },
        "Action": "Add",
        "Replacement": "False",
        "PhysicalResourceId": "i-a1b2c3***"
      }
    ],
    "RegionId": "cn-hangzhou",
    "Log": {
      "TerraformLogs": [
        {
          "Command": "apply",
          "Stream": "stdout",
          "Content": "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
        }
      ]
    }
  }
}

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.