Puppet Class: confdroid_nagios::nagios::objects::template_rules

Inherits:
confdroid_nagios::params
Defined in:
manifests/nagios/objects/template_rules.pp

Summary

Class manages /etc/nagios/conf.d/nagios_templates.cfg through concat.

Overview

confdroid_nagios::nagios::objects::template_rules.pp Module name: confdroid_nagios Author: 12ww1160 (12ww1160@confdroid.com)

Examples:

confdroid_nagios::nagios::objects::templates { 'generic contact':
  ng_template_object      => 'contact',
  ng_template_object_name => 'generic-contact',
}


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
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
# File 'manifests/nagios/objects/template_rules.pp', line 12

class confdroid_nagios::nagios::objects::template_rules (

) inherits confdroid_nagios::params {
  if $ng_nagios_server == $fqdn {
    # create the templates.cfg file

    concat { $ng_target_templates:
      ensure   => present,
      path     => $ng_target_templates,
      owner    => $ng_user,
      group    => $ng_user,
      mode     => '0640',
      selrange => s0,
      selrole  => object_r,
      seltype  => nagios_etc_t,
      seluser  => system_u,
      notify   => Service[$ng_service],
    }

    concat::fragment { 'template_header':
      target  => $ng_target_templates,
      content => template($ng_templates_head_erb),
      order   => '000',
    }

    # basic templates
    confdroid_nagios::nagios::objects::templates { 'generic contact':
      ng_template_object      => 'contact',
      ng_template_object_name => 'generic-contact',
    }
    confdroid_nagios::nagios::objects::templates { 'generic-host':
      ng_template_object      => 'host',
      ng_template_object_name => 'generic-host',
    }
    confdroid_nagios::nagios::objects::templates { 'linux-server':
      ng_template_object      => 'host',
      ng_template_object_name => 'linux-server',
      ng_template_object_use  => 'generic-host',
      ng_notification_options => 'd,u,r',
    }
    confdroid_nagios::nagios::objects::templates { 'windows-server':
      ng_template_object      => 'host',
      ng_template_object_name => 'windows-server',
      ng_template_object_use  => 'generic-host',
      ng_notification_options => 'd,u,r',
    }
    confdroid_nagios::nagios::objects::templates { 'generic-switch':
      ng_template_object      => 'host',
      ng_template_object_name => 'generic-switch',
      ng_template_object_use  => 'generic-host',
      ng_notification_options => 'd,u,r',
    }
    confdroid_nagios::nagios::objects::templates { 'generic-printer':
      ng_template_object      => 'host',
      ng_template_object_name => 'generic-printer',
      ng_template_object_use  => 'generic-host',
      ng_notification_options => 'd,u,r',
    }
    confdroid_nagios::nagios::objects::templates { 'generic-service':
      ng_template_object      => 'service',
      ng_template_object_name => 'generic-service',
      ng_max_check_attempts   => '3',
      ng_notification_options => 'w,u,c,r',
    }
    confdroid_nagios::nagios::objects::templates { 'local-service':
      ng_template_object      => 'service',
      ng_template_object_name => 'local-service',
      ng_max_check_attempts   => '4',
      ng_template_object_use  => 'generic-service',
    }
  }
}