Puppet Class: logstash::package
- Defined in:
- manifests/package.pp
Overview
Class: logstash::package
This class exists to coordinate all software package management related actions, functionality and logical units in a central place.
Parameters
This class does not provide any parameters.
Examples
This class may be imported by other classes to use its functionality:
class { 'logstash::package': }
It is not intended to be used directly by external resources like node definitions or other modules.
Authors
-
Richard Pijnenburg <richard.pijnenburg@elasticsearch.com>
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 |
# File 'manifests/package.pp', line 25
class logstash::package {
Exec {
path => [ '/bin', '/usr/bin', '/usr/local/bin' ],
cwd => '/',
tries => 3,
try_sleep => 10,
}
#### Package management
# set params: in operation
if $logstash::ensure == 'present' {
# action
if ($logstash::package_url != undef) {
$package_dir = $logstash::package_dir
# Create directory to place the package file
exec { 'create_package_dir_logstash':
cwd => '/',
path => ['/usr/bin', '/bin'],
command => "mkdir -p ${logstash::package_dir}",
creates => $logstash::package_dir;
}
file { $package_dir:
ensure => 'directory',
purge => $logstash::purge_package_dir,
force => $logstash::purge_package_dir,
backup => false,
require => Exec['create_package_dir_logstash'],
}
}
} else { # Package removal
$package_dir = $logstash::package_dir
file { $package_dir:
ensure => 'absent',
purge => true,
force => true,
backup => false,
}
}
#class { 'logstash::package::core': }
logstash::package::install { 'logstash':
package_url => $logstash::package_url,
version => $logstash::version,
package_name => $logstash::package_name,
}
}
|