Class Design
java.lang.Object
com.eqixiac.equinix.Design
A root-level entry point that gathers the SDK's value-add design capabilities -
Metro Optimizer, Deployment Wizard, Peering Intelligence, Savings Calculator, and TCO
comparison - in one discoverable place, alongside the API-domain clients (
Fabric,
NetworkEdge, ...).
Unlike those domain clients, Design is not constructed from
credentials: it is a thin facade over an already-authenticated FabricGateway, which
it reuses. This is intentional - the design engines run on top of an existing client (its
metros, service profiles, prices, ...) rather than opening a second connection pool / token.
Construct it over your Fabric, or obtain one from a shared Equinix session
via Equinix.design():
Design design = Design.over(fabric); // reuses fabric's client - no new transport
OptimizationResult result = design.optimizeMetros(spec).run(); // spec: a DesignSpec
SavingsEstimate savings = design.savingsCalculator()
.egress(50, DataUnit.TERABYTE).fromCloud(CloudProviderType.AWS).inRegion("us-east-1")
.calculate();
Each method returns the same fluent builder you would get from the corresponding
Fabric accessor (e.g. Fabric.optimizeMetros()) or the underlying
*.builder(FabricGateway) factory. Export utilities (design.export.TerraformExporter,
design.export.TopologyDiagram) operate on a produced plan/result and are used directly.
-
Method Summary
Modifier and TypeMethodDescriptionBegins a read-only analysis of an existing estate (findings with priced savings, risks and hygiene issues).decisionRecord(DesignSpec spec) Begins a Design Decision Record for aDesignSpec(read-only): the optimiser, resilience analysis, growth and value models and a deployment plan, chained and recorded with their evidence (DesignDecisionRecorder.forSpec).deploymentWizard(OptimizationResult optimizationResult) Begins a deployment-plan build from a prior optimization result.Begins a metro-optimization request.optimizeMetros(DesignSpec spec) Begins a metro optimization of aDesignSpec: the spec-first entry point (MetroOptimizer.forSpec).static Designover(FabricGateway fabric) Creates a design facade over an existing Fabric client (or anyFabricGateway), reusing its authenticated transport.Begins a peering-intelligence request, resolving the PeeringDB credential the same wayFabric.peeringIntelligence()does: theEquinixConfig.peeringDbApiKeyoption configured on the underlying client (if this facade wraps aFabric), else thePEERINGDB_API_KEYenvironment variable, else anonymous access.peeringIntelligence(String peeringDbApiKey) Begins a peering-intelligence request authenticated to PeeringDB.resilience(DesignSpec spec) Begins a resilience analysis of aDesignSpec(read-only): by default the optimiser's recommended portfolio is built into a design graph and every single failure and bounded pairs of failures are simulated (ResilienceAnalyzer.forSpec).Begins an egress savings calculation (public internet vs. private interconnect).Begins a total-cost-of-ownership comparison (public cloud vs. on-prem vs.
-
Method Details
-
over
Creates a design facade over an existing Fabric client (or anyFabricGateway), reusing its authenticated transport.- Parameters:
fabric- the Fabric client the design engines read from- Returns:
- a design facade
-
optimizeMetros
Begins a metro-optimization request.- Returns:
- a
MetroOptimizer.Builderbound to this facade's Fabric client
-
optimizeMetros
Begins a metro optimization of aDesignSpec: the spec-first entry point (MetroOptimizer.forSpec).- Parameters:
spec- the design- Returns:
- the optimizer run; call
run()
-
resilience
Begins a resilience analysis of aDesignSpec(read-only): by default the optimiser's recommended portfolio is built into a design graph and every single failure and bounded pairs of failures are simulated (ResilienceAnalyzer.forSpec).- Parameters:
spec- the design- Returns:
- the analysis; call
run()
-
decisionRecord
Begins a Design Decision Record for aDesignSpec(read-only): the optimiser, resilience analysis, growth and value models and a deployment plan, chained and recorded with their evidence (DesignDecisionRecorder.forSpec).- Parameters:
spec- the design- Returns:
- the recorder; call
record()
-
deploymentWizard
Begins a deployment-plan build from a prior optimization result.- Parameters:
optimizationResult- the optimization result to plan from- Returns:
- a
DeploymentWizard.Builderbound to this facade's Fabric client
-
peeringIntelligence
Begins a peering-intelligence request, resolving the PeeringDB credential the same wayFabric.peeringIntelligence()does: theEquinixConfig.peeringDbApiKeyoption configured on the underlying client (if this facade wraps aFabric), else thePEERINGDB_API_KEYenvironment variable, else anonymous access.- Returns:
- a
PeeringIntelligence.Builderbound to this facade's Fabric client
-
peeringIntelligence
Begins a peering-intelligence request authenticated to PeeringDB.- Parameters:
peeringDbApiKey- the PeeringDB API key (higher rate limits / contact fields)- Returns:
- a
PeeringIntelligence.Builderbound to this facade's Fabric client
-
savingsCalculator
Begins an egress savings calculation (public internet vs. private interconnect).- Returns:
- a
SavingsCalculator.Builderbound to this facade's Fabric client
-
tcoComparison
Begins a total-cost-of-ownership comparison (public cloud vs. on-prem vs. Equinix interconnect).- Returns:
- a
TcoCalculator.Builderbound to this facade's Fabric client
-
analyzeEstate
Begins a read-only analysis of an existing estate (findings with priced savings, risks and hygiene issues). Needs a fullFabricclient, because it reads ports, networks, service tokens and metrics as well as connections and routers; a run must be scoped.- Returns:
- a
EstateAnalyzer.Builderbound to this facade's Fabric client - Throws:
IllegalStateException- when this facade was created over aFabricGatewaythat is not aFabric
-