10
11
12
13
14
15
16
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
47
48
|
# File 'manifests/feature/windowseventlog.pp', line 10
class icinga2::feature::windowseventlog (
Enum['absent', 'present'] $ensure = present,
Icinga::LogLevel $severity = 'warning',
) {
if ! defined(Class['icinga2']) {
fail('You must include the icinga2 base class before using any icinga2 feature class!')
}
if $facts['os']['family'] != 'windows' and $ensure != 'absent' {
fail('The feature windowseventlogs is only supported on Windows platforms!')
}
$conf_dir = $icinga2::globals::conf_dir
$_notify = $ensure ? {
'present' => Class['icinga2::service'],
default => undef,
}
# compose attributes
$attrs = {
'severity' => $severity,
}
# create object
icinga2::object { 'icinga2::object::WindowsEventLogLogger::windowseventlog':
object_name => 'windowseventlog',
object_type => 'WindowsEventLogLogger',
attrs => delete_undef_values($attrs),
attrs_list => keys($attrs),
target => "${conf_dir}/features-available/windowseventlog.conf",
order => 10,
notify => $_notify,
}
# manage feature
icinga2::feature { 'windowseventlog':
ensure => $ensure,
}
}
|