将hieraconfiguration打印到由puppetpipe理的configuration文件中的多行

在我的yaml文件中,我有多个值需要打印到另一个php模块pipe理的ini文件中。 我可以通过heira获取值并将它们输出到ini文件,但格式不正确。 yaml文件中的每个项目都必须用一行分隔,我该如何实现?

这是我的yaml文件:

--- nginx: phpini: - display_errors = On - error_reporting = -1 - date.timezone = "Europe/London" - sendmail_path = "/usr/bin/env /usr/local/bin/catchmail" - xdebug.default_enable = 1 - xdebug.remote_autostart = 0 - xdebug.remote_connect_back = 1 - xdebug.remote_enable = 1 - xdebug.remote_handler = "dbgp" - xdebug.remote_port = 9000 

这就是我为什么尝试了一些不同的东西而没有成功的原因:

 php::ini { 'php.ini': value => [ $nginx['phpini'] ], require => Package["php5-cli"] } 

价值是我需要输出每个值从phpini到一个单独的行。

更新:

这是正在使用的模板文件:

 ; File Managed by Puppet <% if @value != "" -%> <% if @value.is_a? Array -%> <% @value.each do |name| -%> <%= name %> <% end %> <% else -%> <%= value %> <% end -%> <% end -%> 

所以模板支持数组(我认为ruby不是我的强项),但是Heira连接了yaml的数组。 使用heira_array调用数据没有任何区别。

Hiera是作为一个数组获取的,但是你将它作为string传递给$nginx['phpini'].join("\n") – 切换到直接传递variables而不处理它。