Added refresh_icinga2_service parameters to each of the object defined types so that they can be used by themselves if the module isn't being used to also manage the Icinga 2 service.

refs# 7856 : https://dev.icinga.org/issues/7856
This commit is contained in:
Nick Chappell 2014-12-01 21:38:42 -08:00
parent bde5178ed1
commit 6c5497d3c8
27 changed files with 782 additions and 231 deletions

View file

@ -28,7 +28,9 @@ define icinga2::object::apply_dependency (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644') { $target_file_mode = '0644',
$refresh_icinga2_service = true
) {
# Do some validation of the class' parameters: # Do some validation of the class' parameters:
validate_string($object_name) validate_string($object_name)
validate_string($display_name) validate_string($display_name)
@ -46,16 +48,35 @@ define icinga2::object::apply_dependency (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
validate_re($object_type, ['^Host', '^Service']) validate_re($object_type, ['^Host', '^Service'])
file { "${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_apply_dependency.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_dependency.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_dependency.conf.erb'),
}
} }
} }

View file

@ -29,7 +29,8 @@ define icinga2::object::apply_notification_to_host (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -53,13 +54,33 @@ define icinga2::object::apply_notification_to_host (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_host.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_host.conf.erb'),
notify => Service['icinga2'],
} }
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_host.conf.erb'),
}
}
} }

View file

@ -30,7 +30,8 @@ define icinga2::object::apply_notification_to_service (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -55,13 +56,33 @@ define icinga2::object::apply_notification_to_service (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_service.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_service.conf.erb'),
notify => Service['icinga2'],
} }
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_notification_to_service.conf.erb'),
}
}
} }

View file

@ -43,7 +43,8 @@ define icinga2::object::apply_service_to_host (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -56,15 +57,33 @@ define icinga2::object::apply_service_to_host (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_apply_service_to_host.conf.erb'), content => template('icinga2/object_apply_service_to_host.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_apply_service_to_host.conf.erb'),
}
} }
} }

View file

@ -29,6 +29,7 @@ define icinga2::object::checkcommand (
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644', $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -50,31 +51,65 @@ define icinga2::object::checkcommand (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
if $checkcommand_file_distribution_method == 'content' { #If the refresh_icinga2_service parameter is set to true...
file {"${target_dir}/${target_file_name}": if $refresh_icinga2_service == true {
ensure => $target_file_ensure, if $checkcommand_file_distribution_method == 'content' {
owner => $target_file_owner, file {"${target_dir}/${target_file_name}":
group => $target_file_group, ensure => $target_file_ensure,
mode => $target_file_mode, owner => $target_file_owner,
content => template("${checkcommand_template_module}/${checkcommand_template}"), group => $target_file_group,
notify => Service['icinga2'], mode => $target_file_mode,
} content => template("${checkcommand_template_module}/${checkcommand_template}"),
} notify => Service['icinga2'],
elsif $checkcommand_file_distribution_method == 'source' { }
file {"${target_dir}/${target_file_name}": }
ensure => $target_file_ensure, elsif $checkcommand_file_distribution_method == 'source' {
owner => $target_file_owner, file {"${target_dir}/${target_file_name}":
group => $target_file_group, ensure => $target_file_ensure,
mode => $target_file_mode, owner => $target_file_owner,
source => $checkcommand_source_file, group => $target_file_group,
notify => Service['icinga2'], mode => $target_file_mode,
source => $checkcommand_source_file,
notify => Service['icinga2'],
}
}
else {
notify {'Missing/Incorrect File Distribution Method':
message => 'The parameter checkcommand_file_distribution_method is missing or incorrect. Please set content or source',
}
} }
} }
#...otherwise, use the same file resource but without a notify => parameter:
else { else {
notify {'Missing/Incorrect File Distribution Method':
message => 'The parameter checkcommand_file_distribution_method is missing or incorrect. Please set content or source', if $checkcommand_file_distribution_method == 'content' {
file {"${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template("${checkcommand_template_module}/${checkcommand_template}"),
}
} }
elsif $checkcommand_file_distribution_method == 'source' {
file {"${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
source => $checkcommand_source_file,
}
}
else {
notify {'Missing/Incorrect File Distribution Method':
message => 'The parameter checkcommand_file_distribution_method is missing or incorrect. Please set content or source',
}
}
} }
} }

View file

@ -18,7 +18,8 @@ define icinga2::object::checkresultreader (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -33,15 +34,33 @@ define icinga2::object::checkresultreader (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_checkresultreader.conf.erb'), content => template('icinga2/object_checkresultreader.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_checkresultreader.conf.erb'),
}
} }
} }

View file

@ -19,7 +19,8 @@ define icinga2::object::compatlogger (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -37,15 +38,33 @@ define icinga2::object::compatlogger (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_compatlogger.conf.erb'), content => template('icinga2/object_compatlogger.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_compatlogger.conf.erb'),
}
} }
} }

View file

@ -25,7 +25,9 @@ define icinga2::object::dependency (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644') { $target_file_mode = '0644',
$refresh_icinga2_service = true
) {
# Do some validation of the class' parameters: # Do some validation of the class' parameters:
validate_string($object_name) validate_string($object_name)
validate_string($display_name) validate_string($display_name)
@ -43,14 +45,33 @@ define icinga2::object::dependency (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file { "${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_dependency.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_dependency.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_dependency.conf.erb'),
}
} }
} }

View file

@ -24,7 +24,8 @@ define icinga2::object::eventcommand (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -43,15 +44,33 @@ define icinga2::object::eventcommand (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_eventcommand.conf.erb'), content => template('icinga2/object_eventcommand.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_eventcommand.conf.erb'),
}
} }
} }

View file

@ -18,7 +18,8 @@ define icinga2::object::externalcommandlistener (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -33,15 +34,33 @@ define icinga2::object::externalcommandlistener (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_externalcommandlistener.conf.erb'), content => template('icinga2/object_externalcommandlistener.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_externalcommandlistener.conf.erb'),
}
} }
} }

View file

@ -19,18 +19,39 @@ define icinga2::object::graphitewriter (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation #Do some validation
validate_string($host) validate_string($host)
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_graphitewriter.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
file {"${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_graphitewriter.conf.erb'),
notify => Service['icinga2'],
} }
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_graphitewriter.conf.erb'),
}
}
} }

View file

@ -42,7 +42,8 @@ define icinga2::object::host (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -57,14 +58,33 @@ define icinga2::object::host (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_host.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_host.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_host.conf.erb'),
}
} }
} }

View file

@ -21,7 +21,8 @@ define icinga2::object::hostgroup (
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644', $target_file_mode = '0644',
$assign_where = undef, $assign_where = undef,
$ignore_where = undef $ignore_where = undef,
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -34,14 +35,33 @@ define icinga2::object::hostgroup (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_hostgroup.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_hostgroup.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_hostgroup.conf.erb'),
}
} }
} }

View file

@ -42,7 +42,8 @@ define icinga2::object::idomysqlconnection (
$target_file_name = "${name}.conf", $target_file_name = "${name}.conf",
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -61,14 +62,33 @@ define icinga2::object::idomysqlconnection (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_idomysqlconnection.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_idomysqlconnection.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_idomysqlconnection.conf.erb'),
}
} }
} }

View file

@ -42,7 +42,8 @@ define icinga2::object::idopgsqlconnection (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -61,14 +62,33 @@ define icinga2::object::idopgsqlconnection (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_idopgsqlconnection.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_idopgsqlconnection.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_idopgsqlconnection.conf.erb'),
}
} }
} }

View file

@ -10,7 +10,7 @@
# #
define icinga2::object::livestatuslistener ( define icinga2::object::livestatuslistener (
$object_livestatuslistenername = $name, $object_livestatuslistenername = $name,
$socket_type = undef, $socket_type = undef,
$bind_host = undef, $bind_host = undef,
$bind_port = undef, $bind_port = undef,
@ -21,7 +21,8 @@ define icinga2::object::livestatuslistener (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -48,15 +49,33 @@ define icinga2::object::livestatuslistener (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_livestatuslistener.conf.erb'), content => template('icinga2/object_livestatuslistener.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_livestatuslistener.conf.erb'),
}
} }
} }

View file

@ -27,7 +27,8 @@ define icinga2::object::notification (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -66,15 +67,33 @@ define icinga2::object::notification (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_notification.conf.erb'), content => template('icinga2/object_notification.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_notification.conf.erb'),
}
} }
} }

View file

@ -24,7 +24,8 @@ define icinga2::object::notificationcommand (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -43,15 +44,33 @@ define icinga2::object::notificationcommand (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_notificationcommand.conf.erb'), content => template('icinga2/object_notificationcommand.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_notificationcommand.conf.erb'),
}
} }
} }

View file

@ -24,7 +24,8 @@ define icinga2::object::perfdatawriter (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -57,15 +58,33 @@ define icinga2::object::perfdatawriter (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_perfdatawriter.conf.erb'), content => template('icinga2/object_perfdatawriter.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_perfdatawriter.conf.erb'),
}
} }
} }

View file

@ -23,7 +23,8 @@ define icinga2::object::scheduleddowntime (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the define's parameters: #Do some validation of the define's parameters:
@ -42,14 +43,33 @@ define icinga2::object::scheduleddowntime (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_scheduleddowntime.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_scheduleddowntime.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_scheduleddowntime.conf.erb'),
}
} }
} }

View file

@ -41,7 +41,8 @@ define icinga2::object::service (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -56,14 +57,33 @@ define icinga2::object::service (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_service.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_service.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_service.conf.erb'),
}
} }
} }

View file

@ -21,7 +21,8 @@ define icinga2::object::servicegroup (
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644', $target_file_mode = '0644',
$assign_where = undef, $assign_where = undef,
$ignore_where = undef $ignore_where = undef,
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -34,14 +35,33 @@ define icinga2::object::servicegroup (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_servicegroup.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_servicegroup.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_servicegroup.conf.erb'),
}
} }
} }

View file

@ -19,7 +19,8 @@ define icinga2::object::statusdatawriter (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -40,15 +41,33 @@ define icinga2::object::statusdatawriter (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file {"${target_dir}/${target_file_name}": file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure, ensure => $target_file_ensure,
owner => $target_file_owner, owner => $target_file_owner,
group => $target_file_group, group => $target_file_group,
mode => $target_file_mode, mode => $target_file_mode,
content => template('icinga2/object_statusdatawriter.conf.erb'), content => template('icinga2/object_statusdatawriter.conf.erb'),
notify => Service['icinga2'], #...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_statusdatawriter.conf.erb'),
}
} }
} }

View file

@ -17,7 +17,8 @@ define icinga2::object::sysloglogger (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -28,14 +29,33 @@ define icinga2::object::sysloglogger (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_sysloglogger.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_sysloglogger.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_sysloglogger.conf.erb'),
}
} }
} }

View file

@ -15,12 +15,13 @@ define icinga2::object::timeperiod (
$timeperiod_display_name = undef, $timeperiod_display_name = undef,
$methods = undef, $methods = undef,
$ranges = {}, $ranges = {},
$timeperiod_target_dir = '/etc/icinga2/objects/timeperiods', $target_dir = '/etc/icinga2/objects/timeperiods',
$timeperiod_target_file_name = "${name}.conf", $target_file_name = "${name}.conf",
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644', $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
# Do some validation of the class' parameters: # Do some validation of the class' parameters:
@ -36,13 +37,33 @@ define icinga2::object::timeperiod (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_re($target_file_mode, '^\d{4}$') validate_re($target_file_mode, '^\d{4}$')
validate_bool($refresh_icinga2_service)
#If the refresh_icinga2_service parameter is set to true...
if $refresh_icinga2_service == true {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_timeperiod.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
file {"${timeperiod_target_dir}/${timeperiod_target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_timeperiod.conf.erb'),
notify => Service['icinga2'],
} }
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_timeperiod.conf.erb'),
}
}
} }

View file

@ -25,7 +25,8 @@ define icinga2::object::user (
$target_file_ensure = file, $target_file_ensure = file,
$target_file_owner = 'root', $target_file_owner = 'root',
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644' $target_file_mode = '0644',
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -41,14 +42,33 @@ define icinga2::object::user (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_user.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_user.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_user.conf.erb'),
}
} }
} }

View file

@ -21,7 +21,8 @@ define icinga2::object::usergroup (
$target_file_group = 'root', $target_file_group = 'root',
$target_file_mode = '0644', $target_file_mode = '0644',
$assign_where = undef, $assign_where = undef,
$ignore_where = undef $ignore_where = undef,
$refresh_icinga2_service = true
) { ) {
#Do some validation of the class' parameters: #Do some validation of the class' parameters:
@ -33,14 +34,33 @@ define icinga2::object::usergroup (
validate_string($target_file_owner) validate_string($target_file_owner)
validate_string($target_file_group) validate_string($target_file_group)
validate_string($target_file_mode) validate_string($target_file_mode)
validate_bool($refresh_icinga2_service)
file {"${target_dir}/${target_file_name}": #If the refresh_icinga2_service parameter is set to true...
ensure => $target_file_ensure, if $refresh_icinga2_service == true {
owner => $target_file_owner,
group => $target_file_group, file { "${target_dir}/${target_file_name}":
mode => $target_file_mode, ensure => $target_file_ensure,
content => template('icinga2/object_usergroup.conf.erb'), owner => $target_file_owner,
notify => Service['icinga2'], group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_usergroup.conf.erb'),
#...notify the Icinga 2 daemon so it can restart and pick up changes made to this config file...
notify => Service['icinga2'],
}
}
#...otherwise, use the same file resource but without a notify => parameter:
else {
file { "${target_dir}/${target_file_name}":
ensure => $target_file_ensure,
owner => $target_file_owner,
group => $target_file_group,
mode => $target_file_mode,
content => template('icinga2/object_usergroup.conf.erb'),
}
} }
} }