define xinetd::service (
$id,
$server,
- $port,
+ $service,
+ $port='',
$bind='',
$type='',
$socket_type=stream,
$ensure=present,
$ferm=true
) {
- include xinetd
-
case $ensure {
- present,absent,file: {}
+ present,file: {
+ include xinetd
+ file { "/etc/xinetd.d/${name}":
+ ensure => $ensure,
+ content => template('xinetd/service.erb'),
+ notify => Service['xinetd'],
+ require => Package['xinetd'],
+ }
+ }
+ absent: {
+ file { "/etc/xinetd.d/${name}":
+ ensure => $ensure,
+ }
+ }
default: { fail("Invalid ensure for '$name'") }
}
if $ferm {
- @ferm::rule { "dsa-xinetd-${name}":
- description => "Allow traffic to ${port}",
- rule => "&SERVICE(${protocol}, ${port})"
+ $fermport = $port ? {
+ "" => $service,
+ default => $port
}
- }
- file { "/etc/xinetd.d/${name}":
- ensure => $ensure,
- content => template('xinetd/service.erb'),
- notify => Service['xinetd'],
- require => Package['xinetd'],
+ @ferm::rule { "dsa-xinetd-${name}":
+ description => "Allow traffic to ${service}",
+ rule => "&SERVICE(${protocol}, ${fermport})"
+ }
}
}