Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
puppet—从模板中使用的自定义类型收集数据的最佳方法_Puppet - Fatal编程技术网

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 + " " -%> 
<% } -%>