代码之家  ›  专栏  ›  技术社区  ›  jma

使用嵌套键获取木偶清单中的hiera值

  •  2
  • jma  · 技术社区  · 8 年前

    我不太熟悉用象形文字和木偶(对木偶来说也有点陌生)。

    我写了这段山药:

    ---
    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' 此处为可读性)。

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

    1 回复  |  直到 8 年前
        1
  •  4
  •   Mifeet Alexander    8 年前

    总部位于 hiera documentation ,访问嵌套键的正确语法是

    hiera('web_mysql_server.mysql_database')
    

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

    我知道我们使用puppet 3.8.3,我们的设置中还不支持合格密钥。我们使用这种方法来解决这个限制:

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