There is simply no way to do that, and this is against Puppet's design.
I managed to fix my issue by:
- reordering dependencies so there is a single action to do after the soft dependency
- using the
|| true
workaround mentioned on the mailing list.
Edit: In the end, that wasn't really maintainable. Switched to Ansible.