Report abuse

                case $ensure {
                        present:  {
                                $key = file("/etc/puppet/files/idcadmin/auth/keys/$sourcekeys.pub")
                                line {
                                        [ $sourcekeys ]:
                                        line    => $key,
                                        ensure  => present,
                                        require => File["/home/$destuser/.ssh/authorized_keys"],
                                        file    => "/home/$destuser/.ssh/authorized_keys";
                                }
                        }
                }



define line( $file, $line, $ensure = 'present') {
        case $ensure {
                default : { err ( "unknown ensure value '${ensure}'" ) }
                present: {
                        exec { "echo ${line} to ${file}":
                                command         => "echo '${line}' >> '${file}'",
                                unless          => "grep -qFx '${line}' '${file}'",
                        }
                }
                absent: {
                        exec { "remove the ${line} from ${file}":
                                command         => "perl -ni -e 'print if \$_ ne \"${line}\n\";' '${file}'",
                                onlyif          => "grep -qFx '${line}' '${file}'"
                        }
                }
        }
}





        $dhg_user_keys          = [ "bob", "joe" ]

        auth::key { "add dhg_user_keys to IDC user for remote mgmt":
                        ensure          => present,
                        destuser        => "idc",
                        sourcekeys      => $dhg_user_keys,
        }


err: Could not retrieve catalog: Could not find any files from /etc/puppet/files/idcadmin/auth/keys/bobjoe.pub at /etc/puppet/modules/auth/manifests/init.pp:94 on node vdc01b01ubuntu01