如何在hiera_hash()调用中返回默认的哈希键?
为了清理我的客户端的木偶Hiera数据,大幅减lessPuppet清单中Hiera调用的数量,我正在改变构造 some_name::key1: a_value_1 some_name::key2: a_value_2 […] some_name::keyX: a_value_X 成 some_name: key1: a_value_1 key2: a_value_2 […] keyX: a_value_X 所以,而不是有X hiera()调用,我只有一个hiera_hash()调用。 这完美的工作,直到遇到这样的情况: # some_manifest.pp hiera(some_name::key1, default_value_1) hiera(some_name::key2, default_value_2) […] hiera(some_name::keyX, default_value_X) 这里的问题是,我无法find一种方式来提供所有键的默认值以一个干净简洁的方式。 如果在层次结构中找不到hiera_hash(key_to_be_searched, default_hash)将返回hiera_hash(key_to_be_searched, default_hash)的值。 但是你不能检查散列(在层次结构中find)是否包含(至less) default_hash定义的所有键。 例如,如果我有这样的hiera数据: test: foo: bar bar: baz 加上这一点的DSL: $test_default = { foo => '1', bar => '2', baz => 'foo', } […]