Puppet 如何设置默认的hiera查找值

Puppet 如何设置默认的hiera查找值,puppet,hiera,Puppet,Hiera,我正在使用Hiera设置我的Puppet代码,这样,如果在Hiera中找不到值,它就会为它指定一个默认值。我没有得到预期的结果,我想知道其他人是如何做到的: lookup( <NAME>, [<VALUE TYPE>], [<MERGE BEHAVIOR>], [<DEFAULT VALUE>] ) 通常,如果值logpath是在hiera中声明的。Puppet manifest将自动获取该值。如果在Hiera中找不到该值,则Puppet代理将出

我正在使用Hiera设置我的Puppet代码,这样,如果在Hiera中找不到值,它就会为它指定一个默认值。我没有得到预期的结果,我想知道其他人是如何做到的:

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

通常,如果值logpath是在hiera中声明的。Puppet manifest将自动获取该值。如果在Hiera中找不到该值,则Puppet代理将出错,表示未找到该值

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


作为一种良好的实践,值在hiera和puppet清单中声明。如果在hiera中找不到值,puppet通常会查看清单中存在的变量,如果值logpath在hiera中声明。Puppet manifest将自动获取该值。如果在Hiera中找不到该值,则Puppet代理将出错,表示未找到该值

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


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

对我有效的解决方案是:

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

对我有效的解决方案是:

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

另外,如果您使用的是经典的
hiera
函数,那么它们的最后一个参数将是默认值。这是否意味着,如果您使用的是经典的
hiera
函数,我不需要添加类似散列的结构,而只需使用查找({“name”=>“some::variable”,“default_value”),那么最后一个参数将是默认值。这是否意味着,我不需要添加类似散列的结构,而只需要使用查找({“name”=>“some::variable”,“default_value”})