diff options
Diffstat (limited to 'modules/wpa_supplicant/manifests')
-rw-r--r-- | modules/wpa_supplicant/manifests/init.pp | 6 | ||||
-rw-r--r-- | modules/wpa_supplicant/manifests/interface.pp | 19 |
2 files changed, 25 insertions, 0 deletions
diff --git a/modules/wpa_supplicant/manifests/init.pp b/modules/wpa_supplicant/manifests/init.pp new file mode 100644 index 0000000..3125f6c --- /dev/null +++ b/modules/wpa_supplicant/manifests/init.pp @@ -0,0 +1,6 @@ +class wpa_supplicant ( + String $ctrl_interface = '/run/wpa_supplicant', + Hash[String,Hash] $interfaces = {}, +) { + create_resources(wpa_supplicant::interface, $interfaces) +} diff --git a/modules/wpa_supplicant/manifests/interface.pp b/modules/wpa_supplicant/manifests/interface.pp new file mode 100644 index 0000000..8254359 --- /dev/null +++ b/modules/wpa_supplicant/manifests/interface.pp @@ -0,0 +1,19 @@ +define wpa_supplicant::interface ( + String $interface = $name, + Array[Hash] $networks = [], +) { + service { "wpa_supplicant@${interface}.service": + ensure => running, + enable => true, + } + + file { "/etc/wpa_supplicant/wpa_supplicant-${interface}.conf": + ensure => file, + content => epp('wpa_supplicant/wpa_supplicant.conf.epp', { + networks => $networks + }), + } ~> exec { "Reload wpa_supplicant for ${interface}": + command => [ 'wpa_cli', 'reconfigure', '-i', $interface, ], + path => [ '/bin', '/usr/bin', ], + } +} |