Heat 模板函数列表

https://blueprints.launchpad.net/heat/+spec/template-function-list

添加通过 REST API 和 CLI 获取给定模板可用函数列表的能力

问题描述

目前无法获取给定模板版本支持的函数列表。这对于帮助模板编写者,特别是 HOT 构建器来说非常有用。

提议的变更

向 heat CLI 添加以下命令

heat template-function-list <template_version>

其中 template_version 是由 heat template-version-list 命令输出给定的模板版本。该命令返回可用的模板版本列表及其对应的类型(cfn 或 hot),方便用户使用。

相应的 REST API 将如下所示

GET on /template_versions/<template_version>/functions

可能的输出

功能

描述

Fn::GetAZs

返回给定区域内的可用区。

get_param

用于解析参数引用的函数。

get_resource

用于解析资源引用的函数。

Ref

用于解析参数引用的函数。

备选方案

实现

所需模板可以通过模板管理器通过 template 模块中的 _get_template_extension_manager() 获取。每个模板都将函数列表作为类属性。每个函数的描述将通过函数的 __doc__() 方法获取。还需要对 REST API 控制器和 RPC 进行额外的更改。

负责人

ochuprykov tlashchova skraynev

里程碑

完成目标里程碑

liberty-2

工作项

  • 更新资源 REST API 控制器,增加额外功能

  • 更新 heat CLI

  • 添加所需的 RPC

  • 添加所需的额外测试用例。

  • 添加 CLI (python-heatclient) 和 REST API (api-sites) 的文档

依赖项

https://blueprints.launchpad.net/heat/+spec/template-version-list