Puppet 连接模板

kai*_*ser 4 puppet templates

在我目前正在处理的模块中,我得到了大量需要设置的配置选项,具有默认值......并且应该被分割成更短的模板文件,否则它将成为滚动的噩梦。

推荐的方法是使用一些第三方模块。没有内置的方法吗?

kai*_*ser 7

另一个出人意料地有效(我找不到任何文档)的可能解决方案是template()函数内部的数组语法:

file { "${location}/final-file.php":
    ensure  => file,
    content => template(
        'wppuppet/template.a.erb',
        'wppuppet/template.b.erb',
        'wppuppet/template.c.erb'
    ),
}
Run Code Online (Sandbox Code Playgroud)


kai*_*ser 5

一种可能的解决方案是在变量中获取模板。然后连接字符串并将其推入一个inline_template()

$a = template( 'wppuppet/my-file.a.erb' )
$b = template( 'wppuppet/my-file.b.erb' )
$c = template( 'wppuppet/my-file.c.erb' )

file { "${location}/final-file.php":
    ensure  => file,
    content => inline_template( "${a}${b}${c}" ),
}
Run Code Online (Sandbox Code Playgroud)