Package com.eqixiac.equinix.design.cost


package com.eqixiac.equinix.design.cost
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.

Currency: every amount is compared in the spec's currency. CurrencyConverters builds the converter (pinned spec rates, a supplied converter, live ECB reference rates via FrankfurterExchangeRates, then BundledExchangeRates); ConvertingRateCard applies it to any rate card for the TCO and savings models. CostComparability is the ranking safeguard for plug-in cost models that do not convert.

Growth and terms: GrowthPlanner projects traffic and Fabric tiers month by month, recommends a commitment term per item (GrowthPlan) and produces deterministic and seeded Monte Carlo scenario bands (ScenarioBand).

  • Class
    Description
    The SDK's bundled reference exchange rates: the European Central Bank's euro reference rates of 2026-11-11 (retrieved 2026-11-12 from https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml), plus the AED, which the ECB does not publish, derived from its peg of 3.6725 AED per USD.
    A RateCard that answers every lookup in one target currency: a figure quoted in another currency is converted through a CurrencyConverter and its note says from what, at which rate, from which source and as of when.
    Whether the cost of every feasible design can be compared in the spec's currency, and what the optimiser does when it cannot because an exchange rate is missing.
    Builds the currency converter every cost model uses, and reports what it did.
    First-answer-wins composition that can report fallbacks.
    Live ECB reference rates from the Frankfurter API (no key): one GET <baseUrl>/latest?base=<target> per converter, made on the first conversion that needs it and cached for the converter's life; never retried.
    Fetches a URL's body; injectable so tests never reach the internet.
    A design priced month by month under traffic growth, with a commitment-term recommendation per item.
    One item's projection and term decision.
    One commitment term for one item.
    Growth and commitment-term decisions for one design: projects traffic month by month from commercial.annualGrowthRate over commercial.horizonMonths, finds the Fabric bandwidth tier each connection needs each month, prices the design month by month, recommends a commitment term per item, and produces a scenario band.
    Seeded Monte Carlo settings.
    The rates pinned in a spec's commercial.exchangeRates: units of the spec currency per one unit of each keyed currency.
    The plausible range of a price, derived only from where it came from.
    The CostModel of the Metro Optimizer: prices what a portfolio needs, metro by metro, from a RateCard.
    Configures a RateCardCostModel.
    Cost over the horizon under a range of growth, from GrowthPlanner.scenarios(double, double, GrowthPlanner.MonteCarlo): deterministic low/base/high cases and, when requested, a seeded Monte Carlo with its distributions stated.
    One deterministic case.
    A seeded Monte Carlo summary: re-running with the same seed and inputs gives the same figures.