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
|
# File 'manifests/app/dev.pp', line 18
define openondemand::app::dev (
Enum['present','absent'] $ensure = 'present',
Stdlib::Filemode $mode = '0755',
String $owner = 'root',
String $group = 'root',
String $home_subdir = 'ondemand/dev',
Optional[Stdlib::Absolutepath] $gateway_src = undef,
) {
include openondemand
$base_web_dir = "${openondemand::web_directory}/apps/dev"
$web_dir = "${base_web_dir}/${name}"
$gateway = "${web_dir}/gateway"
$_gateway_src = pick($gateway_src, "~${name}/${home_subdir}")
if $ensure == 'present' {
file { $web_dir:
ensure => 'directory',
owner => $owner,
group => $group,
mode => $mode,
}
exec { "openondemand::app::dev-link-gateway-${name}":
path => '/usr/bin:/bin:/usr/sbin:/sbin',
command => "ln -snf ${_gateway_src} ${gateway}",
unless => [
"test -L ${gateway}",
"readlink ${gateway} | grep -q ${_gateway_src}",
],
require => File[$web_dir],
}
}
if $ensure == 'absent' {
exec { "openondemand::app::dev-unlink-gateway-${name}":
path => '/usr/bin:/bin:/usr/sbin:/sbin',
command => "unlink ${gateway}",
onlyif => "test -L ${gateway}",
before => File[$web_dir],
}
file { $web_dir:
ensure => 'absent',
force => true,
}
}
}
|