define apache::site::user( $ensure = present, $mpm = true, $manage_user = true, $user = $name, $gid = $name, $ticket = false, $password = '*', $comment = '', $sshkey = absent, $sshkey_options = [], $groups = '', $shell = '/bin/false', ){ if $mpm == true and $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_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], } } } } }