首先,我是编程的新手,也是厨师食谱的新手。但是我在玩耍,被困在试图弄清楚如何更改已更改的菜谱块。
例如:
cookbook_file '/etc/wil.conf' do
source 'wil.conf'
owner 'root'
group 'root'
mode '0644'
action :create
end
cookbook_file '/etc/wel.conf' do
source 'wel.conf'
owner 'root'
group 'root'
mode '0644'
action :create
end
ruby_block 'sendpost' do
block do
`curl -s -o /dev/null -w "%{http_code}" -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"appId":"APP","category":"APPLICATION","waterMark":null,"timestamp":"{EVENT.DATE}","status":"{Active}","resource":"#{changed}","alertTime":"{EVENT.AGE}","gateway":"#{ENV['HOSTNAME']}"}' http://server:port/context`
end
action :nothing
subscribes :run, 'cookbook_file[/etc/wil.conf]', :immediately
subscribes :run, 'cookbook_file[/etc/wel.conf]', :immediately
end
我正在对一些配置文件进行版本控制,并编写了ruby_block来发送发布请求,我的问题是,我想知道两个资源中的哪个已更改,或者:
wil.conf或
wel.conf
因此,在我的弯腰中,我将随请求一起发送已更改的资源 cookbook_file name 块(“资源”:“ {???已更改的文件???}”)
我通过#{ENV ['HOSTNAME']}获得了一些主机变量。 如何获取在运行时发生更改的块名称?
谢谢。
答案 0 :(得分:0)
不直接支持此功能。资源没有编译时属性以外的输出值或输入值。