From ec829830c0063ad6a7227770b8e1dd5f88387509 Mon Sep 17 00:00:00 2001 From: varac Date: Sat, 26 Jan 2013 22:36:52 +0100 Subject: added $stored_config, possible to disable collection of exported resources On masterless setups, this module would otherwise complain --- manifests/apache.pp | 4 +- manifests/base.pp | 158 +++++++++++++++++++++------------------------ manifests/init.pp | 3 +- manifests/stored_config.pp | 19 ++++++ 4 files changed, 97 insertions(+), 87 deletions(-) create mode 100644 manifests/stored_config.pp diff --git a/manifests/apache.pp b/manifests/apache.pp index a90d0ee..70f41ca 100644 --- a/manifests/apache.pp +++ b/manifests/apache.pp @@ -1,13 +1,15 @@ class nagios::apache( $allow_external_cmd = false, $manage_shorewall = false, - $manage_munin = false + $manage_munin = false, + $stored_config = true ) { class{'nagios': httpd => 'apache', allow_external_cmd => $allow_external_cmd, manage_munin => $manage_munin, manage_shorewall => $manage_shorewall, + stored_config => $stored_config } case $::operatingsystem { diff --git a/manifests/base.pp b/manifests/base.pp index 5a1f3a1..3a0765a 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -75,91 +75,79 @@ class nagios::base { mode => '0750', owner => root, group => nagios, require => Package['nagios'], } - Nagios_command <<||>> - Nagios_contactgroup <<||>> - Nagios_contact <<||>> - Nagios_hostdependency <<||>> - Nagios_hostescalation <<||>> - Nagios_hostextinfo <<||>> - Nagios_hostgroup <<||>> - Nagios_host <<||>> - Nagios_servicedependency <<||>> - Nagios_serviceescalation <<||>> - Nagios_servicegroup <<||>> - Nagios_serviceextinfo <<||>> - Nagios_service <<||>> - Nagios_timeperiod <<||>> - - Nagios_command <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_command.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_contact <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_contact.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_contactgroup <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_contactgroup.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_host <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_host.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_hostdependency <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostdependency.cfg", - notify => Service['nagios'], - require => Package['nagios'], - } - Nagios_hostescalation <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostescalation.cfg", - notify => Service['nagios'], - require => Package['nagios'], - } - Nagios_hostextinfo <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostextinfo.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_hostgroup <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostgroup.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_service <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_service.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_servicegroup <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_servicegroup.cfg", - notify => Service['nagios'], - require => Package['nagios'], - } - Nagios_servicedependency <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_servicedependency.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_serviceescalation <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_serviceescalation.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_serviceextinfo <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_serviceextinfo.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } - Nagios_timeperiod <||> { - target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_timeperiod.cfg", - require => [ File['nagios_confd'], Package['nagios'] ], - notify => Service['nagios'], - } + if ( $nagios::stored_config == true ) { + include nagios::stored_config + } + Nagios_command <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_command.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_contact <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_contact.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_contactgroup <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_contactgroup.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_host <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_host.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_hostdependency <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostdependency.cfg", + notify => Service['nagios'], + require => Package['nagios'], + } + Nagios_hostescalation <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostescalation.cfg", + notify => Service['nagios'], + require => Package['nagios'], + } + Nagios_hostextinfo <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostextinfo.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_hostgroup <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_hostgroup.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_service <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_service.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_servicegroup <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_servicegroup.cfg", + notify => Service['nagios'], + require => Package['nagios'], + } + Nagios_servicedependency <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_servicedependency.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_serviceescalation <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_serviceescalation.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_serviceextinfo <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_serviceextinfo.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } + Nagios_timeperiod <||> { + target => "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_timeperiod.cfg", + require => [ File['nagios_confd'], Package['nagios'] ], + notify => Service['nagios'], + } file{[ "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_command.cfg", "${nagios::defaults::vars::int_cfgdir}/conf.d/nagios_contact.cfg", diff --git a/manifests/init.pp b/manifests/init.pp index 5cbd3f3..1221950 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -19,7 +19,8 @@ class nagios( $httpd = 'apache', $allow_external_cmd = false, $manage_shorewall = false, - $manage_munin = false + $manage_munin = false, + $stored_config = true ) { case $nagios::httpd { 'absent': { } diff --git a/manifests/stored_config.pp b/manifests/stored_config.pp new file mode 100644 index 0000000..5afda04 --- /dev/null +++ b/manifests/stored_config.pp @@ -0,0 +1,19 @@ +class nagios::stored_config { + # collect exported resources + + Nagios_command <<||>> + Nagios_contactgroup <<||>> + Nagios_contact <<||>> + Nagios_hostdependency <<||>> + Nagios_hostescalation <<||>> + Nagios_hostextinfo <<||>> + Nagios_hostgroup <<||>> + Nagios_host <<||>> + Nagios_servicedependency <<||>> + Nagios_serviceescalation <<||>> + Nagios_servicegroup <<||>> + Nagios_serviceextinfo <<||>> + Nagios_service <<||>> + Nagios_timeperiod <<||>> + +} -- cgit v1.2.3