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.

Reply via email to