Todos los productos
Search
Centro de documentos

:PreviewStack

Última actualización: Sep 04, 2026

Obtiene una vista previa de la información de una pila que desea crear a partir de una plantilla específica. Esta operación le permite comprobar los recursos definidos en la plantilla.

Este tema proporciona un ejemplo sobre cómo crear una pila llamada MyStack en la región China (Hangzhou) y obtener una vista previa de su información. En este ejemplo, el cuerpo de la plantilla de la pila es {"ROSTemplateFormatVersion":"2015-09-01"}.

Depuración

OpenAPI Explorer calcula automáticamente el valor de la firma. Para mayor comodidad, se recomienda llamar a esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente el código de muestra de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíPreviewStack

La operación que se va a ejecutar. Establezca el valor en PreviewStack.

DisableRollbackBooleanNofalse

Especifica si se debe deshabilitar la reversión de los recursos cuando falla la creación de la pila. Valor predeterminado: false. Valores válidos:

  • true
  • false
TimeoutInMinutesLongNo60

El tiempo de espera permitido para crear la pila.

Unidad: minutos.

Valor predeterminado: 60.

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

La estructura del cuerpo de la plantilla. El cuerpo de la plantilla debe tener una longitud de entre 1 y 524,288 bytes. Si la longitud del cuerpo de la plantilla excede el límite superior, se recomienda agregar parámetros al cuerpo de la solicitud HTTP POST para evitar fallos en la solicitud causados por URL excesivamente largas.

Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId.
StackPolicyURLStringNooss://ros-stack-policy/demo

La URL del archivo que contiene la directiva de la pila. La URL debe apuntar a una directiva ubicada en un servidor web HTTP o HTTPS, o en un bucket de Object Storage Service (OSS), como oss://ros/stack-policy/demo u oss://ros/stack-policy/demo?RegionId=cn-hangzhou. El archivo de directiva puede tener una longitud máxima de 16,384 bytes. Si no especifica el ID de región del bucket de OSS, se utiliza el valor del parámetro RegionId.

Nota Solo puede especificar uno de los parámetros StackPolicyBody y StackPolicyURL.

La URL puede tener una longitud máxima de 1,350 bytes.

RegionIdStringSícn-hangzhou

El ID de región de la pila. Llame a la operación DescribeRegions para consultar la lista de regiones más reciente.

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

La estructura que contiene el cuerpo de la directiva de la pila. El cuerpo de la directiva de la pila debe tener una longitud de entre 1 y 16,384 bytes.

Nota Solo puede especificar uno de los parámetros StackPolicyBody y StackPolicyURL.
StackNameStringNoMyStack

El nombre de la pila. Use este parámetro para obtener una vista previa de la pila que desea crear.

El nombre puede tener una longitud máxima de 255 caracteres y contener dígitos, letras, guiones (-) y guiones bajos (_). Debe comenzar con un dígito o una letra.

Nota Debe especificar solo uno de los parámetros StackName y StackId.
ClientTokenStringNo123e4567-e89b-12d3-a456-42665544****

El token de cliente que se usa para garantizar la idempotencia de la solicitud. Use el cliente para generar el token, pero asegúrese de que sea único entre las distintas solicitudes.

El token puede tener una longitud máxima de 64 caracteres y contener letras, dígitos, guiones (-) y guiones bajos (_).

Para obtener más información, consulte Garantizar la idempotencia.

TemplateURLStringNooss://ros-template/demo

La URL del archivo que contiene el cuerpo de la plantilla. La URL debe apuntar a una plantilla ubicada en un servidor web HTTP o HTTPS, o en un bucket de OSS, como oss://ros/stack-policy/demo u oss://ros/stack-policy/demo?RegionId=cn-hangzhou. El cuerpo de la plantilla puede tener una longitud máxima de 524,288 bytes. Si no especifica el ID de región del bucket de OSS, se utiliza el valor del parámetro RegionId.

Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId.
TemplateIdStringNo5ecd1e10-b0e9-4389-a565-e4c15efc****

El ID de la plantilla. Este parámetro aplica tanto a plantillas compartidas como privadas.

Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId.
TemplateVersionStringNov1

La versión de la plantilla. Este parámetro solo surte efecto cuando se especifica el parámetro TemplateId.

Parameters.N.ParameterKeyStringSíALIYUN::AccountId

El nombre del parámetro N. Si no especifica el nombre y el valor de un parámetro, Resource Orchestration Service (ROS) utiliza el nombre y el valor predeterminados definidos en la plantilla. Valor máximo de N: 200.

Nota Si especifica Parameters, debe especificar Parameters.N.ParameterKey.
Parameters.N.ParameterValueStringSí151266687691****

El valor del parámetro N. Valor máximo de N: 200.

Nota Si especifica Parameters, debe especificar Parameters.N.ParameterValue.
ParallelismLongNo1

El número máximo de operaciones simultáneas que se pueden ejecutar en los recursos. Este parámetro solo surte efecto para pilas de Terraform.

De forma predeterminada, este parámetro está vacío. Establézcalo en un número entero mayor o igual a 0.

Nota Si establece este parámetro en un número entero mayor que 0, se utiliza dicho valor. Si lo establece en 0 o lo deja vacío, se utiliza el valor predeterminado de Terraform. En la mayoría de los casos, el valor predeterminado de Terraform es 10.
TemplateScratchIdStringNots-aa9c62feab844a6b****

El ID del escenario.

Para obtener más información sobre cómo consultar los ID de los escenarios, consulte ListTemplateScratches.

Nota Debe especificar solo uno de los siguientes parámetros: TemplateBody, TemplateURL, TemplateId y TemplateScratchId.
TemplateScratchRegionIdStringNocn-hangzhou

El ID de región del escenario. El valor predeterminado coincide con el valor del parámetro RegionId.

Llame a la operación DescribeRegions para consultar la lista de regiones más reciente.

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

El ID de la pila. Use este parámetro para obtener una vista previa de una pila que desea actualizar.

Nota
  • Debe especificar solo uno de los parámetros StackName y StackId.
  • En el escenario donde obtiene una vista previa de una pila que desea crear o actualizar, no es posible previsualizar los recursos en sus pilas anidadas.
EnablePreConfigBooleanNofalse

Especifica si se deben consultar los parámetros que se utilizarán en la comprobación previa de cumplimiento.

Valor predeterminado: false. Valores válidos:

  • true
  • false

Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.

Parámetros de respuesta

ParámetroTipoEjemploDescripción
RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

El ID de la solicitud.

StackObject

La información de la pila cuya vista previa se obtuvo.

TemplateDescriptionStringOne ECS instance.

La descripción de la plantilla.

ParametersArray of Parameter

Los parámetros de la pila.

ParameterKeyStringALIYUN::AccountId

El nombre del parámetro.

ParameterValueString151266687691****

El valor del parámetro.

DescriptionStringOne ECS instance.

La descripción de la pila.

DisableRollbackBooleanfalse

Indica si la reversión de los recursos está deshabilitada cuando falla la creación de la pila.

StackNameStringMyStack

El nombre de la pila.

TimeoutInMinutesInteger60

El tiempo de espera permitido para crear la pila.

Unidad: minutos.

StackPolicyBodyMap

La estructura que contiene el cuerpo de la directiva de la pila.

ResourcesArray of Resource

Los recursos en la pila.

LogicalResourceIdStringWebServer

El ID lógico del recurso.

AcsResourceTypeStringACS::ECS::Instance

El tipo de recurso que pertenece a un servicio de Alibaba Cloud.

ResourceTypeStringALIYUN::ECS::Instance

El tipo del recurso.

DescriptionStringECS instance.

La descripción del recurso.

StackMap

La información sobre la pila anidada. La estructura de datos del valor es idéntica a la de toda la respuesta.

RequiredByArray of String["Resource1", "Resource2"]

Los recursos de los cuales depende la pila.

PropertiesMap

Las propiedades del recurso.

ActionStringAdd

La acción que se ejecuta en los recursos. Valores válidos:

  • Add
  • Modify
  • Remove
  • Ninguna
ReplacementStringFalse

Indica si se realiza una actualización por reemplazo en la plantilla. Valores válidos:

  • True: Se realiza una actualización por reemplazo en la plantilla.
  • False: Se realiza un cambio en la plantilla.
  • Conditional: Es posible que se realice una actualización por reemplazo en la plantilla. Compruebe si se ejecuta dicha actualización cuando la plantilla esté en uso.
Nota Este parámetro solo se devuelve si el parámetro Action está establecido en Modify.
PhysicalResourceIdStringi-a1b2c3***

El ID físico del recurso.

Este parámetro solo se devuelve si el parámetro Action está establecido en Modify o Remove.

RegionIdStringcn-hangzhou

El ID de región de la pila.

LogObject

El registro generado durante la ejecución de la pila.

TerraformLogsArray of TerraformLog

El registro generado durante la ejecución de una pila de Terraform. Este parámetro solo se devuelve si la pila es de tipo Terraform.

Nota Use este parámetro para obtener una vista previa de los registros de una pila de Terraform.
CommandStringapply

El nombre del comando de Terraform. Valores válidos:

  • apply
  • plan
  • destroy
  • version

Para obtener más información sobre los comandos de Terraform, consulte Funciones básicas de la CLI.

StreamStringstdout

El flujo de salida. Valores válidos:

  • stdout: flujo de salida estándar
  • stderr: flujo de error estándar
ContentStringApply complete! Resources: 42 added, 0 changed, 0 destroyed.

El contenido del flujo de salida devuelto tras la ejecución del comando.

Ejemplos

Solicitudes de muestra

http(s)://ros.aliyuncs.com/?Action=PreviewStack
&TemplateBody={"ROSTemplateFormatVersion":"2015-09-01"}
&StackName=MyStack
&RegionId=cn-hangzhou
&<Common request parameters>

Respuestas de éxito de muestra

Formato XML

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

<PreviewStackResponse>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
    <Stack>
        <TemplateDescription>One ECS instance.</TemplateDescription>
        <Parameters>
            <ParameterKey>ALIYUN::AccountId</ParameterKey>
            <ParameterValue>151266687691****</ParameterValue>
        </Parameters>
        <Description>One ECS instance.</Description>
        <DisableRollback>false</DisableRollback>
        <StackName>MyStack</StackName>
        <TimeoutInMinutes>60</TimeoutInMinutes>
        <Resources>
            <LogicalResourceId>WebServer</LogicalResourceId>
            <AcsResourceType>ACS::ECS::Instance</AcsResourceType>
            <ResourceType>ALIYUN::ECS::Instance</ResourceType>
            <Description>ECS instance.</Description>
            <RequiredBy>["Resource1", "Resource2"]</RequiredBy>
            <Action>Add</Action>
            <Replacement>False</Replacement>
        </Resources>
        <RegionId>cn-hangzhou</RegionId>
        <Log>
            <TerraformLogs>
                <Command>apply</Command>
                <Stream>stdout</Stream>
                <Content>Apply complete! Resources: 42 added, 0 changed, 0 destroyed.</Content>
            </TerraformLogs>
        </Log>
    </Stack>
</PreviewStackResponse>

Formato JSON

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

{
  "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,
    "Resources" : {
      "LogicalResourceId" : "WebServer",
      "AcsResourceType" : "ACS::ECS::Instance",
      "ResourceType" : "ALIYUN::ECS::Instance",
      "Description" : "ECS instance.",
      "RequiredBy" : "[\"Resource1\", \"Resource2\"]",
      "Action" : "Add",
      "Replacement" : "False"
    },
    "RegionId" : "cn-hangzhou",
    "Log" : {
      "TerraformLogs" : {
        "Command" : "apply",
        "Stream" : "stdout",
        "Content" : "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
      }
    }
  }
}

Códigos de error

Para obtener una lista de los códigos de error, consulte Códigos de error del servicio.

Para obtener más información sobre los errores comunes a todas las operaciones, consulte Códigos de error comunes.

Código de estado HTTP

Código de error

Mensaje de error

Descripción

400

CircularDependency

Circular Dependency Found: {reason}.

El mensaje de error indica que la plantilla contiene una dependencia circular. reason señala la causa del error.

400

InvalidSchema

{reason}.

El mensaje de error indica que el formato de la plantilla no es válido. reason señala la causa del error.

400

InvalidTemplateAttribute

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

El mensaje de error indica que la propiedad del recurso referenciada en la sección Outputs de la plantilla no es válida. resource representa el nombre del recurso. name representa el nombre de la propiedad.

400

InvalidTemplatePropertyType

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

El mensaje de error indica que el tipo de la propiedad del recurso definido en una sección de la plantilla no es válido. resource representa el nombre del recurso. section representa el nombre de la sección.

400

InvalidTemplateReference

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

El mensaje de error indica que la plantilla contiene una referencia no válida. name representa el nombre de la referencia. referencer representa el nombre del elemento que hace la referencia.

400

InvalidTemplateSection

The template section is invalid: {section}.

El mensaje de error indica que la plantilla contiene una sección no válida. section representa el nombre de la sección.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

El mensaje de error indica que la versión de la plantilla no es válida. reason señala la causa del error.

400

StackValidationFailed

{reason}.

El mensaje de error indica que falló la validación de la pila. reason señala la causa del error.

400

UnknownUserParameter

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

El mensaje de error indica que el parámetro especificado no está definido en la plantilla. name representa el nombre del parámetro.

400

UserParameterMissing

The Parameter {name} was not provided.

El mensaje de error indica que no se especificó ningún valor para el parámetro definido en la plantilla. name representa el nombre del parámetro.

409

StackExists

The Stack ({name}) already exists.

El mensaje de error indica que ya existe una pila con el mismo nombre. name representa el nombre de la pila.

404

TemplateNotFound

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

El mensaje de error indica que la plantilla no existe. ID representa el ID de la plantilla.

404

TemplateNotFound

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

El mensaje de error indica que la plantilla o su versión no existen. ID representa el ID de la plantilla. version representa la versión de la plantilla.