获取在 cookbook 上执行的方法名称 (Chef)
Get method name that is executed on cookbook (Chef)
首先,我是编程新手,也是厨师食谱新手。但我一直在玩弄并试图弄清楚如何获得已更改的食谱块。
例如:
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 来发送一个 post 请求,我的问题是,我想知道这两个资源中的哪一个发生了变化,任何一个:
wil.conf 或
wel.conf
所以在我的 curl 中,我会连同请求一起发送已更改的资源 cookbook_file 名称 块 ("resource":"{ ?? ? 已更改的文件 ??? }")
我正在使用#{ENV['HOSTNAME']}获取一些主机变量。
如何获取在运行时更改的块名称?
提前致谢。
不直接支持。除了编译时属性外,资源没有输出值或输入值。
首先,我是编程新手,也是厨师食谱新手。但我一直在玩弄并试图弄清楚如何获得已更改的食谱块。
例如:
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 来发送一个 post 请求,我的问题是,我想知道这两个资源中的哪一个发生了变化,任何一个:
wil.conf 或
wel.conf
所以在我的 curl 中,我会连同请求一起发送已更改的资源 cookbook_file 名称 块 ("resource":"{ ?? ? 已更改的文件 ??? }")
我正在使用#{ENV['HOSTNAME']}获取一些主机变量。 如何获取在运行时更改的块名称?
提前致谢。
不直接支持。除了编译时属性外,资源没有输出值或输入值。