ALIYUN::ROS::Stack crea una pila anidada. Puede anidar pilas hasta con cinco niveles de profundidad.
Una pila anidada puede contener otras pilas anidadas y formar así una jerarquía de pilas. La pila raíz es la pila principal de nivel superior a la que pertenecen todas las pilas anidadas, y su plantilla se denomina plantilla de nivel superior. Use ALIYUN::ROS::Stack para anidar una pila como recurso dentro de una plantilla de nivel superior.
En una plantilla de pila anidada, puede pasar la salida de una pila como entrada a otra. Para recuperar la salida de una pila anidada, use Fn::GetAtt con el nombre de la pila anidada y el nombre de la salida en el formato Outputs.NestedStackOutputName. Use nested stacks.
Sintaxis
{
"Type": "ALIYUN::ROS::Stack",
"Properties": {
"TemplateURL": String,
"TemplateBody": String,
"TemplateId": String,
"TemplateVersion": String,
"TimeoutMins": Number,
"Parameters": Map,
"ResourceGroupId": String,
"Tags": List
}
}
Propiedades
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
TemplateURL |
String |
No |
Sí |
La URL del archivo del cuerpo de la plantilla. |
El archivo del cuerpo de la plantilla puede tener un tamaño máximo de 524,288 bytes. La URL puede tener una longitud máxima de 1,024 bytes. La URL debe apuntar a una plantilla alojada en un servidor web HTTP o HTTPS, o bien en un bucket de Object Storage Service (OSS), por ejemplo: Si no se especifica el ID de región del bucket de OSS, se usa el ID de región de la pila. Especifique uno de los siguientes valores: |
|
TemplateBody |
Map |
No |
Sí |
El contenido del cuerpo de la plantilla para su entrega. |
El contenido consiste en datos sin procesar. Las funciones incluidas en el contenido de la plantilla solo se aplican a las plantillas secundarias. Especifique uno de los siguientes valores: |
|
TemplateId |
String |
No |
Sí |
El ID de la plantilla. |
Especifique uno de los siguientes valores: |
|
TemplateVersion |
String |
No |
Sí |
El nombre de la versión de la plantilla. |
Ninguna. |
|
TimeoutMins |
Number |
No |
Sí |
El periodo de tiempo de espera para crear o actualizar la pila principal. |
Unidad: minutos. Valor predeterminado: 60. |
|
Parameters |
Map |
No |
Sí |
Pares clave-valor que representan los parámetros pasados a ROS al crear la pila anidada. |
Cada par clave-valor corresponde a un parámetro definido en la plantilla de la pila anidada. Este campo es obligatorio cuando la pila anidada tiene parámetros de entrada. |
|
ResourceGroupId |
String |
No |
No |
El ID del resource group. |
Ninguna. |
|
Tags |
List |
No |
Sí |
Las etiquetas. |
Puede especificar hasta 20 etiquetas. Tags properties. |
Sintaxis de Tags
"Tags": [
{
"Key": String,
"Value": String
}
]
Propiedades de Tags
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Key |
String |
Sí |
No |
La clave de la etiqueta. |
La clave de la etiqueta puede tener hasta 128 caracteres. No puede comenzar con |
|
Value |
String |
No |
No |
El valor de la etiqueta. |
El valor de la etiqueta puede tener hasta 128 caracteres. No puede comenzar con |
Valores de retorno
Fn::GetAtt
Use el siguiente código para obtener la salida de una pila anidada:
{
"Fn::GetAtt": [
"<nested_stack>",
"Outputs.<nested_stack_output_name>"
]
}
Si usa Ref para hacer referencia a un recurso de pila anidada, se devuelve el Alibaba Cloud Resource Name (ARN) de dicha pila. Ejemplo: arn:acs:ros::cn-hangzhou:12345****:stacks/test-nested-stack-Demo-jzkyq7mn****/e71c1e04-1a57-46fc-b9a4-cf7ce0d3****.
Ejemplos
Los siguientes ejemplos en YAML y JSON crean una pila secundaria que contiene una virtual private cloud (VPC), un vSwitch y un security group. La plantilla de la pila secundaria se almacena en oss://ros/template/vpc.txt.
A continuación se presentan ejemplos en YAML y JSON para crear una pila principal: