summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-01-15 10:33:35 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-01-15 10:35:35 +0100
commit8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4 (patch)
tree3260178711a29aa0dee8f0d2925238744bf4c57a
parentMade wpa-supplicant interfaces hash non-optional. (diff)
downloadwpa_supplicant-8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4.tar.gz
wpa_supplicant-8e029f0d3bbe696f3781373aaf49ac2d5b2fa8f4.tar.xz
Better wpa_supplicant.
-rw-r--r--manifests/init.pp3
-rw-r--r--manifests/interface.pp14
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, ],