Uses of Record Class
com.eqixiac.equinix.design.spec.DesignSpec
Packages that use DesignSpec
Package
Description
Root package for the Equinix Java SDK.
The built-in hard limits of the Metro Optimizer: one small, pure
Constraint per field of
DesignConstraints, plus the workload rules, the
single-currency budget and the every-metro-used rule.Pricing of candidate designs:
RateCardCostModel is the
CostModel the Metro Optimizer uses, pricing each metro's
needs from a RateCard with every line's source and a range from
PriceBands.The Metro Optimizer: which set of Equinix metros best serves a
DesignSpec, as a multi-objective search.The facts of a Metro Optimizer run:
CatalogDesignContext
(an in-memory DesignContext with a builder),
FabricCatalogLoader (builds one from live Fabric
data, read-only) and ProviderCatalog (which metros
each cloud is reachable from).Immutable value types for the Metro Optimization Engine - the request side (sites, provider
requirements, workload specs, constraints, scoring weights) and the result side (ranked
recommendations, scores, topology, latency matrix, risk assessment, cost estimates).
The Deployment Wizard: turns a metro
OptimizationResult into an executable
DeploymentPlan - Cloud Routers,
provider connections, inter-metro backbone links, and routing protocols, with bandwidth-aware
profile selection and honestly-reconciled pricing.Peering Intelligence: interconnection analysis combining PeeringDB IX/facility data with the
live Equinix Fabric catalog.
The Design Decision Record: the one document an architect hands to a review board for a
DesignSpec.Failure analysis of a design.
The shared design document every design engine reads:
DesignSpec.Extension points of the design engines.
The value-realization layer of the design API: design-time cost modelling that puts a
money figure on an interconnect decision.
Cloud-egress savings estimation: how much routing a monthly data volume over an
Equinix private interconnect saves versus egressing it to the public internet, net of
the Equinix interconnect cost.
Design-time total-cost-of-ownership comparison across the
DeploymentArchetypes - public cloud over
the internet, on-premises, Equinix-interconnected, and (for a cloud-to-cloud comparison) the
providers' native multicloud link.-
Uses of DesignSpec in com.eqixiac.equinix
Methods in com.eqixiac.equinix with parameters of type DesignSpecModifier and TypeMethodDescriptionDesign.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).Design.optimizeMetros(DesignSpec spec) Begins a metro optimization of aDesignSpec: the spec-first entry point (MetroOptimizer.forSpec).Design.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). -
Uses of DesignSpec in com.eqixiac.equinix.design.constraint
Methods in com.eqixiac.equinix.design.constraint with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic List<Constraint> Constraints.forSpec(DesignSpec spec) The built-in constraints for a spec: one per field ofDesignConstraintsthat is set, the workload rules (pinned metro, per-workload latency, cloud reachability) when the spec has workloads or required clouds, the budget when one is stated, andEveryMetroUsedConstraintalways. -
Uses of DesignSpec in com.eqixiac.equinix.design.cost
Methods in com.eqixiac.equinix.design.cost that return DesignSpecModifier and TypeMethodDescriptionstatic DesignSpecCurrencyConverters.pinUsedRates(DesignSpec spec, List<PortfolioCost> costs) The spec with the rates the given costs used pinned incommercial.exchangeRates(rates already pinned are kept and take precedence), so re-running it reproduces the result.Methods in com.eqixiac.equinix.design.cost with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic CurrencyConverters.ChainCurrencyConverters.forSpec(DesignSpec spec, CurrencyConverter supplied) The converter for a spec: pinned rates, thensupplied, thenCurrencyConverters.standard(String).static GrowthPlannerGrowthPlanner.forSpec(DesignSpec spec, MetroPortfolio portfolio, DesignContext context, RateCard rateCard, ReferenceRateCard providerFees) Plans a design.static GrowthPlannerGrowthPlanner.forSpec(DesignSpec spec, MetroPortfolio portfolio, DesignContext context, RateCard rateCard, ReferenceRateCard providerFees, CurrencyConverter converter) Plans a design with a converter for prices in other currencies (ranked below rates pinned in the spec and above the default sources; seeCurrencyConverters).static RateCardCostModel.BuilderRateCardCostModel.forSpec(DesignSpec spec, RateCard rateCard) A builder preset from a spec: the term (commercial.term, defaultTerm.MONTH_1), the target currency (commercial.currency, default USD) andcommercial.exchangeRates.static DesignSpecCurrencyConverters.pinUsedRates(DesignSpec spec, List<PortfolioCost> costs) The spec with the rates the given costs used pinned incommercial.exchangeRates(rates already pinned are kept and take precedence), so re-running it reproduces the result. -
Uses of DesignSpec in com.eqixiac.equinix.design.optimizer
Methods in com.eqixiac.equinix.design.optimizer that return DesignSpecMethods in com.eqixiac.equinix.design.optimizer with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic MetroOptimizerMetroOptimizer.forSpec(FabricGateway fabric, DesignSpec spec) Optimises a spec against live Fabric data (read-only). -
Uses of DesignSpec in com.eqixiac.equinix.design.optimizer.context
Methods in com.eqixiac.equinix.design.optimizer.context that return DesignSpecMethods in com.eqixiac.equinix.design.optimizer.context with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic CatalogDesignContext.BuilderCatalogDesignContext.builder(DesignSpec spec) static CatalogDesignContextFabricCatalogLoader.load(FabricGateway fabric, DesignSpec spec, CostModel costModel) -
Uses of DesignSpec in com.eqixiac.equinix.design.optimizer.model
Methods in com.eqixiac.equinix.design.optimizer.model that return DesignSpecModifier and TypeMethodDescriptionOptimizationResult.specWithUsedRatesPinned()The spec with every exchange rate this result used pinned incommercial.exchangeRates, so running it again reproduces the figures exactly. -
Uses of DesignSpec in com.eqixiac.equinix.design.optimizer.wizard
Methods in com.eqixiac.equinix.design.optimizer.wizard with parameters of type DesignSpecModifier and TypeMethodDescriptionDeploymentWizard.Builder.designSpec(DesignSpec spec) Records the design spec the plan is derived from: itsfingerprint()is stamped on the plan, and itsnamebecomes the deployment name unlessDeploymentWizard.Builder.deploymentName(String)sets one. -
Uses of DesignSpec in com.eqixiac.equinix.design.peering
Methods in com.eqixiac.equinix.design.peering with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic PeeringIntelligence.BuilderPeeringIntelligence.forSpec(FabricGateway fabric, DesignSpec spec) Begins a peering analysis of aDesignSpec: the spec'sPeerIntents are the target networks (labelled as the spec labels them), and the metros its sites name plus itsconstraints.requiredMetrosare the customer metros (resiliency analysis is enabled when there is at least one).static PeeringIntelligence.BuilderPeeringIntelligence.forSpec(FabricGateway fabric, DesignSpec spec, String peeringDbApiKey) AsPeeringIntelligence.forSpec(FabricGateway, DesignSpec), authenticated to PeeringDB with an explicit key. -
Uses of DesignSpec in com.eqixiac.equinix.design.record
Methods in com.eqixiac.equinix.design.record that return DesignSpecModifier and TypeMethodDescriptionDesignDecisionRecord.reproducibleSpec()The spec with the exchange rates this record used pinned incommercial.exchangeRates, so running it again reproduces the cost figures.DesignDecisionRecord.spec()Returns the value of thespecrecord component.Methods in com.eqixiac.equinix.design.record with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic DesignDecisionRecorderDesignDecisionRecorder.forSpec(FabricGateway fabric, DesignSpec spec) Records a spec against live Fabric data (read-only: catalogue reads and price searches).Constructors in com.eqixiac.equinix.design.record with parameters of type DesignSpecModifierConstructorDescriptionDesignDecisionRecord(String schemaVersion, String title, String status, Instant generatedAt, String sdkVersion, String specFingerprint, DesignSpec spec, RecordSection<DesignDecisionRecord.Context> context, RecordSection<DesignDecisionRecord.Decision> decision, RecordSection<DesignDecisionRecord.Alternatives> alternatives, RecordSection<DesignDecisionRecord.Sensitivity> sensitivity, RecordSection<DesignDecisionRecord.Cost> cost, RecordSection<DesignDecisionRecord.Resilience> resilience, RecordSection<DesignDecisionRecord.Risks> risks, RecordSection<DesignDecisionRecord.Provenance> provenance, RecordSection<DesignDecisionRecord.Implementation> implementation) Requires the identity fields. -
Uses of DesignSpec in com.eqixiac.equinix.design.resilience
Methods in com.eqixiac.equinix.design.resilience with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic ResilienceAnalyzerResilienceAnalyzer.forSpec(FabricGateway fabric, DesignSpec spec) Analyses a spec against live Fabric data (read-only).static List<PeerPresence> DesignGraphBuilder.peers(PeeringIntelligenceResult result, DesignSpec spec) Peer presence from a peering analysis, forDesignGraphBuilder.build(DesignContext, MetroPortfolio, PlacementPlan, ResilienceOptions, List): one entry per analysed network with every metro where it is present. -
Uses of DesignSpec in com.eqixiac.equinix.design.spec
Methods in com.eqixiac.equinix.design.spec that return DesignSpecModifier and TypeMethodDescriptionstatic DesignSpecParses a JSON document.static DesignSpecParses a YAML document.static DesignSpecReads a spec from a file, choosing the format by extension:.yaml/.ymlis YAML, anything else is JSON.DesignSpec.requireValid()Throws whenDesignSpec.validate()reports any error.Methods in com.eqixiac.equinix.design.spec with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic StringDesignSpecIO.fingerprint(DesignSpec spec) The SHA-256 of the spec's canonical JSON (properties and map entries sorted), as lowercase hex.static StringDesignSpecIO.toJson(DesignSpec spec) static StringDesignSpecIO.toYaml(DesignSpec spec) static voidDesignSpecIO.write(DesignSpec spec, Path file) Writes a spec to a file, choosing the format by extension asDesignSpecIO.read(Path)does. -
Uses of DesignSpec in com.eqixiac.equinix.design.spi
Methods in com.eqixiac.equinix.design.spi that return DesignSpec -
Uses of DesignSpec in com.eqixiac.equinix.design.value
Methods in com.eqixiac.equinix.design.value with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic SpecInputsSpecInputs.derive(DesignSpec spec, String cloudId, MetroPortfolio chosen) -
Uses of DesignSpec in com.eqixiac.equinix.design.value.savings
Methods in com.eqixiac.equinix.design.value.savings with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic SavingsCalculator.BuilderSavingsCalculator.forSpec(FabricGateway fabric, DesignSpec spec, String cloudId, MetroPortfolio chosen) A builder preset from aDesignSpecthe way the optimiser'sRateCardCostModelprices it (seeSpecInputs): provider, region and egress volume from the cloud; bandwidth from the workloads reaching it, rounded up to the Fabric tier; the chosen portfolio's metro; the spec's term (on demand when unset); anIP_VCfrom a STANDARD Fabric Cloud Router. -
Uses of DesignSpec in com.eqixiac.equinix.design.value.tco
Methods in com.eqixiac.equinix.design.value.tco with parameters of type DesignSpecModifier and TypeMethodDescriptionstatic TcoCalculator.BuilderTcoCalculator.forSpec(FabricGateway fabric, DesignSpec spec, String cloudId, MetroPortfolio chosen) A builder preset from aDesignSpecthe way the optimiser'sRateCardCostModelprices it (seeSpecInputs): the cloud's provider, region and monthly egress; bandwidth from the workloads reaching it (rounded up to the Fabric tier); the chosen portfolio's metro; the spec's term (on demand when unset); and the router-originated build the Deployment Wizard uses: anIP_VCfrom a STANDARD Fabric Cloud Router, no cross-connect and no cabinet.