[chef] Re: Re: Re: Iterating over an array for a set of resources


Chronological Thread 
  • From: Maven User < >
  • To:
  • Subject: [chef] Re: Re: Re: Iterating over an array for a set of resources
  • Date: Tue, 16 Oct 2012 22:33:35 -0400

I _just_ got it working - and yeah, very similar.

I have to generate a given file several times so the loop is outside of the template - but got it working.

Thanks again!

On Tue, Oct 16, 2012 at 9:09 PM, Jesse Nelson < " target="_blank"> > wrote:
You can pass any ruby data to your template via the variables option.
Erb templates support loops:

template "/tmp/foo" do
   source "foo.erb"
   variables( :org => org )
end

~~~ foo.erb

<% @org.each do |org| -%>
org is: <%= org %>
<% end %>


This is untested code i just wrote in the email, but the concept
should be communicated.




On Tue, Oct 16, 2012 at 5:52 PM, Maven User < "> > wrote:
> A better way would be - how can I user a property in a recipe to expand
> tokens inside an erb file - or is that not possible?
>
>
>
>
> On Tue, Oct 16, 2012 at 7:46 PM, Maven User < "> > wrote:
>>
>> Hi list -
>>
>> I'm struggling a little bit with something - I'm trying to provision a
>> "demo" environment and we need to set up several "fake" users.
>>
>> Part of this process is to fill in some data in a template then run a
>> script, but I feel like the loop just selects the last thing in the array:
>>
>> orgs = ["Ermergerd", "FOO"]
>>
>>
>> orgs.each do |org|
>>    Chef::Log.info("Org is : " + org)
>>    node.set[:org] = org
>>    Chef::Log.info("Org after node set: " + node[:org])
>> end
>>
>> Is there a way to do this?  I'm not even seeing anything come out of that
>> loop :-/
>
>




Archive powered by MHonArc 2.6.16.

§