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
|
# File 'manifests/interface.pp', line 17
define netplan::interface (
String $type = 'ethernets',
String $dev = $name,
Array $addresses = [],
Boolean $flush = false,
Hash $opts = {}
) {
$_type = netplan::get::type($type)
$_dev = $addresses.empty ? {
true => $opts,
default => { 'addresses' => $addresses } + $opts
}
$_h = {
'network' => {
$_type => {
$dev => $_dev
}
}
}
concat::fragment { "[netplan] interface ${dev}":
target => $netplan::config_file,
content => to_yaml($_h)
}
if $flush {
@exec { "Flush all settings on ${dev}":
command => "/sbin/ip addr flush dev ${dev}",
tag => ['netplan_flush']
}
}
}
|