如何访问傀儡variables

我写了一个模块,并且在位置:/etc/puppet/network/manifests/vlan/vlan.pp中定义了一个名为“master”的variables。 在vlan.pp中,我调用了一个模板文件:file {“ifcfg – $ {interface}”:content => template('net / vlan.erb'),}但是我无法访问variables“master”在文件位置:

/etc/puppet/modules/net/templates/vlan.erb

木偶在客户端上运行时,它不会被打印。 我的理解是这是一个范围问题,但我被困在范围调用应该是什么人,请有人可以帮助我呢?

我已经在erb文件中尝试了以下调用:<%= scope.lookupvar('network :: vlan :: master')%> <%= scope.lookupvar('network :: vlan :: vlan :: master ')%> <%= master%>

谢谢丹

我会改变你的模板有这样的:

<%= @master %> 

还要确保在你的vlan.pp中有这样的东西:

 $master = "value" 

该模板将具有在生成模板的范围内可访问的任何variables。 确保在模板中可以访问variables的简单方法是将任何variables从本地作用域外部变成一个实例variables,如下所示:

 $var = $somemodule::var 

然后你用@var访问模板中的var。