Defined Type: tomcat::lib
- Defined in:
- manifests/lib.pp
Overview
puppet2sitepp @tomcatlibs
2 3 4 5 6 7 8 9 10 11 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 |
# File 'manifests/lib.pp', line 2
define tomcat::lib(
$jar_name,
$source = undef,
$file_ln = undef,
$catalina_base = "/opt/${name}",
$servicename = $name,
$purge_old = true,
$ensure = 'present',
) {
if ! defined(Class['tomcat'])
{
fail('You must include the tomcat base class before using any tomcat defined resources')
}
if($source==undef and $file_ln==undef)
{
fail('You have to specify source or file_ln')
}
if($source!=undef and $file_ln!=undef)
{
fail('You cannotspecify both source and file_ln')
}
if($file_ln!=undef)
{
validate_absolute_path($file_ln)
}
Exec {
path => '/usr/sbin:/usr/bin:/sbin:/bin',
}
if($servicename!=undef)
{
$serviceinstance=Service[$servicename]
}
else
{
$serviceinstance=undef
}
if($purge_old)
{
exec{ "purge old ${catalina_base} ${jar_name}":
command => "ls ${catalina_base}/lib/*jar | grep -v ${jar_name} | grep -E $(echo ${jar_name}.jar | sed 's/^\\(.*\\)-[0-9.]*\\.jar$/\\1/')'-[0-9.]+.jar' | xargs rm",
onlyif => "ls ${catalina_base}/lib/*jar | grep -v ${jar_name} | grep -E $(echo ${jar_name}.jar | sed 's/^\\(.*\\)-[0-9.]*\\.jar$/\\1/')'-[0-9.]+.jar'",
notify => $serviceinstance,
}
}
if($source!=undef)
{
file { "${catalina_base}/lib/${jar_name}.jar":
ensure => $ensure,
owner => 'root',
group => 'root',
mode => '0644',
require => File["${catalina_base}/lib"],
source => $source,
}
}
if($file_ln!=undef)
{
file { "${catalina_base}/lib/${jar_name}.jar":
ensure => 'link',
target => $file_ln,
require => File["${catalina_base}/lib"],
}
}
}
|