如果我有一个接收哈希变量的 puppet 类,并且我想为哈希变量中的某些键提供默认值,我可以简单地使用哈希合并($hash1 + $hash2
)来生成具有所需默认值的新类。例如,给定:
defaults:
field1: default1
field2: default2
field3: defaul3
myconfig:
field1: val1
field3: val3
然后$defaults + $myconfig
给我:
finalconfig:
field1: val1
field2: default2
field3: val3
但如果我想用列表哈希值?也就是说,如果我的输入是:
myconfig:
- field1: custom1
field2: custom2
- field1: custom1
field3: custom3
我的默认设置如下:
defaults:
field1: default1
field2: default2
field3: default3
我希望最终能得到这样的结果:
finalconfig:
- field1: custom1
field2: custom2
field3: default3
- field1: custom1
field2: default2
field3: custom3
有没有办法在傀儡清单中做到这一点?
答案1
这比我想象的要容易。如果我有:
$defaults = {
field1 => default1,
field2 => default2,
field3 => default3
}
我可以将这些默认值应用于列表像这样的哈希值
$finalconfig = $config.map |cfg| {
$defaults + $cfg
}