Defined Type: tomcat::lib

Defined in:
manifests/lib.pp

Overview

puppet2sitepp @tomcatlibs

Parameters:

  • jar_name (Any)
  • source (Any) (defaults to: undef)
  • file_ln (Any) (defaults to: undef)
  • catalina_base (Any) (defaults to: "/opt/${name}")
  • servicename (Any) (defaults to: $name)
  • purge_old (Any) (defaults to: true)
  • ensure (Any) (defaults to: 'present')


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"],
    }
  }
}