this seems a little roundabout to me  why do these need to be json  and why are they stored in yaml in the first place  the commit message does not make it clear why this is needed  these need a refreshonly true for each exec  otherwise they will execute on every puppet run 