如果我有一个接收哈希variables的puppet类,并且我想为哈希variables中的某些键提供默认值,我可以简单地使用哈希合并( $hash1 + $hash2 )来生成一个新的类默认值。 即,给定:
defaults: field1: default1 field2: default2 field3: defaul3 myconfig: field1: val1 field3: val3
然后$defaults + $myconfig给我:
finalconfig: field1: val1 field2: default2 field3: val3
但是如果我想用哈希列表完成同样的事情,我该怎么做? 也就是说,如果我的input是:
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
有没有办法在傀儡清单内做到这一点?
这比我想象的要容易得多。 如果我有:
$defaults = { field1 => default1, field2 => default2, field3 => default3 }
我可以将这些默认值应用于这样的散列列表
$finalconfig = $config.map |cfg| { $defaults + $cfg }