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
|
# File 'manifests/entity/master.pp', line 16
define dstserver::entity::master(
String $path,
Array[Integer, 3, 3] $ports = [11032, 11033, 11034],
Enum[present, absent] $ensure = present,
Optional[Hash] $worldgenoverride,
Optional[Hash] $mods,
) {
if($ensure == present){
file{$path:
ensure => directory,
}
file{"${path}/server.ini":
ensure => [file, present],
# Will be modified by the server process
replace => 'no',
content => epp('dstserver/server.master.ini', {
ports => $ports
})
}
if $worldgenoverride {
dstserver::config::worldgenoverride{"${name}-master":
ensure => present,
path => $path,
* => $worldgenoverride,
}
} else {
dstserver::config::worldgenoverride{"${name}-master":
ensure => absent,
path => $path,
}
}
dstserver::config::modoverride{"${name}-master":
path => $path,
mods => $mods,
notify => Service["dst-master@${name}"],
}
service{"dst-master@${name}":
ensure => running,
enable => true,
require => File['service-dst-master']
}
} else {
# Ensure service is removed
service{"dst-master@${name}":
ensure => stopped,
enable => false,
require => File['service-dst-master']
}
}
}
|