我想声明一个资源,该资源要在通知时多次运行,并且仅在通知时运行。如何防止资源在声明后自行运行?
有没有什么方法可以检查是否存在通知,以便我可以运行类似“only_if :notified”的命令?
答案1
action :nothing
声明时使用。
答案2
下面是一个示例,execute
只有当我的资源汇聚时,我的资源才会汇聚directory
:
directory '/opt/foo' do
action :create
notifies :run, 'execute[custom command]', :immediately
end
execute 'custom command' do
command 'echo foo'
action :nothing
end
看https://docs.chef.io/chef/resources.html#notifications查看更多示例。