Ruby 如何获得puppet模块';s版本

Ruby 如何获得puppet模块';s版本,ruby,puppet,Ruby,Puppet,我想通过Puppet检索模块的版本 例如: notify { "module version is $module_version": } 但这在木偶身上是不可能的。这就是为什么我想使用Ruby添加一个自定义资源或函数来处理这个问题 我的想法是使用Ruby打开metadata.json,获取模块的版本,并将其添加到事实中。您认为可以打开相关模块的metadata.json?您还有其他想法吗?您可以使用stdlib中的load\u module\u metadata功能来完成以下操作: 例如,要

我想通过Puppet检索模块的版本

例如:

notify { "module version is $module_version": }
但这在木偶身上是不可能的。这就是为什么我想使用Ruby添加一个自定义资源或函数来处理这个问题


我的想法是使用Ruby打开
metadata.json
,获取模块的版本,并将其添加到事实中。您认为可以打开相关模块的
metadata.json
?您还有其他想法吗?

您可以使用
stdlib
中的
load\u module\u metadata
功能来完成以下操作:

例如,要实现您在上面的示例代码段中寻找的内容,您可以执行以下操作:

$metadata = load_module_metadata('module_name')
notify { "module version is ${metadata['version']}": }

请注意,
load\u module\u metadata
的返回值将是一个包含键和值字符串的散列,因此在Puppet中使用相应的散列查找结构(
$hash\u name['hash\u key']
返回键的相应字符串值).

您可以使用
stdlib
中的
load\u module\u metadata
功能来完成以下操作:

例如,要实现您在上面的示例代码段中寻找的内容,您可以执行以下操作:

$metadata = load_module_metadata('module_name')
notify { "module version is ${metadata['version']}": }
请注意,
load\u module\u metadata
的返回值将是一个包含键和值字符串的散列,因此在Puppet中使用相应的散列查找结构(
$hash\u name['hash\u key']
返回键的相应字符串值)