Skip to content

Commit c34e138

Browse files
committed
Puppet >= 4 validations
1 parent c3cf761 commit c34e138

File tree

4 files changed

+44
-59
lines changed

4 files changed

+44
-59
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 2020-08-25 (2.0.0) Chris Edester
6+
* PDK support at 1.18.0
7+
* Puppet 5/6ish support
8+
* Drop Puppet 3 support
9+
* Update puppetlabs/stdlib dependency
10+
* Switch to puppet/epel dependency
11+
512
## 2016-08-10 (1.0.0) Chris Edester
613
* WARNING: Major revision, will most likely change your configs, especially on RedHat (Please test first)
714
* Refactor private class params and specs

manifests/init.pp

Lines changed: 27 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,40 @@
77
#
88

99
class clamav (
10-
$manage_user = $clamav::params::manage_user,
11-
$manage_repo = $clamav::params::manage_repo,
12-
$manage_clamd = $clamav::params::manage_clamd,
13-
$manage_freshclam = $clamav::params::manage_freshclam,
14-
$manage_clamav_milter = $clamav::params::manage_clamav_milter,
15-
$clamav_package = $clamav::params::clamav_package,
16-
$clamav_version = $clamav::params::clamav_version,
10+
Boolean $manage_user = $clamav::params::manage_user,
11+
Boolean $manage_repo = $clamav::params::manage_repo,
12+
Boolean $manage_clamd = $clamav::params::manage_clamd,
13+
Boolean $manage_freshclam = $clamav::params::manage_freshclam,
14+
Boolean $manage_clamav_milter = $clamav::params::manage_clamav_milter,
15+
String $clamav_package = $clamav::params::clamav_package,
16+
String $clamav_version = $clamav::params::clamav_version,
1717

1818
$user = $clamav::params::user,
19-
$comment = $clamav::params::comment,
19+
Optional[String] $comment = $clamav::params::comment,
2020
$uid = $clamav::params::uid,
2121
$gid = $clamav::params::gid,
22-
$home = $clamav::params::home,
23-
$shell = $clamav::params::shell,
22+
Stdlib::Absolutepath $home = $clamav::params::home,
23+
Stdlib::Absolutepath $shell = $clamav::params::shell,
2424
$group = $clamav::params::group,
2525
$groups = $clamav::params::groups,
2626

27-
$clamd_package = $clamav::params::clamd_package,
28-
$clamd_version = $clamav::params::clamd_version,
29-
$clamd_config = $clamav::params::clamd_config,
30-
$clamd_service = $clamav::params::clamd_service,
27+
String $clamd_package = $clamav::params::clamd_package,
28+
String $clamd_version = $clamav::params::clamd_version,
29+
Stdlib::Absolutepath $clamd_config = $clamav::params::clamd_config,
30+
String $clamd_service = $clamav::params::clamd_service,
3131
$clamd_service_ensure = $clamav::params::clamd_service_ensure,
32-
$clamd_service_enable = $clamav::params::clamd_service_enable,
33-
$clamd_options = $clamav::params::clamd_options,
32+
Boolean $clamd_service_enable = $clamav::params::clamd_service_enable,
33+
Hash $clamd_options = $clamav::params::clamd_options,
3434

3535
$freshclam_package = $clamav::params::freshclam_package,
3636
$freshclam_version = $clamav::params::freshclam_version,
37-
$freshclam_config = $clamav::params::freshclam_config,
37+
Stdlib::Absolutepath $freshclam_config = $clamav::params::freshclam_config,
3838
$freshclam_service = $clamav::params::freshclam_service,
3939
$freshclam_service_ensure = $clamav::params::freshclam_service_ensure,
40-
$freshclam_service_enable = $clamav::params::freshclam_service_enable,
41-
$freshclam_options = $clamav::params::freshclam_options,
42-
$freshclam_sysconfig = $clamav::params::freshclam_sysconfig,
43-
$freshclam_delay = $clamav::params::freshclam_delay,
40+
Boolean $freshclam_service_enable = $clamav::params::freshclam_service_enable,
41+
Hash $freshclam_options = $clamav::params::freshclam_options,
42+
Optional[Stdlib::Absolutepath] $freshclam_sysconfig = $clamav::params::freshclam_sysconfig,
43+
Optional[String] $freshclam_delay = $clamav::params::freshclam_delay,
4444

4545
$clamav_milter_package = $clamav::params::clamav_milter_package,
4646
$clamav_milter_version = $clamav::params::clamav_milter_version,
@@ -51,50 +51,20 @@
5151
$clamav_milter_options = $clamav::params::clamav_milter_options,
5252
) inherits clamav::params {
5353

54-
# Input validation
55-
$valid_service_statuses = '^(stopped|false|running|true)$'
56-
57-
validate_bool($manage_user, $manage_repo, $manage_clamd, $manage_freshclam, $manage_clamav_milter)
58-
validate_string($clamav_package)
59-
validate_string($clamav_version)
60-
61-
# user
62-
validate_string($comment)
63-
validate_absolute_path($home)
64-
validate_absolute_path($shell)
65-
6654
# clamd
67-
validate_string($clamd_package)
68-
validate_string($clamd_version)
69-
validate_absolute_path($clamd_config)
70-
validate_string($clamd_service)
71-
validate_re($clamd_service_ensure, $valid_service_statuses)
72-
validate_bool($clamd_service_enable)
73-
validate_hash($clamd_options)
7455
$_clamd_options = merge($clamav::params::clamd_default_options, $clamd_options)
7556

7657
# freshclam
77-
validate_absolute_path($freshclam_config)
78-
validate_re($freshclam_service_ensure, $valid_service_statuses)
79-
validate_bool($freshclam_service_enable)
80-
validate_hash($freshclam_options)
8158
$_freshclam_options = merge($clamav::params::freshclam_default_options, $freshclam_options)
82-
if $freshclam_sysconfig {
83-
validate_absolute_path($freshclam_sysconfig)
84-
}
85-
if $freshclam_delay {
86-
validate_string($freshclam_delay)
87-
}
8859

8960
# clamav_milter
9061
if $manage_clamav_milter {
91-
validate_string($clamav_milter_package)
92-
validate_string($clamav_milter_version)
93-
validate_absolute_path($clamav_milter_config)
94-
validate_string($clamav_milter_service)
95-
validate_re($clamav_milter_service_ensure, $valid_service_statuses)
96-
validate_bool($clamav_milter_service_enable)
97-
validate_hash($clamav_milter_options)
62+
assert_type(String, $clamav_milter_package)
63+
assert_type(String, $clamav_milter_version)
64+
assert_type(Stdlib::Absolutepath, $clamav_milter_config)
65+
assert_type(String, $clamav_milter_service)
66+
assert_type(Boolean, $clamav_milter_service_enable)
67+
assert_type(Hash, $clamav_milter_options)
9868
$_clamav_milter_options = merge($clamav::params::clamav_milter_default_options, $clamav_milter_options)
9969
}
10070

metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "edestecd-clamav",
3-
"version": "1.0.0",
3+
"version": "2.0.0",
44
"author": "Chris Edester",
55
"summary": "Puppet Module for managing ClamAV",
66
"license": "GPL-3.0+",
@@ -10,7 +10,7 @@
1010
"dependencies": [
1111
{
1212
"name": "puppetlabs/stdlib",
13-
"version_requirement": ">= 4.1.0 < 7.0.0"
13+
"version_requirement": ">= 4.13.0 < 7.0.0"
1414
},
1515
{
1616
"name": "puppet/epel",

spec/classes/clamav_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@
3939
it { is_expected.to contain_class('clamav::freshclam') }
4040
end
4141

42+
context 'manage manage_clamav_milter' do
43+
if facts[:osfamily] == 'RedHat' && facts[:operatingsystemrelease] >= '7.0'
44+
let(:params) { { manage_clamav_milter: true } }
45+
46+
it { is_expected.to contain_class('clamav::clamav_milter') }
47+
end
48+
end
49+
4250
context 'clamav::user' do
4351
let(:params) { { manage_user: true } }
4452

0 commit comments

Comments
 (0)