not sure if this is the "best" way to do this, but, taking from a different module I have:
hiera yaml: snmp_filesystems: root: { mountpoint: '/', threshold: '10%' } snmp_collector: test: { ip: '1.2.3.4', group: 'readonly', community: 'somecommunity' } class: class snmp::params( filesystems = hiera(snmp_filesystems, undef), collector = hiera(snmp_collector, undef) { #… } template: <% collector = scope.lookupvar('snmp::params::collector') filesystems = scope.lookupvar('snmp::params::filesystems') -%> <% collector.each_pair do |key, hash| -%> group <%=hash['group']-%> v2c <%=key%> <%end-%> # Filesystem monitoring enabled <% filesystems.each_pair do |key, hash| -%> # <%=key%> disk <%=hash['mountpoint']-%> <%=hash['threshold']%> <%end-%> does that help at all? Wolf Noble UNIX Team Lead Datapipe Managed IT Services 1.201.792.4847 (international) x2910 1.888.749.5821 (toll free) x2910 On Jan 4, 2013, at 9:37 AM, llowder <llowde...@gmail.com> wrote: > > > On Friday, January 4, 2013 9:11:28 AM UTC-6, Andy Taylor wrote: > Hi, > > I'm trying to build a module for haproxy which fetches all the configuration > data from Hiera to populate the haproxy config file. I've run into a number > of issues though when I try to use hashes. Ideally, I want to use something > like this: > > haproxy_listeners : > "cluster1" : > ip : '192.168.0.2' > port : '80' > servers : > "server1" : > ip : '192.168.0.3' > port : '8080' > > So a hash of clusters with each cluster containing a nested hash of servers. > Is this possible with Hiera/ERB? It's easy enough to iterate over the first > hash, but I can't work out how to extract the contents of the nested hash. Or > I might just be approaching this in entirely the wrong way... Any help would > be much appreciated. > > > I haven't used the function myself, but this looks like it would be a good > case for a define + create_resources(), which I think is part of stdlib. You > might need to restructure the hashes slightly, but I think that will be the > best approach. > > > Thanks, > > Andy > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/puppet-users/-/DPkuzR8Q8soJ. > 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. ________________________________ This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/legal/email_disclaimer/ for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you. -- 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.