Classes
wireguard
: 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.wireguard::config
: Class configures files and directories for wireguardwireguard::install
: Class installs wireguard packages and sets yum repositorywireguard::params
: Class that contains OS specific parameters for other classes
Defined types
wireguard::interface
: Defines wireguard tunnel interfaces
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.
- See also https://www.wireguard.com/
The following parameters are available in the wireguard
class.
Data type: Variant[Array, String]
Name the package(s) that installs wireguard
Default value: $wireguard::params::package_name
Data type: String
URL of wireguard repo
Default value: $wireguard::params::repo_url
Data type: Boolean
Should class manage yum repo
Default value: $wireguard::params::manage_repo
Data type: Boolean
Should class install package(s)
Default value: $wireguard::params::manage_package
Data type: Variant[Boolean, Enum['installed','latest','present']]
Set state of the package
Default value: 'installed'
Data type: Stdlib::Absolutepath
Path to wireguard configuration files
Default value: $wireguard::params::config_dir
Data type: String
The config_dir access mode bits
Default value: $wireguard::params::config_dir_mode
Data type: Optional[Hash]
Define wireguard interfaces
Default value: {}
Class configures files and directories for wireguard
The following parameters are available in the wireguard::config
class.
Data type: Stdlib::Absolutepath
Path to wireguard configuration files
Data type: String
The config_dir access mode bits
Class installs wireguard packages and sets yum repository
The following parameters are available in the wireguard::install
class.
Data type: Variant[Array, String]
Name the package(s) that installs wireguard
Data type: String
URL of wireguard repo
Data type: Boolean
Should class manage yum repo
Data type: Boolean
Should class install package(s)
Data type: Variant[Boolean, Enum['installed','latest','present']]
Set state of the package
Class that contains OS specific parameters for other classes
Defines wireguard tunnel interfaces
The following parameters are available in the wireguard::interface
defined type.
Data type: String
Private key for data encryption
Data type: Integer[1,65535]
The port to listen
Data type: Enum['present','absent']
State of the interface
Default value: 'present'
Data type: Optional[Variant[Array,String]]
List of IP (v4 or v6) addresses (optionally with CIDR masks) to be assigned to the interface.
Default value: undef
Data type: Optional[Integer[1,9202]]
Set MTU for the wireguard interface
Default value: undef
Data type: Optional[Variant[Array,String]]
List of commands to run before the interface is brought up
Default value: undef
Data type: Optional[Variant[Array,String]]
List of commands to run after the interface is brought up
Default value: undef
Data type: Optional[Variant[Array,String]]
List of commands to run before the interface is taken down
Default value: undef
Data type: Optional[Variant[Array,String]]
List of commands to run after the interface is taken down
Default value: undef
Data type: Optional[Array[Struct[ { 'PublicKey' => String, 'AllowedIPs' => Optional[String], 'Endpoint' => Optional[String], 'PersistentKeepalive' => Optional[Integer], 'PresharedKey' => Optional[String], 'Comment' => Optional[String], } ]]]
List of peers for wireguard interface
Default value: []
Data type: Optional[String]
List of IP (v4 or v6) addresses of DNS servers to use
Default value: undef
Data type: Boolean
save current state of the interface upon shutdown
Default value: true
Data type: Stdlib::Absolutepath
Path to wireguard configuration files
Default value: '/etc/wireguard'