I guess it depends on what one means by "override". The existing provider cannot be made to work differently without modifying its code, but one could create a new, distinct provider by either copying or extending the existing one, and make that one operate as desired. In the "extending" alternative, it is plausible that effecting the desired behavior change would indeed take the form of "overriding", in the Ruby sense of that term. That still requires Ruby coding, but it does not involve changing shipped with Puppet.
John