Record Class EstateThresholds
java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.estate.EstateThresholds
- Record Components:
rightSizeDownBelowPercent- p95 utilisation below this percent of provisioned bandwidth suggests a smaller tier (default 30)rightSizeUpAbovePercent- p95 utilisation above this percent suggests a larger tier (default 80)headroomFactor- the target tier must be at least p95 × this factor (default 1.3)minUtilizationSamples- the fewest samples a utilisation rule acts on (default 24, one day of hourly data)bandwidthTiersMbps- the bandwidth tiers a connection can be moved to, ascending (default the common Fabric virtual-connection speeds 50 Mbps to 100 Gbps)minAgeForTermDays- never recommend a term for a resource younger than this (default 90 days)candidateTerms- the terms to price against on-demand (default 12, 24 and 36 months)consolidateMinConnections- the fewest port-to-cloud connections in one metro that suggest a Cloud Router (default 3)portCapacityWarnPercent- allocated bandwidth at or above this percent of port speed is a risk (default 80)portCapacityCriticalPercent- ... and at or above this percent is critical (default 95)routerLimitWarnPercent- router connections at or above this percent of the package limit is a risk (default 80)routerPackageConnectionLimits- package code to its connection limit, used when the API does not report one (default empty: the live/routerPackagesresponse had novcCountMaxon 2026-11-12, so limits are unknown unless supplied)stuckAfterDays- a pending or failed state older than this is "stuck" (default 7)referencePriceRangePercent- the ± range applied to reference prices (default 20)estimatePriceRangePercent- the ± range applied to estimated prices (default 35)
public record EstateThresholds(double rightSizeDownBelowPercent, double rightSizeUpAbovePercent, double headroomFactor, int minUtilizationSamples, List<Integer> bandwidthTiersMbps, int minAgeForTermDays, List<Term> candidateTerms, int consolidateMinConnections, double portCapacityWarnPercent, double portCapacityCriticalPercent, double routerLimitWarnPercent, Map<String,Integer> routerPackageConnectionLimits, int stuckAfterDays, double referencePriceRangePercent, double estimatePriceRangePercent)
extends Record
The tunable thresholds the default rules use. Every default is an assumption, stated here and
repeated in the findings that rely on it.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds thresholds, starting from the defaults. -
Constructor Summary
ConstructorsConstructorDescriptionEstateThresholds(double rightSizeDownBelowPercent, double rightSizeUpAbovePercent, double headroomFactor, int minUtilizationSamples, List<Integer> bandwidthTiersMbps, int minAgeForTermDays, List<Term> candidateTerms, int consolidateMinConnections, double portCapacityWarnPercent, double portCapacityCriticalPercent, double routerLimitWarnPercent, Map<String, Integer> routerPackageConnectionLimits, int stuckAfterDays, double referencePriceRangePercent, double estimatePriceRangePercent) Validates and copies. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thebandwidthTiersMbpsrecord component.static EstateThresholds.Builderbuilder()Starts from the defaults.Returns the value of thecandidateTermsrecord component.intReturns the value of theconsolidateMinConnectionsrecord component.static EstateThresholdsdefaults()The defaults.final booleanIndicates whether some other object is "equal to" this one.doubleReturns the value of theestimatePriceRangePercentrecord component.final inthashCode()Returns a hash code value for this object.doubleReturns the value of theheadroomFactorrecord component.intReturns the value of theminAgeForTermDaysrecord component.intReturns the value of theminUtilizationSamplesrecord component.doubleReturns the value of theportCapacityCriticalPercentrecord component.doubleReturns the value of theportCapacityWarnPercentrecord component.doubleReturns the value of thereferencePriceRangePercentrecord component.doubleReturns the value of therightSizeDownBelowPercentrecord component.doubleReturns the value of therightSizeUpAbovePercentrecord component.doubleReturns the value of therouterLimitWarnPercentrecord component.Returns the value of therouterPackageConnectionLimitsrecord component.intReturns the value of thestuckAfterDaysrecord component.tierAtOrAbove(double mbps) The smallest tier at or above the given rate.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
EstateThresholds
public EstateThresholds(double rightSizeDownBelowPercent, double rightSizeUpAbovePercent, double headroomFactor, int minUtilizationSamples, List<Integer> bandwidthTiersMbps, int minAgeForTermDays, List<Term> candidateTerms, int consolidateMinConnections, double portCapacityWarnPercent, double portCapacityCriticalPercent, double routerLimitWarnPercent, Map<String, Integer> routerPackageConnectionLimits, int stuckAfterDays, double referencePriceRangePercent, double estimatePriceRangePercent) Validates and copies.
-
-
Method Details
-
defaults
-
builder
-
tierAtOrAbove
The smallest tier at or above the given rate.- Parameters:
mbps- the rate- Returns:
- the tier, or
nullwhen the rate exceeds every tier
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
rightSizeDownBelowPercent
public double rightSizeDownBelowPercent()Returns the value of therightSizeDownBelowPercentrecord component.- Returns:
- the value of the
rightSizeDownBelowPercentrecord component
-
rightSizeUpAbovePercent
public double rightSizeUpAbovePercent()Returns the value of therightSizeUpAbovePercentrecord component.- Returns:
- the value of the
rightSizeUpAbovePercentrecord component
-
headroomFactor
public double headroomFactor()Returns the value of theheadroomFactorrecord component.- Returns:
- the value of the
headroomFactorrecord component
-
minUtilizationSamples
public int minUtilizationSamples()Returns the value of theminUtilizationSamplesrecord component.- Returns:
- the value of the
minUtilizationSamplesrecord component
-
bandwidthTiersMbps
Returns the value of thebandwidthTiersMbpsrecord component.- Returns:
- the value of the
bandwidthTiersMbpsrecord component
-
minAgeForTermDays
public int minAgeForTermDays()Returns the value of theminAgeForTermDaysrecord component.- Returns:
- the value of the
minAgeForTermDaysrecord component
-
candidateTerms
Returns the value of thecandidateTermsrecord component.- Returns:
- the value of the
candidateTermsrecord component
-
consolidateMinConnections
public int consolidateMinConnections()Returns the value of theconsolidateMinConnectionsrecord component.- Returns:
- the value of the
consolidateMinConnectionsrecord component
-
portCapacityWarnPercent
public double portCapacityWarnPercent()Returns the value of theportCapacityWarnPercentrecord component.- Returns:
- the value of the
portCapacityWarnPercentrecord component
-
portCapacityCriticalPercent
public double portCapacityCriticalPercent()Returns the value of theportCapacityCriticalPercentrecord component.- Returns:
- the value of the
portCapacityCriticalPercentrecord component
-
routerLimitWarnPercent
public double routerLimitWarnPercent()Returns the value of therouterLimitWarnPercentrecord component.- Returns:
- the value of the
routerLimitWarnPercentrecord component
-
routerPackageConnectionLimits
Returns the value of therouterPackageConnectionLimitsrecord component.- Returns:
- the value of the
routerPackageConnectionLimitsrecord component
-
stuckAfterDays
public int stuckAfterDays()Returns the value of thestuckAfterDaysrecord component.- Returns:
- the value of the
stuckAfterDaysrecord component
-
referencePriceRangePercent
public double referencePriceRangePercent()Returns the value of thereferencePriceRangePercentrecord component.- Returns:
- the value of the
referencePriceRangePercentrecord component
-
estimatePriceRangePercent
public double estimatePriceRangePercent()Returns the value of theestimatePriceRangePercentrecord component.- Returns:
- the value of the
estimatePriceRangePercentrecord component
-