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
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | CreateStack | La operación que desea ejecutar. Establezca el valor en CreateStack. |
| DisableRollback | Boolean | No | false | Especifica si se deshabilita la reversión de los recursos cuando falla la creación de la pila. Valor predeterminado: false. Valores válidos:
|
| TemplateBody | String | No | {"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. |
| StackPolicyURL | String | No | oss://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. |
| TimeoutInMinutes | Long | No | 10 | El tiempo de espera permitido para crear la pila.
|
| StackPolicyBody | String | No | {"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. |
| StackName | String | Sí | 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. |
| RegionId | String | Sí | 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. |
| ClientToken | String | No | 123e4567-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. |
| TemplateURL | String | No | oss://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. |
| RamRoleName | String | No | test-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. |
| DeletionProtection | String | No | Enabled | Especifica si se habilita la protección contra eliminación para la pila. Valor predeterminado: Disabled. Valores válidos:
Nota El parámetro DeletionProtection que especifique para la pila raíz se aplica a sus pilas anidadas. |
| CreateOption | String | No | KeepStackOnCreationComplete | La opción para la pila después de crearla. Valor predeterminado: KeepStackOnCreationComplete. Valores válidos:
|
| TemplateId | String | No | 5ecd1e10-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. |
| TemplateVersion | String | No | v1 | La versión de la plantilla. Este parámetro solo surte efecto cuando se especifica el parámetro TemplateId. |
| Parameters.N.ParameterKey | String | Sí | 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 Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar tanto Parameters.N.ParameterKey como Parameters.N.ParameterValue. |
| Parameters.N.ParameterValue | String | Sí | 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 Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar tanto Parameters.N.ParameterKey como Parameters.N.ParameterValue. |
| NotificationURLs.N | String | No | http://example.com/ros-event | La URL de devolución de llamada que se utiliza para recibir el evento de pila N. Valores válidos:
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: |
| Tags.N.Key | String | Sí | usage | La clave de la etiqueta N que desea agregar a la pila. Valores válidos de N: de 1 a 20. Nota
|
| Tags.N.Value | String | No | test | 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. |
| ResourceGroupId | String | No | rg-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?. |
| Parallelism | Long | No | 1 | 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
|
| TemplateScratchId | String | No | ts-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. |
| TemplateScratchRegionId | String | No | cn-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. |