我正在将 Hiera 与 Puppet 结合使用,并且想要将相同的参数值传递给多个类而不重复。现在我得到了(在 Yaml 中):
---
class_a::database_server: myoraclebox.example.com
class_b::database_server: myoraclebox.example.com
这是可行的,但是我怎样才能只指定一次服务器并仍然使用 Puppet 的自动参数查找?(我宁愿不在清单中嵌入显式的 Hiera 查找,因为这会将其与 Hiera 耦合。)
答案1
使用 & YAML 锚点应该可以工作
database_server: &dbserver myoraclebox.example.com
class_a::database_server: *dbserver
class_b::database_server: *dbserver
答案2
使用hiera()
函数进行查找作为默认值:
class class_a($database_server=hiera('database_server')){
}
class class_b($database_server=hiera('database_server')){
}
这将使用完整的 Hiera 机制为您进行查找。