コマンド出力をchef属性に取得したいのですが。実行リソースまたはbashリソースでそれを設定する方法を手伝ってくれる人がいますか?.
Ruby_block "something" do
block do
#tricky way to load this Chef::Mixin::ShellOut utilities
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = 'cat #{fileName}'
command_out = Shell_out(command)
node.set['my_attribute'] = command_out.stdout
end
action :create
end
上記のコードで属性を使用する方法。
あなたの質問への答えは で与えられたかなりの方法ですChefの「リソースの実行」の出力を変数に入れるにはどうすればよいですか 。小さな変更を加えると、質問が正しく理解できれば、問題は次のように解決できます。
Ruby_block "something" do
block do
#tricky way to load this Chef::Mixin::ShellOut utilities
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = 'cat /etc/hostname'
command_out = Shell_out(command)
node.set['my_attribute'] = command_out.stdout
end
action :create
end
command
の内容を、実行するコマンドとmy_attribute
に設定する属性を指定します。