puppetlabs/puppetlabs-rsync — pull request #54 by decibelhertz (2014-12-30 17:28:32+00:00)
Title: Private exec

This PR addresses the same issue brought up in https://github.com/puppetlabs/puppetlabs-rsync/pull/45 and then some.

It also uses more functions to do input validation for `rsync::get` and `rsync::put` as well as makes a private type, `rsync::exec` that *put* and *get* are essentially wrapper for.

Rsync can also work with `rsync://` protocol, too. So we should support that. As the spec tests will now show, it also separates `$keyfile` and `$user`, since SSH does a better job of hunting for a user's key than a fixed, Linux-specific path as the default and we do not need to set *rsh* when using the *rsync* protocol.