2

我正在尝试使用 Chef LWRP 下的目录资源,但无法访问资源块内的属性,有没有办法做到这一点。或者我完全错了,需要不同的方法来实现这一点。

my-cookbook/providers/default.rb

use_inline_resources

action :setup do
  directory node["#{@new_resource.name}"] do
    action :create
    not_if {node["#{@new_resource.name}"].include? "test"}
  end
end

@new_resource.name线上的not_if {node["#{@new_resource.name}"].include? "test"}被评估为 nilClass,

虽然它得到了正确的directory node["#{@new_resource.name}"] do在线评估

谢谢

4

1 回答 1

1

终于找到了

当引用另一个资源中的变量时,我们需要在没有@的情况下访问它。

action :setup do
  new_resource = @new_resource
  directory node["#{@new_resource.name}"] do
    action :create
    not_if {node["#{new_resource.name}"].include? "test"}
  end
end

感谢@stajkowski(GitHub

于 2016-12-09T23:13:50.843 回答