define key ($ensure = 'present', $destuser = '$name') {
case $ensure {
present: {
$group = generate("/usr/bin/id","-g","$name")
file {
"/home/$destuser":
ensure => directory,
owner => $destname,
group => $group;
"/home/$destname/.ssh":
ensure => directory,
owner => $destname,
group => $group,
mode => 700,
require => File["/home/$destname"];
"/home/$destname/.ssh/authorized_keys":
ensure => present,
owner => $destname,
group => $group,
mode => 644,
require => File["/home/$destname/.ssh"],
}
$key = file("/etc/puppet/files/idcadmin/auth/keys/$name.pub")
line {
"append_auth_key_$name":
line => $key,
ensure => present,
require => File["/home/$destname/.ssh/authorized_keys"],
file => "/home/$destname/.ssh/authorized_keys";
}
}
}
}
auth::key { "add users to auto-login of parabuild userid":
[ bob: ensure => present, destuser => idc,
joe: ensure => present, destuser => idc, ]
}