Skip to content

Commit f096fa7

Browse files
committed
Refactor sudo template
1 parent ed6ef1f commit f096fa7

File tree

2 files changed

+43
-25
lines changed

2 files changed

+43
-25
lines changed

manifests/service/sudo.pp

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,49 @@
4040
},
4141
)
4242
} else {
43+
# Build configuration content for the SUDO service
44+
$_base_content = [
45+
'# sssd::service::sudo',
46+
'[sudo]',
47+
]
48+
49+
# Add conditional parameters if defined
50+
if $description {
51+
$_description_entries = ["description = ${description}"]
52+
} else {
53+
$_description_entries = []
54+
}
55+
56+
if $debug_level {
57+
$_debug_level_entries = ["debug_level = ${debug_level}"]
58+
} else {
59+
$_debug_level_entries = []
60+
}
61+
62+
$_debug_timestamps_entries = $debug_timestamps ? {
63+
true => ['debug_timestamps = true'],
64+
false => ['debug_timestamps = false'],
65+
}
66+
67+
$_debug_microseconds_entries = $debug_microseconds ? {
68+
true => ['debug_microseconds = true'],
69+
false => ['debug_microseconds = false'],
70+
}
71+
72+
$_sudo_timed_entries = $sudo_timed ? {
73+
true => ['sudo_timed = true'],
74+
false => ['sudo_timed = false'],
75+
}
76+
77+
# Combine all configuration entries in the expected order
78+
$_all_entries = $_base_content + $_description_entries + $_debug_level_entries + $_debug_timestamps_entries + $_debug_microseconds_entries + $_sudo_timed_entries
79+
80+
$_final_content = $_all_entries.join("\n")
81+
4382
$_content = epp(
4483
"${module_name}/service/sudo.epp",
4584
{
46-
'description' => $description,
47-
'debug_level' => $debug_level,
48-
'debug_timestamps' => $debug_timestamps,
49-
'debug_microseconds' => $debug_microseconds,
50-
'sudo_timed' => $sudo_timed,
51-
'sudo_threshold' => $sudo_threshold,
85+
'content' => $_final_content,
5286
},
5387
)
5488
}

templates/service/sudo.epp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,4 @@
1-
<% |
2-
Optional[String] $description,
3-
Optional[Sssd::Debuglevel] $debug_level,
4-
Boolean $debug_timestamps,
5-
Boolean $debug_microseconds,
6-
Boolean $sudo_timed,
7-
Integer[1] $sudo_threshold,
1+
<%- |
2+
String $content,
83
| -%>
9-
10-
# sssd::service::sudo
11-
[sudo]
12-
<% if $description { -%>
13-
description = <%= $description %>
14-
<% } -%>
15-
<% if $debug_level { -%>
16-
debug_level = <%= $debug_level %>
17-
<% } -%>
18-
debug_timestamps = <%= $debug_timestamps %>
19-
debug_microseconds = <%= $debug_microseconds %>
20-
sudo_timed = <%= $sudo_timed %>
4+
<%= $content %>

0 commit comments

Comments
 (0)