Todos los productos
Search
Centro de documentos

:CreateStack

Última actualización: Sep 04, 2026

Cree una pila.

Una pila es un conjunto de recursos de Resource Orchestration Service (ROS) que se gestionan como una sola unidad. Para crear un conjunto de recursos, cree una pila. Para obtener más información sobre las pilas, consulte Descripción general.

Al llamar a esta operación, tenga en cuenta los siguientes límites:

  • Puede crear hasta 200 pilas en una cuenta de Alibaba Cloud.

  • Puede crear hasta 200 recursos en una pila.

En este tema se proporciona un ejemplo de cómo crear una pila llamada MyStack en la región China (Hangzhou). 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 su comodidad, le recomendamos que llame a esta operación en OpenAPI Explorer. OpenAPI Explorer genera dinámicamente el código de muestra de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíCreateStack

La operación que desea ejecutar. Establezca el valor en CreateStack.

DisableRollbackBooleanNofalse

Especifica si se deshabilita la reversión de los recursos cuando falla la creación de la pila.

Valor predeterminado: false. Valores válidos:

  • true
  • false
TemplateBodyStringNo{"ROSTemplateFormatVersion":"2015-09-01"}

La estructura que contiene el cuerpo de la plantilla. El cuerpo de la plantilla debe tener una longitud de 1 a 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 política de la pila. La URL debe apuntar a una política 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 política 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.

TimeoutInMinutesLongNo10

El tiempo de espera permitido para crear la pila.

  • Valor predeterminado: 60.
  • Unidad: minutos.
  • Valores válidos: de 10 a 1440.
StackPolicyBodyStringNo{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

La estructura que contiene el cuerpo de la política de la pila. El cuerpo de la política de la pila debe tener una longitud de 1 a 16,384 bytes.

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

El nombre de la pila.

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

RegionIdStringSícn-hangzhou

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

ClientTokenStringNo123e4567-e89b-12d3-a456-42665544****

El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que sea único entre diferentes 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.
RamRoleNameStringNotest-role

El nombre del rol de RAM. ROS asume el rol de RAM para crear la pila y utiliza las credenciales del rol para llamar a las API de los servicios de Alibaba Cloud.

ROS asume el rol de RAM para ejecutar operaciones en la pila. Si tiene permisos para ejecutar operaciones en la pila pero no tiene permisos para usar el rol de RAM, ROS aun así asume el rol de RAM. Asegúrese de otorgar los privilegios mínimos al rol de RAM.

Si no especifica este parámetro, ROS asume el rol existente asociado con la pila. Si no hay roles disponibles, ROS utiliza una credencial temporal generada a partir de las credenciales de su cuenta.

El nombre puede tener una longitud máxima de 64 caracteres.

DeletionProtectionStringNoEnabled

Especifica si se habilita la protección contra eliminación para la pila. Valor predeterminado: Disabled. Valores válidos:

  • Enabled: habilita la protección contra eliminación.
  • Disabled: deshabilita la protección contra eliminación. Puede eliminar la pila mediante la consola de ROS o llamando a la operación DeleteStack.
Nota El parámetro DeletionProtection que especifique para la pila raíz se aplica a sus pilas anidadas.
CreateOptionStringNoKeepStackOnCreationComplete

La opción para la pila después de crearla. Valor predeterminado: KeepStackOnCreationComplete. Valores válidos:

  • KeepStackOnCreationComplete: conserva la pila y sus recursos después de crearla. En este caso, se consume su cuota de pilas en ROS.
  • AbandonStackOnCreationComplete: elimina la pila, pero conserva sus recursos después de crearla. En este caso, no se consume su cuota de pilas en ROS. Si falla la creación de la pila, esta se conserva.
  • AbandonStackOnCreationRollbackComplete: elimina la pila cuando sus recursos se revierten tras un fallo en la creación. En este caso, no se consume su cuota de pilas en ROS. En otros escenarios de reversión, la pila se conserva.
TemplateIdStringNo5ecd1e10-b0e9-4389-a565-e4c15efc****

El ID de la plantilla. Este parámetro se aplica a plantillas compartidas y 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íInstanceId

El nombre del parámetro N definido en la plantilla. Si no especifica el nombre y el valor de un parámetro, ROS utiliza el nombre y el valor predeterminados de la plantilla.

Valor máximo de N: 200.

El nombre debe tener una longitud de 1 a 128 caracteres y no puede contener http:// ni https://. El nombre no puede comenzar con aliyun ni acs:.

Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar tanto Parameters.N.ParameterKey como Parameters.N.ParameterValue.
Parameters.N.ParameterValueStringSíi-xxxxxx

El valor del parámetro N definido en la plantilla.

Valor máximo de N: 200.

El valor puede tener una longitud máxima de 128 caracteres y no puede contener http:// ni https://. El valor no puede comenzar con aliyun ni acs:.

Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar tanto Parameters.N.ParameterKey como Parameters.N.ParameterValue.
NotificationURLs.NStringNohttp://example.com/ros-event

La URL de devolución de llamada que se utiliza para recibir el evento de pila N. Valores válidos:

  • URL HTTP POST

    Cada URL puede tener una longitud máxima de 1,024 bytes.

  • eventbridge

    Cuando cambia el estado de una pila, ROS envía una notificación de evento al servicio EventBridge. Puede consultar la información del evento en la consola de EventBridge.
    Nota ROS admite el servicio EventBridge en las siguientes regiones: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong) y China (Zhangjiakou).

Valor máximo de N: 5. Cuando cambia el estado de una pila, ROS envía una notificación de evento a la URL especificada. Cuando la reversión está habilitada para la pila, se envían notificaciones de evento si la pila se encuentra en el estado CREATE_ROLLBACK o ROLLBACK, pero no se envían si la pila está en el estado CREATE_FAILED, UPDATE_FAILED o IN_PROGRESS.

ROS envía notificaciones de evento independientemente de si configura la sección Outputs. El siguiente código de muestra proporciona un ejemplo del contenido de una notificación 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.KeyStringSíusage

La clave de la etiqueta N que desea agregar a la pila.

Valores válidos de N: de 1 a 20.

Nota
  • El parámetro Tags es opcional. Si especifica el parámetro Tags, debe especificar el parámetro Tags.N.Key.
  • La etiqueta de una pila se propaga a cada recurso de la pila que admita la función de etiquetas. Para obtener más información, consulte Propagar etiquetas.
Tags.N.ValueStringNotest

El valor de la etiqueta N que desea agregar a la pila.

Valores válidos de N: de 1 a 20.

Nota La etiqueta de una pila se propaga a cada recurso de la pila que admita la función de etiquetas. Para obtener más información, consulte Propagar etiquetas.
ResourceGroupIdStringNorg-acfmxazb4ph6aiy****

El ID del resource group. Si no especifica este parámetro, la pila se agrega al resource group predeterminado.

Para obtener más información sobre los resource groups, consulte la sección "Resource Group" del tema ¿Qué es Resource Management?.

ParallelismLongNo1

El número máximo de operaciones simultáneas que se pueden ejecutar en los recursos.

De forma predeterminada, este parámetro está vacío. Puede establecer este parámetro en un entero mayor o igual a 0.

Nota
  • Si establece este parámetro en un entero mayor que 0, se utiliza dicho entero. Si establece este parámetro en 0 o lo deja vacío, no se impone ningún límite en las pilas de ROS. Sin embargo, para las pilas de Terraform se utiliza el valor predeterminado de Terraform. En la mayoría de los casos, el valor predeterminado en Terraform es 10.
  • Si establece este parámetro en un valor específico, ROS asocia el valor con la pila. El valor afecta a las operaciones posteriores en la pila, como una operación de actualización.
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 es el mismo que el valor del parámetro RegionId.

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

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

Parámetros de respuesta

Parámetro

Tipo

Ejemplo

Descripción

RequestId

String

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

El ID de la solicitud.

StackId

String

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

El ID de la pila.

Ejemplos

Solicitudes de muestra

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

Respuestas exitosas de muestra

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 error

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

Código de error

Mensaje de error

Código de estado HTTPS

Descripción

CircularDependency

Circular Dependency Found: {reason}.

400

El mensaje de error devuelto porque la plantilla contiene dependencias circulares. reason indica la causa del error.

InvalidSchema

{reason}.

400

El mensaje de error devuelto porque el formato de la plantilla no es válido. reason indica la causa del error.

InvalidTemplateAttribute

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

400

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

InvalidTemplatePropertyType

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

400

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

InvalidTemplateReference

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

400

El mensaje de error devuelto porque la plantilla contiene una referencia no válida. name indica el nombre de la referencia. referencer indica el nombre del referente.

InvalidTemplateSection

The template section is invalid: {section}.

400

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

InvalidTemplateVersion

The template version is invalid: {reason}.

400

El mensaje de error devuelto porque la versión de la plantilla no es válida. reason indica la causa del error.

StackValidationFailed

{reason}.

400

El mensaje de error devuelto porque falló la validación de la pila. reason indica la causa del error.

UnknownUserParameter

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

400

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

UserParameterMissing

The Parameter {name} was not provided.

400

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

ActionInProgress

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

409

El mensaje de error devuelto porque la pila se está modificando. name indica el nombre o ID de la pila. action indica la operación de cambio.

StackExists

The Stack ({name}) already exists.

409

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

TemplateNotFound

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

404

El mensaje de error devuelto porque la plantilla especificada no existe. ID indica el ID de la plantilla.

TemplateNotFound

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

404

El mensaje de error devuelto porque la plantilla o la versión de la plantilla especificada no existe. ID indica el ID de la plantilla. version indica la versión de la plantilla.