Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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'])
}