define networking::networkd ( Hash $network, Optional[Hash] $match = { 'Name' => $facts['networking']['primary'] }, String $root = '/', String $path = "${root}/etc/systemd/network", String $filename = $name, String $file = "${path}/${filename}.conf", Boolean $notify_ = true, Boolean $manage_directory = true, ) { if $manage_directory { file { $path: ensure => directory, purge => true, recurse => true, } } inifile::create_ini_settings({ 'Match' => $match, 'Network' => $network, }, { path => $file, }) if $notify_ { Ini_Setting <| path == $file |> ~> exec { 'networkctl reload': path => ['/bin', '/usr/bin',], refreshonly => true, } } }