Puppet Class: wireguard

Inherits:
wireguard::params
Defined in:
manifests/init.pp

Summary

Wireguard class manages wireguard - an open-source software application and protocol that implements virtual private network techniques to create secure point-to-point connections in routed or bridged configurations.

Overview

Parameters:

  • package_name (Variant[Array, String]) (defaults to: $wireguard::params::package_name)

    Name the package(s) that installs wireguard

  • repo_url (String) (defaults to: $wireguard::params::repo_url)

    URL of wireguard repo

  • manage_repo (Boolean) (defaults to: $wireguard::params::manage_repo)

    Should class manage yum repo

  • manage_package (Boolean) (defaults to: $wireguard::params::manage_package)

    Should class install package(s)

  • package_ensure (Variant[Boolean, Enum['installed','latest','present']]) (defaults to: 'installed')

    Set state of the package

  • config_dir (Stdlib::Absolutepath) (defaults to: $wireguard::params::config_dir)

    Path to wireguard configuration files

  • config_dir_mode (String) (defaults to: $wireguard::params::config_dir_mode)

    The config_dir access mode bits

  • interfaces (Optional[Hash]) (defaults to: {})

    Define wireguard interfaces

  • config_dir_purge (Boolean) (defaults to: $wireguard::params::config_dir_purge)

See Also:



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,
    }
  }
}