2016-05-14 58 views
2

我是新来的木偶使用hiera(并且对于木偶有点新鲜)。获得具有嵌套按键的木偶清单中的hiera值

我写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_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'的可读性)。

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

+0

您使用的木偶版本是什么? – Mifeet

+0

Puppet是3.4.3(Ubuntu 14.04 LTS)。 – jma

回答

3

立足hiera documentation,用于访问嵌套键正确的语法是

hiera('web_mysql_server.mysql_database') 

这句法合格的按键并没有被周围一如既往的文件说,从Hiera 2.0的。

我知道我们使用木偶3.8.3并且在我们的设置中尚不支持合格的键。我们采用这种方法解决了这个限制:

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

dpkg说我使用hiera 1.3,点符号也不适用于我。 Pre-hiera 2.0,那么嵌套键甚至不可能? – jma

+0

我相信是的。我会用可能的解决方案更新我的答案 – Mifeet