47 lines
1.2 KiB
Puppet
47 lines
1.2 KiB
Puppet
# Define puppi::info
|
|
#
|
|
# This define creates a basic info file that simply contains a set
|
|
# of commands that show infos about custom topics.
|
|
# To be used by the puppi info command.
|
|
# By default it builds the info script based on the minimal puppi/info.erb
|
|
# template but you can choose a custom template.
|
|
# Other info defines are used to gather and create puppi info scripts with
|
|
# different arguments and contents.
|
|
# Check puppi/manifests/info/ for alternative puppi::info:: plugins
|
|
#
|
|
# == Usage:
|
|
# puppi::info { "network":
|
|
# description => "Network status and information" ,
|
|
# run => [ "ifconfig" , "route -n" ],
|
|
# }
|
|
#
|
|
# :include:../README.info
|
|
#
|
|
define puppi::info (
|
|
$description = '',
|
|
$templatefile = 'puppi/info.erb',
|
|
$run = '' ) {
|
|
|
|
require puppi
|
|
require puppi::params
|
|
|
|
$array_run = is_array($run) ? {
|
|
false => $run ? {
|
|
'' => [],
|
|
default => split($run, ','),
|
|
},
|
|
default => $run,
|
|
}
|
|
|
|
file { "${puppi::params::infodir}/${name}":
|
|
ensure => present,
|
|
mode => '0750',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
require => Class['puppi'],
|
|
content => template($templatefile),
|
|
tag => 'puppi_info',
|
|
}
|
|
|
|
}
|