Hi, On Tue, 2012-09-18 at 21:26 +0500, Stoyan Petkov wrote: > Thanks Stephen! That did the trick (although I tried it a few times but > to no avail.), however, I now see that I didn't describe the whole picture. > > The definition seems ok but the template contains:
... > and for each domain I'd like to match a user, effectively passing an > associative array to the definition: > > --- > classes: > - apache > - dummy > parameters: > puppet_server: dist > vhost_info: "'domains1=>user1','domains2=>user2','domains3=>user3'" > > > Is that doable in puppet ? Nearly. The problem you'll run into is that, since there are no loop iterators in the puppet DSL (why, oh why, still?) you end up not being able to do something like: virt_host { $array: user => $hash[$name] } (where $name is the array entry, and you can dynamically pluck it out of the hash as you go). That would be nice, but no. You'll have to do something like pass the associative array to the define, and in the define pull back the values to be used in the template based on the key $name. Something like: define vhostvirt($data) { $user = $data[$name] $docroot = $data[$name] file { "/tmp/${name}": #content => template("apache/vhost.conf.erb"), owner => 'root', group => 'root', mode => '777', ensure => present, } } That should be enough to get you going. Good luck, -- Stephen Gran Senior Systems Integrator - guardian.co.uk Please consider the environment before printing this email. ------------------------------------------------------------------ Visit guardian.co.uk - newspaper of the year www.guardian.co.uk www.observer.co.uk www.guardiannews.com On your mobile, visit m.guardian.co.uk or download the Guardian iPhone app www.guardian.co.uk/iphone and iPad edition www.guardian.co.uk/iPad Save up to 37% by subscribing to the Guardian and Observer - choose the papers you want and get full digital access. Visit guardian.co.uk/subscribe --------------------------------------------------------------------- This e-mail and all attachments are confidential and may also be privileged. If you are not the named recipient, please notify the sender and delete the e-mail and all attachments immediately. Do not disclose the contents to another person. You may not use the information for any purpose, or store, or copy, it in any way. Guardian News & Media Limited is not liable for any computer viruses or other material transmitted with or as part of this e-mail. You should employ virus checking software. Guardian News & Media Limited A member of Guardian Media Group plc Registered Office PO Box 68164 Kings Place 90 York Way London N1P 2AP Registered in England Number 908396 -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@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.