使用 Puppet Hiera 将相同的参数值传递给多个类

使用 Puppet Hiera 将相同的参数值传递给多个类

我正在将 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 机制为您进行查找。

相关内容