Manifest.rollback

You're seeing just the function rollback, go back to Manifest module for more information.

Specs

rollback(t()) :: {:ok, map()} | {:error, atom(), any(), map()}

Rolls back each operation in case of failure.

Each Manifest.Step.t/0 that ran previous to the point of failure, defines a Manifest.Step.rollback/0 in the manifest, and didn't receive a :no_rollback in tuple that the step's Manifest.Step.work/0 returned, will be rolled back in reverse from the order the steps were performed. If any of the rollbacks fail, it stops attempting to roll back and returns an :error tuple. The error tuple has the Manifest.Step.operation/0 where it failed as it's second element, the reason as the third, and a map containing the results of all the successful roll backs up to that point.

You can also call rollback/1 on a completely successful Manifest.