[Puppet Users] Some advice on using hashes in ERB templates needed
Hi all, I'm working with Puppet version 0.25.4 and as far as I have read in this list it's not possible to access complex data structures from within an ERB template, instead serializing is needed. Due to my lack of Ruby knowledge I didn't find the right solution for this problem: Given this Yaml (coming out of an external node definition): --- classes: - vim - users - templates_eval::testvars environment: test parameters: workers: bo-01-010101: type: ajp13 host: myhostname.net Now I want to iterate over the 'workers' inside the ERB template and tried (among others) this: 16 % workers.each do |worker| -% 17 %= @m_worker = Marshal.load(worker) % 18 worker.%= worker %.type=%= @m_worker.type % ... 25 26 % end -% Accessing the 'workers' hash works, but accessing 'worker.type' and 'worker.host' not. I guess I will have to learn Ruby now ;-) but in the meantime, can some Ruby expert please tell me how to do this? Thanks a lot in advance! Bernd -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Some advice on using hashes in ERB templates needed
Now I want to iterate over the 'workers' inside the ERB template and tried (among others) this: 16 % workers.each do |worker| -% 17 %= @m_worker = Marshal.load(worker) % 18 worker.%= worker %.type=%= @m_worker.type % ... 25 26 % end -% Accessing the 'workers' hash works, but accessing 'worker.type' and 'worker.host' not. I guess I will have to learn Ruby now ;-) but in the meantime, can some Ruby expert please tell me how to do this? Thanks a lot in advance! Bernd worker['type'] and worker['host'] is the way the Ruby should look. --Michael -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Some advice on using hashes in ERB templates needed
On Fri, Apr 30, 2010 at 9:18 AM, Michael DeHaan mich...@puppetlabs.com wrote: Now I want to iterate over the 'workers' inside the ERB template and tried (among others) this: 16 % workers.each do |worker| -% 17 %= @m_worker = Marshal.load(worker) % 18 worker.%= worker %.type=%= @m_worker.type % ... 25 26 % end -% Accessing the 'workers' hash works, but accessing 'worker.type' and 'worker.host' not. I guess I will have to learn Ruby now ;-) but in the meantime, can some Ruby expert please tell me how to do this? Thanks a lot in advance! Bernd worker['type'] and worker['host'] is the way the Ruby should look. Also, you shouldn't need Marshal.load and the @m_worker either. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.