是否可以从ruby中访问一个facter变量?
if %{virtual} == 'virtualbox'
result = 'changeit'
else
result = c[1]['passwd']
end
所以$::virtual
是facter中的一个变量。
答案 0 :(得分:0)
该方法取决于您使用的Ruby函数API。如果您正在使用当前的4.x API(您的函数位于lib/puppet/functions/*.rb
),那么:
if closure_scope['facts']['virtual'] == 'virtualbox'
文档:Writing functions in Ruby: Accessing Puppet variables
或者,如果您正在使用旧版3.x兼容API(您的功能位于lib/puppet/parser/functions/*.rb
),那么:
if lookupvar('virtual') == 'virtualbox'