Report abuse

        ###
        # Possible replacement for the above code. Add SSH key to existing
        # account without replacing the file.
        ###
        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, ]
       }