eximconf: re-order checks to avoid unnecessary DNS lookups
[mirror/dsa-puppet.git] / modules / xinetd / manifests / service.pp
index 5c8f954..62349ea 100644 (file)
@@ -1,7 +1,8 @@
 define xinetd::service (
        $id,
        $server,
-       $port,
+       $service,
+       $port='',
        $bind='',
        $type='',
        $socket_type=stream,
@@ -20,22 +21,22 @@ define xinetd::service (
 ) {
        include xinetd
 
-       case $ensure {
-               present,absent,file: {}
-               default: { fail("Invalid ensure for '$name'") }
-       }
-
-       if $ferm {
-               @ferm::rule { "dsa-xinetd-${name}":
-                       description => "Allow traffic to ${port}",
-                       rule        => "&SERVICE(${protocol}, ${port})"
-               }
-       }
-
        file { "/etc/xinetd.d/${name}":
                ensure  => $ensure,
                content => template('xinetd/service.erb'),
                notify  => Service['xinetd'],
                require => Package['xinetd'],
        }
+
+       if $ferm {
+               $fermport = $port ? {
+                       "" => $service,
+                       default => $port
+               }
+
+               ferm::rule { "dsa-xinetd-${name}":
+                       description => "Allow traffic to ${service}",
+                       rule        => "&SERVICE(${protocol}, ${fermport})"
+               }
+       }
 }