所以假设在一个非常特定的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或更高版本。