如何使用木偶查找直接访问 hiera 哈希中的值?

How to access a value in an hiera hash directly with puppet lookup?

假设有一个 hiera 哈希:

foo::bar:
  key1: 'value1'
  key2: 'value2'

有没有可能直接用查找函数查找key1的值?

我想到了类似的东西:

class myclass (
  String $value1 = lookup('foo::bar::key1'),
) {
...
}

我能解决这个问题的唯一方法是查找哈希并稍后使用 hash['key1'] 访问该值,但也许有更简洁的方法来做到这一点。

不幸的是,在 Puppet 中没有办法只使用 lookup

从根本上说,lookup 通过查找与散列键无关的 Hiera 键来工作。 foo::bar::baz 形式的 Hiera 键实际上是一个单一的非结构化字符串——它并不意味着存在名为 foofoo::bar 的散列。 :: 只是键字符串的一部分——它不是散列查找的语法糖,例如 JavaScript.

中的 .

lookup 记录在

https://puppet.com/docs/puppet/latest/hiera_automatic.html