define key ($ensure = 'present', $destuser, $sourcekeys) {
file {
"/home/$destuser":
ensure => directory,
owner => $destuser;
"/home/$destuser/.ssh":
ensure => directory,
owner => $destuser,
mode => 700,
require => File["/home/$destuser"];
"/home/$destuser/.ssh/authorized_keys":
ensure => present,
owner => $destuser,
mode => 644,
require => File["/home/$destuser/.ssh"],
}
case $ensure {
present: {
$key = file("/etc/puppet/files/idcadmin/auth/keys/$sourcekeys.pub")
line {
"append_auth_key_$sourcekeys_to_$destuser":
line => $key,
ensure => present,
require => File["/home/$destuser/.ssh/authorized_keys"],
file => "/home/$destuser/.ssh/authorized_keys";
}
}
}
}