Je veux obtenir une sortie de commande dans un attribut chef. Quelqu'un peut-il m'aider à définir cela dans la ressource d'exécution ou la ressource 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
Comment utiliser les attributs dans le code ci-dessus.
La réponse à votre question est assez mich donnée dans Comment puis-je mettre la sortie d'une "exécution de ressource" de Chef dans une variable . Avec une petite modification, si je comprends bien la question, votre problème peut être résolu comme suit:
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
Remplacez le contenu de command
par la commande que vous souhaitez exécuter et my_attribute
avec l'attribut que vous souhaitez définir.