I don't think this is going to work on RHEL unfortunately, it might need to move back to %post.  The reason is puppet depends on stuff in the optional child channel (ruby-augeas, libselinux-ruby) which won't be available until the %post redhat_register snippet runs, only the base channel is available here.