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
|
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,
}
}
}
|