# Sets up our dns-server, assumes that all zone information comes from # hiera. class profiles::dns_zones ( Hash $zones, Hash $default = {}, Optional[Hash] $views = undef, Hash $view_defaults = {}, String $default_view = '_GLOBAL_', Hash $zonedata_default = {}, Hash[String,Hash] $zonedata = {}, ) { if $views != undef { class { 'dns': enable_views => true, } create_resources(dns::view, $views, $view_defaults) } create_resources(dns::zone, $zones, $default) create_resources(dns_zone, $zonedata, $zonedata_default) $zonedata.each |$zone, $_| { Dns_record <<| zone == $zone |>> } $zone_hash = Hash(lookup('dns_zones."adrift.space"').map |$d| { ["adrift.space ${d['type']} ${d['key']} ${d['value']}", $d] }) create_resources(dns_record, $zone_hash, { # 'ensure' => 'present', 'zone' => 'adrift.space', # 'notify' => Dns_zone['adrift.space'], }) }