我正在尝试为厨师食谱编写一个库,简化了一些常见搜索.
例如,我希望能够做同样的事情cookbook/libraries/library.rb,然后在同一本食谱中的食谱中使用它:
module Example
def self.search_attribute(attribute_name)
return search(:nodes, node[attribute_name])
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,在Chef库文件中,node对象或search函数都不可用.
搜索似乎可以通过使用Chef::Search::Query.new().search(...),但我找不到任何有效的访问node.由此产生的错误是:
undefined local variable or method `node' for Example:Module
Run Code Online (Sandbox Code Playgroud)
使用Chef 10.16.4.