Yaml 使用嵌套键获取puppet清单中的hiera值
我对使用hiera和puppet很陌生(对puppet有些陌生) 我写了一些yaml:Yaml 使用嵌套键获取puppet清单中的hiera值,yaml,puppet,hiera,Yaml,Puppet,Hiera,我对使用hiera和puppet很陌生(对puppet有些陌生) 我写了一些yaml: --- web_mysql_server: mysql_database: "my_production" 然后我尝试在木偶清单中使用它,因此: database => hiera('web_mysql_server::mysql_database'), 这不起作用,产生了错误 Error: Could not find data item web_mysql_server::mysql_data
---
web_mysql_server:
mysql_database: "my_production"
然后我尝试在木偶清单中使用它,因此:
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('web_mysql_server.mysql_database')
这种限定键的语法并不总是存在,文档中说它来自Hiera2.0
我知道我们使用puppet 3.8.3,我们的设置中还不支持合格密钥。我们通过这种方法解决了这一限制:
$mysql_configuration = hiera('web_mysql_server')
# ...
database => $mysql_configuration['mysql_database']
你用的是什么版本的puppet?puppet是3.4.3(Ubuntu14.04 LTS)。dpkg说我用的是Hiera1.3,点符号对我也不起作用。那么,在Hiera2.0之前,嵌套键是不可能的?我相信是的。我将用可能的解决方案更新我的答案