summaryrefslogtreecommitdiff
path: root/manifests/site/user.pp
blob: 90edf7c7ced4b3641eb296335ac55b6001647768 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
define apache::site::user(
  $ensure          = present,
  $manage_user     = true,
  $user            = $name,
  $gid             = $name,
  $ticket          = false,
  $password        = '*',
  $comment         = '',
  $sshkey          = absent,
  $sshkey_type     = absent,
  $sshkey_options  = [],
  $groups          = '',
  $shell           = '/bin/false',
){
  #if $mpm == true and $manage_user == true and $user != 'root' {
  if $manage_user == true and $user != 'root' {
    if $ensure == present {
      if !defined(Group[$gid]) {
        group { "$gid":
          ensure => present,
        }
      }

      if !defined(User["$user"]) {
        user::manage { "$user":
          tag            => "virtual",
          password       => $password,
          gid            => $gid,
          comment        => $comment,
          ticket         => $ticket,
          groups         => $groups,
          sshkey         => $sshkey,
          sshkey_type    => $sshkey_type,
          sshkey_options => $sshkey_options,
          shell          => $shell,
          ensure         => present,
          require        => Group[$gid],
        }
      }
    }
    else {
      if !defined(User["$user"]) {
        user::manage { "$user":
          tag      => "virtual",
          password => $password,
          ensure   => absent,
        }
      }

      if !defined(Group[$gid]) {
        group { "$gid":
          ensure  => absent,
          require => User[$user],
        }
      }
    }
  }
}