文档首页 > > 用户指南> 模板语法> 模板结构

模板结构

分享
更新时间: 2019/06/03 GMT+08:00

模板用于创建堆栈,是描述基础设施和架构的蓝图。模板编写者在模板中定义资源需求和配置细节,并说明资源间的依赖关系。

模板文件要符合YAML语法格式,一个模板文件由如下几部分组成:

heat_template_version: xxxx-xx-xx
# 必选项,表示模板版本。
description:
# 可选项,提供模板的补充信息,可用于说明模板的适用场景、架构说明等。
parameter_groups:
# 可选项,为输入的参数分组并提供参数顺序。
parameters:
# 可选项,表示要输入的参数,使用参数可以提高模板的灵活性和复用性。
resources:
# 可选项,包含用户定义的资源(比如虚拟机资源、网络资源、卷资源等)以及资源之间的依赖关系、配置细节。
outputs:
# 可选项,这个字段显示了所创建资源的对外输出。
conditions:
# 可选项,这个字段表明堆栈创建和更新期间必须满足的条件。

如下展示了一个创建ECS的模板:

heat_template_version: 2013-05-23

description: Simple template to deploy a single compute instance

parameters:
  key_name:
    type: string
    label: Key Name
    description: Name of key-pair to be used for compute instance
  image_id:
    type: string
    label: Image ID
    description: Image to be used for compute instance
  instance_type:
    type: string
    label: Instance Type
    description: Type of instance (flavor) to be used
  net_id:
    type: string
    label: Network UUID
    description: The network to be used

resources:
  my_instance:
    type: OS::Nova::Server
    properties:
      key_name: { get_param: key_name }
      image: { get_param: image_id }
      flavor: { get_param: instance_type }
      networks: [ { network: { get_param: net_id } } ]

简单说明下这个模板:

  • “heat_template_version”:HOT模板版本,这些版本号一般是确定的几个值(参见模板版本(heat_template_version))。
  • “description”:可选项,介绍这个模板所实现的资源等,用户可以自定义描述。
  • “parameters”:可选项,定义一些参数,这些参数在后续定义资源属性时,可以通过“get_param”内部函数引用。
  • “resources”:模板的核心部分,这部分定义了编排服务所要实现的所有资源,以及定义一些依赖关系等。其中“type”字段定义了资源类型。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区