Can you unapply a puppet manifest action?

There is not. Because a puppet module can execute arbitrary commands, there's no way to determine exactly what "unapply" means.

Some modules ship with a corresponding anti-module that will perform the uninstall (e.g, foo vs foo::disable), but that requires explicit coding.


although it would be nice, but there is no unapply available.

you would have to write an undo recipe yourself, depending on what you did exactly (installed package? then purge it, added user? then disable it, etc.)

the replaced files should be stored in the clientbucket (/var/lib/puppet/clientbucket usually but it depends on your version and your setting)