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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# File 'manifests/install.pp', line 38
define tomcat::install (
Stdlib::Absolutepath $catalina_home = $name,
Boolean $install_from_source = true,
# source options
Optional[String[1]] $source_url = undef,
Boolean $source_strip_first_dir = true,
Optional[
Enum[
'none',
'http',
'https',
'ftp'
]
] $proxy_type = undef,
Optional[String[1]] $proxy_server = undef,
Boolean $allow_insecure = false,
Optional[String[1]] $user = undef,
Optional[String[1]] $group = undef,
Optional[Boolean] $manage_user = undef,
Optional[Boolean] $manage_group = undef,
Optional[Boolean] $manage_home = undef,
Optional[Array[String[1]]] $remove_default_webapps = undef,
# package options
Optional[String[1]] $package_ensure = undef,
Optional[String[1]] $package_name = undef,
Optional[Array[String[1]]] $package_options = undef,
) {
include tomcat
$_user = pick($user, $tomcat::user)
$_group = pick($group, $tomcat::group)
$_manage_user = pick($manage_user, $tomcat::manage_user)
$_manage_group = pick($manage_group, $tomcat::manage_group)
$_manage_home = pick($manage_home, $tomcat::manage_home)
tag(sha1($catalina_home))
if $install_from_source {
if $_manage_user {
ensure_resource('user', $_user, {
ensure => present,
gid => $_group,
})
}
if $_manage_group {
ensure_resource('group', $_group, {
ensure => present,
})
}
tomcat::install::source { $name:
catalina_home => $catalina_home,
manage_home => $_manage_home,
source_url => $source_url,
source_strip_first_dir => $source_strip_first_dir,
proxy_type => $proxy_type,
proxy_server => $proxy_server,
allow_insecure => $allow_insecure,
user => $_user,
group => $_group,
}
} else {
tomcat::install::package { $package_name:
package_ensure => $package_ensure,
package_options => $package_options,
}
}
if $remove_default_webapps {
$remove_default_webapps.each |$folder| {
$require_value = $install_from_source? {
true => Resource['tomcat::install::source', $name],
default => Resource['tomcat::install::package', $package_name]
}
file { "remove ${folder}" :
ensure => absent,
path => "${catalina_home}/webapps/${folder}",
recurse => true,
purge => true,
force => true,
require => $require_value,
}
}
}
}
|