在我的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而不处理它。