是否可以从 ruby 中访问因子变量?
if %{virtual} == 'virtualbox'
result = 'changeit'
else
result = c[1]['passwd']
end
$::virtual
事实上,变量也是如此。
该方法取决于您使用的 Ruby 函数 API。如果您使用的是当前的4.x API(您的函数位于lib/puppet/functions/*.rb
),那么:
if closure_scope['facts']['virtual'] == 'virtualbox'
或者,如果您使用的是旧版 3.x 兼容 API(您的函数位于lib/puppet/parser/functions/*.rb
),则:
if lookupvar('virtual') == 'virtualbox'