获取在 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']}获取一些主机变量。 如何获取在运行时更改的块名称?

提前致谢。

不直接支持。除了编译时属性外,资源没有输出值或输入值。