diff --git a/portmap/manifests/init.pp b/portmap/manifests/init.pp index c2c286f..67252b9 100644 --- a/portmap/manifests/init.pp +++ b/portmap/manifests/init.pp @@ -2,47 +2,48 @@ # class portmap::server { - case $operatingsystem { - openbsd: { - service { "portmap": - ensure => running, - enable => true, - } + case $::operatingsystem { + "openbsd": { + $package = "" + $service = "portmap" } - centos: { - case $operatingsystemrelease { + "centos": { + case $::operatingsystemrelease { /^[1-5]\./: { - package { "portmap": - ensure => installed, - } - service { "portmap": - ensure => running, - enable => true, - require => Package["portmap"], - } + $package = "portmap" + $service = "portmap" } default: { - package { "rpcbind": - ensure => installed, - } - service { "rpcbind": - ensure => running, - enable => true, - require => Package["rpcbind"], - } + $package = "rpcbind" + $service = "rpcbind" } } } - fedora: { - package { "rpcbind": - ensure => installed, - } - service { "rpcbind": - ensure => running, - enable => true, - require => Package["rpcbind"], - } + "fedora": { + $package = "rpcbind" + $service = "rpcbind" + } + "ubuntu": { + $package = "rpcbind" + $service = "portmap" + } + default: { + fail("portmap::server not supported on ${::operatingsystem}") } } + if $package { + package { "portmap": + ensure => installed, + name => $package, + before => Service["portmap"], + } + } + + service { "portmap": + ensure => running, + name => $service, + enable => true, + } + }