From 8e332dafba6c6a1975d942801c98467723988fb7 Mon Sep 17 00:00:00 2001 From: Adam Jahn Date: Mon, 13 Apr 2015 15:14:36 -0400 Subject: extract os params to params class --- manifests/server/params.pp | 30 ++++++++++++++++++++++++++++++ manifests/server/service.pp | 32 ++++---------------------------- 2 files changed, 34 insertions(+), 28 deletions(-) create mode 100644 manifests/server/params.pp diff --git a/manifests/server/params.pp b/manifests/server/params.pp new file mode 100644 index 0000000..aa9674e --- /dev/null +++ b/manifests/server/params.pp @@ -0,0 +1,30 @@ +# == Class samba::server::params +# +class samba::server::params { + case $::osfamily { + 'Redhat': { $service_name = 'smb' } + + #On Debian family: Debian 7 => samba , Ubuntu => smbd + #Others, I don't know, hope 'samba' will works + 'Debian': { + case $::operatingsystem{ + 'Debian': { $service_name = 'samba' } + 'Ubuntu': { $service_name = 'smbd' } + default: { $service_name = 'samba' } + } + } + 'Gentoo': { $service_name = 'samba' } + 'Archlinux': { $service_name = 'smbd' } + + # Currently Gentoo has $::osfamily = "Linux". This should change in + # Factor 1.7.0 , so + # adding workaround. + 'Linux': { + case $::operatingsystem { + 'Gentoo': { $service_name = 'samba' } + default: { fail("${::operatingsystem} is not supported by this module.") } + } + } + default: { fail("${::osfamily} is not supported by this module.") } + } +} diff --git a/manifests/server/service.pp b/manifests/server/service.pp index 2226497..a8797de 100644 --- a/manifests/server/service.pp +++ b/manifests/server/service.pp @@ -1,32 +1,9 @@ -class samba::server::service ($ensure = running, $enable = true) { - case $::osfamily { - 'Redhat': { $service_name = 'smb' } - - #On Debian family: Debian 7 => samba , Ubuntu => smbd - #Others, I don't know, hope 'samba' will works - 'Debian': { - case $::operatingsystem{ - 'Debian': { $service_name = 'samba' } - 'Ubuntu': { $service_name = 'smbd' } - default: { $service_name = 'samba' } - } - } - 'Gentoo': { $service_name = 'samba' } - 'Archlinux': { $service_name = 'smbd' } - - # Currently Gentoo has $::osfamily = "Linux". This should change in - # Factor 1.7.0 , so - # adding workaround. - 'Linux': { - case $::operatingsystem { - 'Gentoo': { $service_name = 'samba' } - default: { fail("${::operatingsystem} is not supported by this module.") } - } - } - default: { fail("${::osfamily} is not supported by this module.") } - } # == Class samba::server::server # +class samba::server::service ( + $ensure = running, + $enable = true +) inherits samba::server::params { service { $service_name : ensure => $ensure, @@ -35,5 +12,4 @@ class samba::server::service ($ensure = running, $enable = true) { enable => $enable, require => Class['samba::server::config'] } - } -- cgit v1.2.3