puppet—从模板中使用的自定义类型收集数据的最佳方法
我有下列舱单:puppet—从模板中使用的自定义类型收集数据的最佳方法,puppet,Puppet,我有下列舱单: define foo($var) { file { $var: } $barclass::store += $var } class barclass { $store = [] foo { "test1": var => "test1", "test2": var => "test2", } file { "myfile": content => template("puppe
define foo($var) {
file { $var: }
$barclass::store += $var
}
class barclass {
$store = []
foo {
"test1": var => "test1",
"test2": var => "test2",
}
file { "myfile": content => template("puppet:///files/myfile.erb"); }
}
以及以下雇员再培训局模板:
<% store.each { |i| -%>
<%= i + " " -%>
<% } -%>
我的意图是收集所有用作foo类型参数的$var变量。并在myfile.erb模板中提供它们。在我的示例中,使用了$store变量
这个例子不起作用。我怎么了
有没有更好的方法来实现同样的目标?我基本上需要收集某些类型中使用的参数,然后在某些模板中提供它们。您不能直接访问puppet清单中设置的变量(仅事实)-您需要的是scope.lookupvar
scope.lookupvar('yourmodulename::barclass::store')
或者只是
scope.lookupvar('barclass::store')
如果它不是一个模块
所以
<% scope.lookupvar('barclass::store').each { |i| -%>
<%= i + " " -%>
<% } -%>