如何设置默认的 hiera 查找值

How to setup a default hiera lookup value

我正在使用 Hiera 设置我的 Puppet 代码,如果在 Hiera 中找不到某个值,它会为其分配一个默认值。我没有得到想要的结果,想知道其他人是怎么做到的:

lookup( <NAME>, [<VALUE TYPE>], [<MERGE BEHAVIOR>], [<DEFAULT VALUE>] )

我想我找到了答案 https://www.devco.net/archives/2016/03/13/the-puppet-4-lookup-function.php , 马上试试

lookup({"name" => "some::thing", "default_value" => "default"})

一般来说,如果值 logpath 是在 hiera 中声明的。 Puppet 清单将自动获取该值。如果在 Hiera 中未找到该值,则 Puppet 代理将出错并提示未找到该值。

如果该值未在 Hiera 中声明,总有一种方法可以在 puppet 清单中声明该值。如果在 Puppet Hiera 中找不到该值,则会在清单中查找 puppet 值。

作为一种好的做法,值在 hiera 和 puppet 清单中声明。如果在 Hiera 中找不到该值,puppet 将查看清单中存在的变量

对我有用的解决方案是:

$myvar1 = lookup( { "name" => "myvar1", "default_value" => "default" } )