aboutsummaryrefslogtreecommitdiff
path: root/manifests/server/service.pp
blob: 5450437160901700bf2ca4b2735fb40455393c25 (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
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' }

      # 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']
  }

}