diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-15 10:33:35 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-15 10:35:35 +0100 |
commit | 8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4 (patch) | |
tree | 3260178711a29aa0dee8f0d2925238744bf4c57a | |
parent | Made wpa-supplicant interfaces hash non-optional. (diff) | |
download | wpa_supplicant-8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4.tar.gz wpa_supplicant-8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4.tar.xz |
Better wpa_supplicant.
-rw-r--r-- | manifests/init.pp | 3 | ||||
-rw-r--r-- | manifests/interface.pp | 14 |
2 files changed, 14 insertions, 3 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index e78f23f..09c3d6d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,6 +1,9 @@ class wpa_supplicant ( + # Hash[String,Hash] $interfaces, Hash[String,Hash] $interfaces, + Hash[String,Hash] $networks, String $ctrl_interface = '/run/wpa_supplicant', ) { + create_resources(wpa_supplicant::interface, $interfaces) } diff --git a/manifests/interface.pp b/manifests/interface.pp index 10373d1..3598103 100644 --- a/manifests/interface.pp +++ b/manifests/interface.pp @@ -1,16 +1,24 @@ define wpa_supplicant::interface ( String $interface = $name, - Array[Hash] $networks = [], + Array[String] $networks = [], ) { service { "wpa_supplicant@${interface}.service": ensure => running, enable => true, } - file { "/etc/wpa_supplicant/wpa_supplicant-${interface}.conf": + $conf_file = "/etc/wpa_supplicant/wpa_supplicant-${interface}.conf" + + + $network_items = $networks.map |$name| { + { 'ssid' => "\"${name}\"" } + $wpa_supplicant::networks[$name] + } + + + file { $conf_file: ensure => file, content => epp('wpa_supplicant/wpa_supplicant.conf.epp', { - networks => $networks + networks => $network_items, }), } ~> exec { "Reload wpa_supplicant for ${interface}": command => [ 'wpa_cli', 'reconfigure', '-i', $interface, ], |