networking:
configs:
hosts:
"localhost":
"ip": "127.0.0.1"
"host_aliases": - "localhost"
"ensure" : "present"
"foo":
"ip": "%{ipaddress}"
"host_aliases" : "%{hostname}.test"
"ensure": "present"
init.pp
------------------------------------------------
class networking
(
$config_data = hiera_hash("networking")
)
{
class { "networking::data":
config_data => $config_data
}
include networking::hosts
{
hosts.pp
-------------------------
class networking::hosts inherits networking::data
{
resources { 'host':
purge => true,
}
create_resources('host', $config_data['configs']['hosts'])
}