是否可以从ruby中访问facter变量?
if %{virtual} == 'virtualbox'
result = 'changeit'
else
result = c[1]['passwd']
end
所以$::virtual
是Facter中的变量。
该方法取决于您使用的Ruby函数API。如果您使用的是当前的4.x API(您的功能在lib/puppet/functions/*.rb
(,则:
if closure_scope['facts']['virtual'] == 'virtualbox'
文档:Ruby中的写作功能:访问木偶变量
或使用旧的3.x兼容API(您的功能在lib/puppet/parser/functions/*.rb
(,则:
if lookupvar('virtual') == 'virtualbox'
文档:传统红宝石函数API:使用事实和变量