aboutsummaryrefslogtreecommitdiff
path: root/manifests/server/service.pp
blob: 9ad5fb052372054f2cf23a4f53a8d22030857ebe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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 <http://projects.puppetlabs.com/issues/17029>, 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.") }
    }

  service { "$service_name" :
    ensure      => $ensure,
    hasstatus   => true,
    hasrestart  => true,
    enable      => $enable,
    require     => Class['samba::server::config']
  }

}