我编写了一个自定义轻量级资源。但是 notify 和 only_if 不被识别。
其他人得到这个工作?
我在 opsworks 用品资源中使用这些。所以我知道我正确地使用它们。不幸的是专有代码,所以我不能发布代码。
我编写了一个自定义轻量级资源。但是 notify 和 only_if 不被识别。
其他人得到这个工作?
我在 opsworks 用品资源中使用这些。所以我知道我正确地使用它们。不幸的是专有代码,所以我不能发布代码。
这是来自Opscode的示例
action :create do
t = template "/etc/cron.d/#{new_resource.name}" do
cookbook new_resource.cookbook
source "cron.d.erb"
mode "0644"
variables({
:name => new_resource.name,
:minute => new_resource.minute,
:hour => new_resource.hour,
:day => new_resource.day,
:month => new_resource.month,
:weekday => new_resource.weekday,
:command => new_resource.command,
:user => new_resource.user,
:mailto => new_resource.mailto,
:path => new_resource.path,
:home => new_resource.home,
:shell => new_resource.shell
})
action :create
end
new_resource.updated_by_last_action(t.updated_by_last_action?)
end
如果您想更深入地研究,只需点击链接。
好的。实时调频。不是真的。我没有发现这个具体问题。如果您编写自己的轻量级资源并希望能够使用通知,请使用
new_resource.updated_by_last_action(false) 或
new_resource.updated_by_last_action(true)
在您的资源操作代码中。
然后通知将发生(真)或不发生(假)。
看起来,@Robert 提到的解决方案从未奏效,如 Chef issue #3748中所述。一个可行的解决方案是使用“use_inline_resources”。