diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-02 04:31:50 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-02 04:44:39 +0100 |
commit | a261aa089f879b6854c7b8fc7676d6b23ac25588 (patch) | |
tree | fc7e5e7dd40cca83f2eb130a8c26066689a6cd89 /modules/networking/manifests/networkd.pp | |
parent | Add debug notice. (diff) | |
download | webdav_server-a261aa089f879b6854c7b8fc7676d6b23ac25588.tar.gz webdav_server-a261aa089f879b6854c7b8fc7676d6b23ac25588.tar.xz |
Network rewrites.
Diffstat (limited to '')
-rw-r--r-- | modules/networking/manifests/networkd.pp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/networking/manifests/networkd.pp b/modules/networking/manifests/networkd.pp new file mode 100644 index 0000000..4376a29 --- /dev/null +++ b/modules/networking/manifests/networkd.pp @@ -0,0 +1,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, + } + } +} |