[chef] Re: Re: Conditional resource creation / script execution


Chronological Thread 
  • From: Sébastien Pierre < >
  • To:
  • Subject: [chef] Re: Re: Conditional resource creation / script execution
  • Date: Wed, 13 Jan 2010 16:32:28 -0500
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=mlUXUEE/+PlDa1yqjN+29phBomBIKJ2L1m1fAEAGBWhdkKQmncF1GslnbejVSToe1P xQ6tT00PA2LWh2IJKgNg1vwgVdlYr1+AWWUlYViuwsmLjnd7f1sBq2c+vYHk0wJfTO31 K9BtloPOdJk/OnSNktud7JwD9n7HJrh82w268=

Thanks,

I don't know much of Ruby, so how would I chain the script to this _expression_ ?

 -- Sébastien

2010/1/13 Joshua Miller < "> >
Something like this should work  ... 

   not_if do File.exists?(HOME + "/.ssh/id_dsa.pub"end



Joshua




http://wiki.opscode.com/display/chef/Resources#Resources-Script



On Jan 13, 2010, at 12:56 PM, Sébastien Pierre wrote:

Hello,

I would like to know how to write "conditional" parts for recipies.

For instance, I would like to check if there is a "~/.ssh/id_dsa.pub" file and create it if necessary. Right now, the solution is rather inelegant

script "ssh-keygen" do
interpreter "bash"
user        "manage"
cwd         (HOME)
code        "mkdir ssh-temp"
code        "ssh-keygen -t dsa -f ssh-temp/id_dsa << EOF\n\nEOF"
code <<-EOH
if [ ! -f .ssh/id_dsa.pub ]; then
mv ssh-temp/* .ssh/
fi
rm -rf ssh-temp
EOH
end

while I would prefer

unless (File exists (HOME + "/.ssh/id_dsa.pub") script do
interpreter "bash"
user        "manage"
cwd         (HOME)
code        "ssh-keygen -t dsa -f ssh-temp/id_dsa << EOF\n\nEOF"
end

Is there a way to do this properly ?

 -- Sébastien





Archive powered by MHonArc 2.6.16.

§