Defined Type: psick::network::netplan
- Defined in:
- manifests/network/netplan.pp
Overview
Define psick::network::netplan
Define to manage a netplan configuration file
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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 |
# File 'manifests/network/netplan.pp', line 5
define psick::network::netplan (
String $config_file_name = "50-${title}.yaml",
Enum['present','absent'] $ensure = 'present',
String $renderer = 'networkd',
Numeric $version = 2,
Stdlib::Absolutepath $config_dir_path = '/etc/netplan',
Hash $ethernets = {},
Hash $wifis = {},
Hash $bridges = {},
Hash $bonds = {},
Hash $tunnels = {},
Hash $vlans = {},
Optional[String] $file_content = undef,
Optional[String] $file_source = undef,
) {
$netplan_data = {
'network' => {
'version' => $version,
'renderer' => $renderer,
'ethernets' => $ethernets,
'wifis' => $wifis,
'bridges' => $bridges,
'bonds' => $bonds,
'tunnels' => $tunnels,
'vlans' => $vlans,
},
}
$real_file_content = $file_source ? {
undef => pick($file_content,to_yaml($netplan_data)),
default => undef,
}
file { "${config_dir_path}/${config_file_name}":
ensure => $ensure,
content => $real_file_content,
source => $file_source,
}
}
|