docs.puppetlabs.com上的hiera文档似乎给我的印象是,我可以使用puppet语法来描述我的数据。 或者将来会有可能。 见: Coming soon 。
这个function是否存在于puppet的发布版本中,而没有logging,或者这个function还在开发中? 如果这个function存在,有没有人有如何实际使用这个例子?
在我的系统上存在puppet_backend.rb文件给出了哪些是puppetmaster包的一部分,这使得我的function是存在的,但只是没有logging。 所以我想弄清楚如何实际使用这个。
这篇文章介绍了puppet-users邮件列表的基本用法。
用一个更完整的例子用层次来重写:
鉴于这样一个hiera.yaml :
:backends: - puppet :puppet: :datasource: data :hierarchy: - %{osfamily}::%{operatingsystem}::%{architecture} - %{osfamily}::%{operatingsystem} - %{osfamily} - global
在一个模块中给出一个简单的类:
class foo::bar { $baz = hiera('baz') }
后端将按以下顺序查找包含variables$baz的类:
data::RedHat::CentOS::x86_64 data::RedHat::CentOS data::RedHat data::global foo::bar::data foo::data
默认数据源名称是data ,但可以自定义。 鉴于klaatu ,它会search:
klaatu::RedHat::CentOS::x86_64 klaatu::RedHat::CentOS klaatu::RedHat klaatu::global foo::bar::klaatu foo::klaatu
最后两个似乎是无论层次结构添加,总是以%{calling_class}::%{datasource}和%{calling_module}::%{datasource}的格式。
似乎有限制,你可以在这些层次结构与yaml后端使用什么样的事实。 例如, %{clientcert}将不可用,因为在名称中不允许使用点。