22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'manifests/init.pp', line 22
class wireguard (
Variant[Array, String] $package_name = $wireguard::params::package_name,
String $repo_url = $wireguard::params::repo_url,
Boolean $manage_repo = $wireguard::params::manage_repo,
Boolean $manage_package = $wireguard::params::manage_package,
Variant[Boolean, Enum['installed','latest','present']] $package_ensure = 'installed',
Stdlib::Absolutepath $config_dir = $wireguard::params::config_dir,
String $config_dir_mode = $wireguard::params::config_dir_mode,
Boolean $config_dir_purge = $wireguard::params::config_dir_purge,
Optional[Hash] $interfaces = {},
) inherits wireguard::params {
class { 'wireguard::install':
package_name => $package_name,
package_ensure => $package_ensure,
repo_url => $repo_url,
manage_repo => $manage_repo,
manage_package => $manage_package,
}
-> class { 'wireguard::config':
config_dir => $config_dir,
config_dir_mode => $config_dir_mode,
config_dir_purge => $config_dir_purge,
}
-> Class[wireguard]
$interfaces.each |$name, $options| {
wireguard::interface { $name:
* => $options,
}
}
}
|