如何在puppet中更改模板目录

时间:2017-01-04 12:06:39

标签: puppet

我的默认模板目录是

jacocoTestReport {
    reports {
        xml.enabled true
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}

虽然我的模块路径是

# sudo puppet config print templatedir
/var/lib/puppet/templates

如何制作相对于模块路径的模板目录? 即# sudo puppet config print modulepath --section master /etc/puppet/modules:/usr/share/puppet/modules

之类的东西

P.S。我用Google搜索,没有找到相关结果。请帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用template函数使用模块路径https://docs.puppet.com/puppet/latest/function.html#template返回字符串。如果您想在/etc/puppet/modules/module_name/templates中引用模板,那么您可以执行template(module_name/template.erb)。如果您想使用.epp模板而不是.erb,则可以使用epp函数https://docs.puppet.com/puppet/latest/function.html#epp

由于content资源的file属性(https://docs.puppet.com/puppet/latest/types/file.html#file-attribute-content)接受字符串,您可以在file资源中使用这两个函数的字符串返回值,例如这样:

file { '/path/to/file':
  ensure  => file,
  content => template('module_name/template.erb'),
}

file { '/path/to/file':
  ensure  => file,
  content => epp('module_name/template.epp'),
}