模板结构说明

模板是一个JSON或YAML格式的文本文件,使用UTF-8编码。模板用于创建资源栈,是描述基础设施和架构的蓝图。模板编辑者在模板中定义阿里云资源和配置细节,并说明资源间的依赖关系。

ROS模板结构

ROSTemplateFormatVersion: '2015-09-01'
Description: 模板描述信息,可用于说明模板的适用场景、架构说明等。
# 关于模板的元数据信息,例如存放用于可视化的布局信息。
Metadata: 
# 定义创建资源栈时,用户可以定制化的参数。  
Parameters: 
# 定义映射信息表,映射信息是一种多层的Map结构。
Mappings: 
# 使用内部条件函数定义条件。这些条件确定何时创建关联的资源。
Conditions: 
# 所需资源的详细定义,包括资源间的依赖关系、配置细节等。
Resources: 
# 用于输出一些资源属性等有用信息。可以通过API或控制台获取输出的内容。
Outputs: 
# 用于检验在创建或更新资源栈时传递给模板的参数值是否符合预期。
Rules: 

ROSTemplateFormatVersion(必选)

ROS支持的模板版本号,当前版本号:2015-09-01。

Description(可选)

模板的描述信息。可用于说明模板的适用场景、架构说明等。通常情况下,对模板进行详细描述,有利于用户理解模板的内容。

Metadata(可选)

模板编写者可以使用Metadata来存放与模板相关的元数据信息,内容可以为JSON格式。

Parameters(可选)

定义创建资源栈时,模板用户可以定制化的参数。通常,模板的编辑者会把ECS的规格设计成一个参数。参数支持默认值。使用参数可以增强模板的灵活性,提高复用性。使用模板创建资源栈时,可以根据实际的评估结果来选择合适的规格。

更多详细信息,请参见参数(Parameters)

Mappings(可选)

Mappings定义了一个多层的映射表,可以通过Fn::FindInMap函数来选择Key对应的值,或根据不同的输入参数值作为Key来查找映射表。例如,您可以根据Region不同,自动查找Region-镜像映射表,从而找到适用的镜像。

更多详细信息,请参见映射(Mappings)

Conditions(可选)

Conditions使用Fn::And、Fn::Or、Fn::Not、Fn::Equals定义条件。多个条件之间使用半角逗号(,)隔开。在创建或更新资源栈时,系统先计算模板中的所有条件,然后再创建资源。创建与true条件关联的所有资源,忽略与false条件关联的所有资源。

更多详细信息,请参见条件(Conditions)

Resources(可选)

用于详细定义使用该模板创建的资源栈所包含的资源,包括资源间的依赖关系、配置细节等。

更多详细信息,请参见资源(Resources)

Outputs(可选)

用于输出一些资源属性等有用信息。可以通过API或控制台获取输出的内容。

更多详细信息,请参见输出(Outputs)

Rules(可选)

用于检验在创建或更新资源栈时传递给模板的参数值是否符合预期。

更多详细信息,请参见规则(Rules)

相关操作

关于如何快速的编写模板,请参见手把手编写模板