Class ScenarioCatalog

java.lang.Object
com.eqixiac.equinix.design.resilience.ScenarioCatalog

public final class ScenarioCatalog extends Object
Enumerates the failure scenarios of a DesignGraph, deterministically.
  • Single failures (exhaustive): every metro, Cloud Router, on-ramp, cloud connection, site access circuit and backbone link; then the shared-fate events: every cloud provider region (clouds grouped by provider and region; a cloud with no region is its own group) and every Equinix region the portfolio touches.
  • Pairs (bounded): every unordered pair of single-element failures, skipping a pair in which one failure already contains the other (a router and its own metro), in a fixed order, up to a limit.
  • Method Details

    • singles

      public static List<FailureScenario> singles(DesignGraph graph)
      Parameters:
      graph - a design graph
      Returns:
      every single failure: element failures first (metros, routers, on-ramps, connections), then cloud regions, then Equinix regions
    • pairs

      public static ScenarioCatalog.Pairs pairs(DesignGraph graph, int max)
      Parameters:
      graph - a design graph
      max - the most pairs to return
      Returns:
      the pairwise scenarios over the single-element failures