Puppet 使用定义的类型生成数组?
我目前有一个类,看起来像这样:Puppet 使用定义的类型生成数组?,puppet,Puppet,我目前有一个类,看起来像这样: class mymodule ( $files = [], ) { file { '/my/file': ensure => file, content => template(mymodule/mytemplate.erb) } } 和一个模板: files: <% @files.each do |file| -%> - <%= file %> <% end -%> 使用定义的类
class mymodule (
$files = [],
) {
file { '/my/file':
ensure => file,
content => template(mymodule/mytemplate.erb)
}
}
和一个模板:
files:
<% @files.each do |file| -%>
- <%= file %>
<% end -%>
使用定义的类型构建
文件
数组的好方法是什么?使用模板很难实现这样的结构。相反,有两种常见的方法
concat模块
使用该模块,您可以使您的文件由谨慎片段的串联组成
class mymodule {
concat { '/my/file': ensure => present }
}
define mymodule::file($content) {
concat::fragment {
target => '/my/file',
content => $content,
order => '50',
}
}
希拉
如果您可以使用create\u resources
construct将资源移动到Hiera,您可以轻松地提取资源标题并在模板中使用它们
class mymodule {
concat { '/my/file': ensure => present }
}
define mymodule::file($content) {
concat::fragment {
target => '/my/file',
content => $content,
order => '50',
}
}