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:

<VirtualHost *:80>
  ServerName <%= name %>
  ServerAlias www.<%= name %>
  DocumentRoot /home/<%= name %>/public_html
  SuexecUserGroup <%= user %> <%= user %>
  <Directory "<%= docroot %>" >
      AllowOverride None
      Order allow,deny
      Allow from all
      Options +SymlinksIfOwnerMatch +Includes
  </Directory>
  ErrorLog /var/log/httpd/<%= user %>/wp_domain-error_log
  CustomLog /var/log/httpd/<%= user %>/wp_domain-access_log combined
  CustomLog /var/log/httpd/<%= user %>/wp_domain-bytes_log "%I %O"
</VirtualHost>


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 ?

Thanks!

On 09/18/2012 08:22 PM, Stephen Gran wrote:
Hi,

On Tue, 2012-09-18 at 19:44 +0500, Stoyan Petkov wrote:
Hello All,

I am trying to create a bunch of apache .conf files by reading data
from a database. My script returns a list of values from the database
in YAML form:

---
classes:
   - apache
   - dummy
parameters:
   domains: 'domains1,domains2,domains3'
   puppet_server: dist
   users: 'user1, user2'
That looks like just a comma-separated string being returned, which is
fine.  We need an array to do what you want, however, so something like:

$vhost_list = split($domains, ',')

vhostvirt { $vhost_list: }


This will create one vhostvirt for each entry in $domains.

Cheers,

--
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.

Reply via email to