41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'manifests/augeas.pp', line 41
define jenkins::augeas (
String $config_filename,
Variant[Array[String], String] $changes,
Optional[Variant[Array[String], String]] $onlyif = undef,
Optional[String] $plugin_version = undef,
String $context = '/',
Variant[Boolean,String] $plugin = false,
Boolean $restart = false,
Boolean $show_diff = true,
) {
include jenkins
include jenkins::cli
case $plugin {
true: {
jenkins::plugin { $name:
version => $plugin_version,
before => Augeas["jenkins::augeas: ${name}"],
}
}
false: {
# do nothing
}
default: {
jenkins::plugin { $plugin:
version => $plugin_version,
before => Augeas["jenkins::augeas: ${name}"],
}
}
}
if $restart {
$notify_exec = 'safe-restart-jenkins'
} else {
$notify_exec = 'reload-jenkins'
}
augeas { "jenkins::augeas: ${name}":
incl => "${jenkins::localstatedir}/${config_filename}",
lens => 'Xml.lns',
context => regsubst("/files${jenkins::localstatedir}/${config_filename}/${context}", '\/{2,}', '/', 'G'),
notify => Exec[$notify_exec],
onlyif => $onlyif,
changes => $changes,
show_diff => $show_diff,
}
}
|