いくつかの一般的な検索を簡素化するシェフのクックブック用のライブラリを作成しようとしています。
cookbook/libraries/library.rb
たとえば、次のようなことをして、同じクックブックのレシピから使用できるようにしたいと考えています。
module Example
def self.search_attribute(attribute_name)
return search(:nodes, node[attribute_name])
end
end
問題は、Chef ライブラリ ファイル内では、node
オブジェクトもsearch
関数も使用できないことです。
を使って検索はできるようですがChef::Search::Query.new().search(...)
、アクセスできるものが見つかりませんnode
。これによるエラーは次のとおりです。
undefined local variable or method `node' for Example:Module
Chef 10.16.4 を使用。