全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
资源编排

模板结构说明

更新时间:2017-06-07 13:26:11

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

ROS 模板结构如下:

  1. {
  2. "ROSTemplateFormatVersion" : "2015-09-01",
  3. "Description" : "模板描述信息,可用于说明模板的适用场景、架构说明等。",
  4. "Metadata" : {
  5. // 关于模板的元数据信息,比如存放用于可视化的布局信息。
  6. },
  7. "Parameters" : {
  8. // 定义创建资源栈时模板用户可以定制化的参数。
  9. },
  10. "Mappings" : {
  11. // 定义映射信息表,映射信息是一种多层的 Map 结构。
  12. },
  13. "Conditions": {
  14. // 使用内部条件函数定义条件。这些条件确定何时创建关联的资源。
  15. },
  16. "Resources" : {
  17. // 所需资源的详细定义,包括资源间的依赖关系、配置细节等。
  18. },
  19. "Outputs" : {
  20. // 用于输出一些资源属性等有用信息,可以通过 API 或控制台获取输出的内容。
  21. }
  22. }

ROSTemplateFormatVersion(必需)

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

Description(可选)

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

Metadata(可选)

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

Parameters(可选)

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

Mappings(可选)

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

Conditions(可选)

Conditions 使用 Fn::And,Fn::Or,Fn::Not,Fn::Equals 定义条件,多个条件之间用“,”隔开。在创建或更新堆栈时,先计算模板中的所有条件,然后再创建资源。会创建与 true 条件关联的所有资源,忽略与 false 条件关联的所有资源。

Resources(可选)

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

Outputs(可选)

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

本文导读目录