I'm trying to implement /etc/hosts handling using hiera as data
source, but my current implementation requires data duplication
because I could pass only array of strings as $name to host resource.
Is there any way to avoid such data duplication? Or maybe it is
possible to use templates but keep ability to have local modifications
to /etc/hosts file?

class hosts ($hosts = hiera("hosts"), $hostsdefs =
hiera("hostsdefs"))  {

      define hostentry( ) {
          host{ $name: ip => $hostsdefs[$name][ipaddress],
host_aliases => $hostsdefs[$name][host_aliases]  }
      }

      hostentry{ $hosts: }
}

common.yaml
----
hosts:
    - host1.example.com
    - host2.example.com
hostsdefs:
    host1.example.com:
          ipaddress: 10.0.0.1
          host_aliases: host1
    host2.example.com:
          ipaddress: 10.0.0.2
          host_aliases: host2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to