如何从别处引用heiravariablesheirarchy?

所以假设在一个非常特定的hiera yaml文件中,我定义了一个variables,比如“env_name”。

env_name:“dev-unstable”

现在在一个更通用的hiera文件中,我想把这个variables插入到一个string中。

server_name:“service – %{env_name}。%{:: domain}”

我的testing似乎意味着层次结构中其他地方的hieravariables在一般情况下不能用于插值。 不幸的是,这是真的吗?

您可以使用Hiera内的Hiera查找function。 文档在这里: https : //docs.puppetlabs.com/hiera/1/variables.html#using-lookup-functions

在你的情况下,你会使用:

server_name: "service-%{hiera('env_name')}.%{::domain}" 

这是一个优先级查找,并将从其中find密钥的最高(最具体)层次结构级别获取密钥env_name的值。

这需要Hiera 1.3或更高版本。