Variables Puppet Hiera如何在Hiera_哈希中指定一个布尔值作为默认值?

Variables Puppet Hiera如何在Hiera_哈希中指定一个布尔值作为默认值?,variables,puppet,hiera,Variables,Puppet,Hiera,我试图指定一个默认值为布尔值的变量 但这些东西都没有像我期望的那样起作用。 如果我想将空哈希作为默认值,我会这样做: $value = hiera_hash('value', {}), 但是,尝试应用boolen失败,并出现不同的错误: $value = hiera_hash('value', {'true'}), $value = hiera_hash('value', true), $value = hiera_hash('value', {true}), $value = hiera_h

我试图指定一个默认值为布尔值的变量

但这些东西都没有像我期望的那样起作用。 如果我想将空哈希作为默认值,我会这样做:

$value = hiera_hash('value', {}),
但是,尝试应用boolen失败,并出现不同的错误:

$value = hiera_hash('value', {'true'}),
$value = hiera_hash('value', true),
$value = hiera_hash('value', {true}),
$value = hiera_hash('value', {'value' => true}),
实际上,这条线是有效的:

$value = hiera_hash('value', true),
但是在使用
create_resources()
create_resources()时失败:第二个参数必须是散列

将true指定为
$value
的默认值的正确方法是什么?

如果您想使用
创建资源
作为您的
hiera
调用的结果,那么
true
怎么可能是一个正常的默认值?在这个场景中,除了
{}
之外,你怎么能使用其他任何东西作为默认设置呢?我真的不知道前几天我在尝试什么,也不知道我是如何让事情顺利进行的。正如您所说,只有
{}
作为
hiera_hash
中的默认值才有意义,但是当使用
generate_resources()
作为第三个参数生成资源时,可以传递默认参数。它应该是这样的(没有经过测试,但我假设它应该可以工作)
$value=hiera\u hash('value',{}),$value\u default=true,create\u resources('value',$value,$value\u default)
No,最后一个参数必须是
param\u name=>param\u value
对的平面散列。不管怎样,
true
默认值的语义是什么?