从 ruby 中访问因子变量
Access facter variable from within ruby
是否可以从 ruby 中访问 facter 变量?
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'
文档:Writing functions in Ruby: Accessing Puppet variables
或者,如果您使用的是与旧版 3.x 兼容的 API(您的函数位于 lib/puppet/parser/functions/*.rb
),则:
if lookupvar('virtual') == 'virtualbox'
是否可以从 ruby 中访问 facter 变量?
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'
文档:Writing functions in Ruby: Accessing Puppet variables
或者,如果您使用的是与旧版 3.x 兼容的 API(您的函数位于 lib/puppet/parser/functions/*.rb
),则:
if lookupvar('virtual') == 'virtualbox'