我有一个厨师定制资源myresource.rb
resource_name :myresource
property :artifact_id, String
property :group_id, String
action :create do
Chef::Log.info("Package #{artifact_id} Group #{group_id}")
end
我从酷书中这样称呼它。
myresource 'myresource' do
artifact_id "artefict"
group_id "group"
end
但是在该日志记录中出现以下错误:
NameError:未定义的局部变量或方法`artifact_id'
有什么主意吗?我也尝试过:
Chef::Log.info("Package #{:artifact_id} Group #{:group_id}")
尽管这不会引发错误,但它会输出:
包装artifact_id组group_id
这是不正确的。
答案 0 :(得分:0)
我解决了。从Chef版本14开始,您必须使用resource.property_name而不是property_name来引用property。之前我有点困惑,因为他们在Chef Custom Resource Docs中使用两种类型,可能他们还没有使用新方法更新整个文档。