Puppet 连接模板

Puppet 连接模板

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

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

答案1

另一个可能的解决方案令人惊讶地有效(但我找不到任何文档),那就是template()函数内部的数组语法:

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

答案2

一种可能的解决方案是获取变量中的模板。然后连接字符串并将其推送到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}" ),
}

相关内容