Puppet Class: r_profile::user
- Defined in:
- manifests/user.pp
Overview
R_profile::User
Support for creating users and groups in bulk
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 |
# File 'manifests/user.pp', line 8
class r_profile::user(
$users = hiera("r_profile::user::users", false),
$groups = hiera("r_profile::user::groups", false),
$deluxe = hiera("r_profile::user::deluxe", false),
) {
$default_ensure = {'ensure' => 'present'}
if $users {
ensure_resources("user", $users, $default_ensure)
$users.each |$title, $hash| {
# if homedir set, create it
$home = dig($hash, 'home')
if $home {
$homedir_group = pick(dig($hash, 'gid'), $title)
$homedir = {
$home => {
"ensure" => "directory",
"owner" => $title,
"group" => $homedir_group,
"mode" => "0700",
}
}
ensure_resources("file", $homedir)
}
if $deluxe {
# copy in skeleton files, setup nice prompt, etc
bash_user_skel { $user: }
}
}
}
if $groups {
ensure_resources("group", $groups, $default_ensure)
}
}
|