Class PlanRollback

java.lang.Object
com.eqixiac.equinix.design.plan.PlanRollback

public final class PlanRollback extends Object
Tears down resources a run created, in an order that cannot strand a billable Cloud Router.
  1. Every connection (provider connections and backbone links) is deleted, newest first. A delete that answers HTTP 404 counts as already gone.
  2. Each connection delete is then polled (with the core/waiter machinery, on the options' clock and poll interval) until the connection reads DEPROVISIONED or HTTP 404, for at most deleteTimeout. Fabric deletes connections asynchronously; deleting the Cloud Router while a connection is still DEPROVISIONING fails or orphans the router.
  3. A Cloud Router is deleted only when every connection attached to it is confirmed gone, and its delete is polled the same way.

Routing protocols are removed by Fabric with their connection: they are reported removed when their connection is, and orphaned when it is not. Anything that could not be removed is an OrphanedResource with its uuid and the reason.

  • Method Details

    • rollback

      public static RollbackReport rollback(FabricGateway fabric, List<CompletedStep> created, Map<String, List<String>> attached, ExecutionOptions options)
      Rolls back the given resources.
      Parameters:
      fabric - the Fabric client
      created - the resources to remove, in creation order
      attached - for each router key, the keys of the connections attached to it; null when unknown, in which case any orphaned connection keeps every router
      options - timeouts, poll interval and clock
      Returns:
      what was removed and what was left