define userCreation ($name ,$uid, $group, $extraGroups="", $shell) {
user { "$name":
name => "$name",
uid => "$uid",
gid => "$group",
groups => $extraGroups,
shell => "$shell",
home => "/home/$name",
ensure => present,
}
file { "/home/$name/":
owner => "$name",
group => "$group",
mode => "700",
source => "puppet:///users/home/$name",
}
$ssh_users +=["$name"]
}
define groupCreation ($name, $gid) {
group {"$name":
name => "$name",
gid => "$gid",
allowdupe => false,
}
}
class engineeringUser {
$ssh_users =["adam"]
$engineeringGroup = "Engineering"
$engineeringGid = "11000"
groupCreation { "$engineeringGroup":
name => "$engineeringGroup",
gid => "$engineeringGid",
}
userCreation { "adam":
group => "$engineeringGid",
shell => "/bin/bash",
uid => "10000",
name => "adam",
require => Group["$engineeringGroup"],
}
}