所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type I) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
模板语法

模板语法

模板结构

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

heat_template_version: xxxx-xx-xx
#Indicates the template version.
description:
#Provides supplementary information about the template. This section is mandatory.
parameter_groups:
#Indicates the parameter group that specifies the parameter sequence. This section is optional.
parameters:
#Indicates the parameters to be entered. This section is optional.
resources:
#Indicates the template resources. This section is mandatory.
outputs:
#Indicates the output. This section is optional.
conditions:
#Indicates the conditions. This section is optional.

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

模板版本

模板版本,对应字段:heat_template_version。每个HOT格式的模板,均要有一个版本,这个版本用来说明HOT模板所支持的内部功能。

资源模板服务当前支持如下HOT模板版本:

  • heat_template_version 2013-05-23:

    该模板版本支持如下内部函数:

    get_attr, get_file, get_param, get_resource, list_join, resource_facade, str_replace, Fn::Base64, Fn::GetAZs, Fn::Join, Fn::MemberListToMap, Fn::Replace, Fn::ResourceFacade, Fn::Select, Fn::Split, Ref

  • heat_template_version 2014-10-16:

    该模板版本支持如下内部函数:

    get_attr, get_file, get_param, get_resource, list_join, resource_facade, str_replace, Fn::Select

  • heat_template_version 2015-04-30:

    该模板版本支持如下内部函数:

    get_attr, get_file, get_param, get_resource, list_join, repeat, digest, resource_facade, str_replace, Fn::Select

  • heat_template_version 2015-10-15:

    该模板版本支持如下内部函数:

    get_attr, get_file, get_param, get_resource, list_join, repeat, digest, resource_facade, str_replace, str_split

  • heat_template_version 2016-04-08:

    该模板版本支持如下内部函数:

    digest, get_attr, get_file, get_param, get_resource, list_join, map_merge, repeat, resource_facade, str_replace, str_split

模板描述(description)

模板描述,对应字段:description。描述字段,是为了对当前模板进行补充说明,一般都是说明当前模板所实现资源。如果描述不能完全显示在同一行,可以参考如下格式进行跨行编写:

description: >
  This is how you can provide a longer description
  of your template that goes over several lines.

参数(parameters)

参数

对应字段:parameters。字段中所定义的这些参数,通过外部传入,在模板中使用。用户所定义的参数可以在“resources”和“outputs”这两个字段中通过“get_param”内部函数引用。

例如:

parameters:
  name:
    type: string
    label:
    description:
    default: Parameter default value

说明如下:

  • type:表示参数的取值类型,包括string(字符串值)、number(数值)、list(列表值)、map(映射值)、boolean(布尔值)等。
  • label:表示参数显示到界面上的标签名称。
  • description:对这个参数的解释说明。
  • default:表示参数的默认值。
参数有效值

有效值约束可应用于数值或字符串类型的参数,它指定了一个参数可能出现的参数值集合,在部署时,用户提供的值必须匹配有效值列表中的某个元素。

语法如下:

allowed_values: [<值1>, <值2>, ...]

或者如下格式:

allowed_values:
  - <值1>
  - <值2>
  - ...

资源(resources)

资源,对应字段:resources。这部分包含用户定义的资源(比如虚拟机资源、网络资源、卷资源等)以及资源之间的依赖关系。不同资源名称唯一,且分别在不同段,格式参考如下:

resources:
  <resource ID>:
    type: <resource type>
    properties:
      <property name>: <property value>
    metadata:
      <resource specific metadata>
    depends_on: <resource ID or list of ID>
    update_policy: <update policy>
    deletion_policy: <deletion policy>

例如:

resources:
  my_instance:
    type: OS::Nova::Server
    properties:
      flavor: m1.small
      image: F18-x86_64-cfntools

输出(outputs)

输出,对应字段:outputs。这个字段显示了所创建资源的对外输出。这部分可以省略。

例如:

outputs:
  instance_ip:
    description: The IP address of the deployed instance
    value: { get_attr: [my_instance, first_address] }

条件(conditions)

条件,对应字段:conditions。这个字段表明堆栈创建和更新期间必须满足的条件,用户可以在堆栈创建和更新期间根据输入的参数定义一个或多个条件。

内部函数

模板内使用一些内部函数来实现特定功能,比如获取外部输入参数,获取某资源的属性信息等。内部函数只能在资源(resources)或者输出(outputs)字段中使用。

翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043090

浏览量:12670

下载量:555

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页