找不到厨师自定义资源属性

时间:2018-06-21 06:14:12

标签: chef

我有一个厨师定制资源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

这是不正确的。

1 个答案:

答案 0 :(得分:0)

我解决了。从Chef版本14开始,您必须使用resource.property_name而不是property_name来引用property。之前我有点困惑,因为他们在Chef Custom Resource Docs中使用两种类型,可能他们还没有使用新方法更新整个文档。