ALIYUN::ROS::Stack用于创建嵌套资源栈,最多支持5层嵌套。
嵌套资源栈本身可以包含其他嵌套资源栈,构成一个资源栈层次结构。根资源栈是所有嵌套资源栈最终归属的父资源栈,根资源栈的模板称为顶层模板。ALIYUN::ROS::Stack类型在顶层模板中将资源栈作为资源进行嵌套。
您可以将嵌套资源栈模板中的一个资源栈的输出用作另一个资源栈的输入。您也可以使用Fn::GetAtt函数,将函数参数设置为嵌套资源栈的名称和Outputs.NestedStackOutputName格式的输出值,获取嵌套资源栈的输出。更多信息,请参见使用嵌套资源栈。
语法
{
"Type": "ALIYUN::ROS::Stack",
"Properties": {
"TemplateURL": String,
"TemplateBody": String,
"TemplateId": String,
"TemplateVersion": String,
"TimeoutMins": Number,
"Parameters": Map,
"ResourceGroupId": String,
"Tags": List
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
TemplateURL | String | 否 | 是 | 模板主体的文件的位置。 | 模板主体的文件最大为524,288个字节,URL的最大长度为1024个字节。 URL必须指向位于Web服务器(HTTP、HTTPS)或阿里云OSS存储空间中的模板。例如: OSS地域如未指定,默认与资源栈RegionId相同。 您必须指定 |
TemplateBody | Map | 否 | 是 | 模板内容,用于简化模板的传递。 | 内容为原始数据,函数只在子模板中生效,不在当前模板中生效。 您必须指定 |
TemplateId | String | 否 | 是 | 模板ID。 | 您必须指定 |
TemplateVersion | String | 否 | 是 | 模板版本名。 | 无 |
TimeoutMins | Number | 否 | 是 | 创建或更新资源栈的超时时间。 | 单位:分。 默认值:60。 |
Parameters | Map | 否 | 是 | 一组键值对,表示在创建此嵌套资源栈时传递给ROS的参数。 | Parameters中的每个键都对应于嵌套资源栈模板中的参数名,每个值对应于参数取值。如果嵌套资源栈需要输入参数,则必须指定此参数。 |
ResourceGroupId | String | 否 | 否 | 资源组ID。 | 无 |
Tags | List | 否 | 是 | 标签列表。 | 最多支持20个标签。更多信息。请参见Tags属性。 |
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度不超过128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度不超过128个字符,不能以 |
返回值
Fn::GetAtt
您可以通过以下代码,获取嵌套资源栈的输出。
{
"Fn::GetAtt": [
"<nested_stack>",
"Outputs.<nested_stack_output_name>"
]
}
通过Ref
引用嵌套资源栈资源时,将获得嵌套资源栈的ARN。例如:arn:acs:ros::cn-hangzhou:12345****:stacks/test-nested-stack-Demo-jzkyq7mn****/e71c1e04-1a57-46fc-b9a4-cf7ce0d3****
。
示例
子资源栈创建VPC、vSwitch、安全组示例(子资源栈模板保存至oss://ros/template/vpc.txt)
父资源栈示例
- 本页导读 (1)
- 语法
- 属性
- Tags语法
- Tags属性
- 返回值
- 示例