Skip to content

Commit 8e56089

Browse files
authored
Merge pull request #277 from bwitt/bwitt/manage-service
Manage service
2 parents 8b977c4 + 90c240a commit 8e56089

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

REFERENCE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ The following parameters are available in the `unattended_upgrades` class:
5959
* [`whitelist_strict`](#-unattended_upgrades--whitelist_strict)
6060
* [`allow_downgrade`](#-unattended_upgrades--allow_downgrade)
6161
* [`dpkg_options`](#-unattended_upgrades--dpkg_options)
62+
* [`service_ensure`](#-unattended_upgrades--service_ensure)
63+
* [`service_enable`](#-unattended_upgrades--service_enable)
6264

6365
##### <a name="-unattended_upgrades--age"></a>`age`
6466

@@ -312,6 +314,22 @@ Array of dpkg options.
312314

313315
Default value: `[]`
314316

317+
##### <a name="-unattended_upgrades--service_ensure"></a>`service_ensure`
318+
319+
Data type: `Enum['running', 'stopped']`
320+
321+
Specifies whether the service should be running.
322+
323+
Default value: `'running'`
324+
325+
##### <a name="-unattended_upgrades--service_enable"></a>`service_enable`
326+
327+
Data type: `Boolean`
328+
329+
Specifies whether the service should be enabled at boot.
330+
331+
Default value: `true`
332+
315333
### <a name="unattended_upgrades--params"></a>`unattended_upgrades::params`
316334

317335
This class provides default parameters for the unattended_upgrades module.

manifests/init.pp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@
6868
# Allow downgrades.
6969
# @param dpkg_options
7070
# Array of dpkg options.
71+
# @param service_ensure
72+
# Specifies whether the service should be running.
73+
# @param service_enable
74+
# Specifies whether the service should be enabled at boot.
7175
#
7276
class unattended_upgrades (
7377
Unattended_upgrades::Age $age = {},
@@ -101,6 +105,8 @@
101105
Optional[Boolean] $whitelist_strict = undef,
102106
Optional[Boolean] $allow_downgrade = undef,
103107
Array[String[1]] $dpkg_options = [],
108+
Enum['running', 'stopped'] $service_ensure = 'running',
109+
Boolean $service_enable = true,
104110
) inherits unattended_upgrades::params {
105111
# apt::conf settings require the apt class to work
106112
include apt
@@ -149,4 +155,10 @@
149155
if $random_sleep != undef {
150156
warning('The parameter `random_sleep` is deprecated and will be removed in a future release.')
151157
}
158+
159+
service { 'unattended-upgrades':
160+
ensure => $service_ensure,
161+
enable => $service_enable,
162+
require => Package['unattended-upgrades'],
163+
}
152164
}

spec/classes/unattended_upgrades_spec.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,38 @@
196196
end
197197
end
198198

199+
context 'service management' do
200+
let(:params) do
201+
{
202+
service_ensure: 'running',
203+
service_enable: true
204+
}
205+
end
206+
207+
it do
208+
is_expected.to contain_service('unattended-upgrades').with(
209+
ensure: 'running',
210+
enable: true
211+
)
212+
end
213+
end
214+
215+
context 'service management with stopped service' do
216+
let(:params) do
217+
{
218+
service_ensure: 'stopped',
219+
service_enable: false
220+
}
221+
end
222+
223+
it do
224+
is_expected.to contain_service('unattended-upgrades').with(
225+
ensure: 'stopped',
226+
enable: false
227+
)
228+
end
229+
end
230+
199231
describe 'validation tests' do
200232
context 'bad install_on_shutdown' do
201233
let :params do

0 commit comments

Comments
 (0)