get_attr 的特殊形式,返回所有属性

https://blueprints.launchpad.net/heat/+spec/get-attr-all-attributes

get_attr 函数添加新功能,允许返回所有属性的字典。

问题描述

当前基础属性“show”的实现返回资源的 JSON 表示。此表示的内容取决于特定资源。此输出也用于原生客户端构建命令 <client> <resource name>-show 的输出。

历史上,一些 Heat 资源具有从上述输出中获取属性的属性模式。但是,这并不意味着模式中的所有属性都在“show”输出中存在。这主要与动态属性和自定义属性有关,这些属性需要额外的计算,例如 OS::Nova::Server 的“addresses”属性,该属性也包含输出中的相关端口 ID。

另一方面,Heat 也有属性模式为空的资源,因此只有“show”属性可用于这些资源。

在某些情况下,为了避免在模板中使用多个输出,将属性模式中的所有属性(不包括基础属性“show”)返回到一个输出中将很有用。应为 get_attr 固有函数添加此功能。

提议的变更

添加 get_attr 的一种特殊形式,如下所示

{ get_attr: [resource_name] }

不带任何额外参数,这将返回所有属性输出的字典。

只有在选择了最新的 heat_template_version 时,才能使用 get_attr 的此行为,因此应在文档中对此进行说明。

备选方案

实现

负责人

主要负责人

<prazumovsky>

里程碑

完成目标里程碑

liberty-1

工作项

  • get_attr 添加新功能

  • get_attr 的新功能添加文档说明

依赖项