Я пытаюсь глубоко объединить поиск 'default_value' или 'default_values_hash' с хешем, возвращенным из поиска. Он не будет объединяться, и значение default_value вступит в силу, только если заголовок hiera не найден вообще. Здесь я не могу установить значения по умолчанию для ресурса, так как возвращаемые значения обрабатываются позже и еще не являются фактическими ключами ресурса.
Я пробовал многочисленные варианты, включая 'default_value', 'default_values_hash'. Я ищу способ просто установить хеш по умолчанию в манифесте и сделать так, чтобы он сливался с hiera для создания большего хеша.
Manifest:
class test (
Hash $result = lookup('test::my_hash', {merge => 'deep', default_values_hash => {foo => 'bar', this => 'that', him => 'her'}}),
){
notice($result)
}
include test
Hiera:
---
test::my_hash:
foo: 'nobar'
this: 'then'
желаемый результат (глубокое слияние):
{foo => 'nobar', это => 'then', ему => 'her'}
фактический результат (возвращает только хеш hiera):
{foo => 'nobar', this => 'then'}
UPDATE:
Я понял, работает с кодом ниже. По-прежнему интересно, если у кого-нибудь есть лучшее решение.
class test (
$stuff = {
foo => 'bar',
this => 'that',
him => 'her'
},
Hash $result = deep_merge($stuff, lookup('test::my_hash')),
){
notice($result)
}