yaml - 使用嵌套键在 puppet list 中获取 hiera 值

标签 yaml puppet hiera

我刚开始将 hiera 与 puppet 结合使用(对 puppet 也有些陌生)。

我写了这段 yaml:

---
web_mysql_server:
 mysql_database: "my_production"

然后我尝试在 puppet list 中使用它:

database => hiera('web_mysql_server::mysql_database'),

这不起作用,生成错误

Error: Could not find data item web_mysql_server::mysql_database
  in any Hiera data file and no default supplied at
  /vagrant/puppet/modules/web_mysql_server/manifests/init.pp:33
  on node railstest.vm

(为了便于阅读,我在其中添加了一些 '\n')。

我怀疑(希望!)这是一个我没有得到的简单语法错误。有人看到我做错了什么吗?

最佳答案

基于hiera documentation ,访问嵌套键的正确语法是

hiera('web_mysql_server.mysql_database')

这种限定键的语法并不总是存在,文档称它来自 Hiera 2.0。

我知道我们使用 puppet 3.8.3 并且我们的设置尚不支持限定 key 。我们通过这种方法解决了这个限制:

$mysql_configuration = hiera('web_mysql_server')
# ...
database => $mysql_configuration['mysql_database']

关于yaml - 使用嵌套键在 puppet list 中获取 hiera 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37227173/

相关文章:

Puppet 编写一个在查找成功时运行的命令?

email - 如何使用 Ansible 发送电子邮件

vagrant - Puppet - 如何将目录的内容移动到另一个现有目录?

puppet - hiera 合并不起作用

windows-services - 如何使用puppet安装/卸载Windows服务?

puppet - Puppet 中 Ansible 的 delegate_to 相当于什么

python - 值错误: unsupported format character '{' (0x7b) at index

html - 适用于结构化数据的文本友好文件格式

YAML 中的 docker-compose.yml 破折号语法

Python YAML 参数引用(从其他参数获取值)