Record Class ResilienceOptions

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.resilience.ResilienceOptions
Record Components:
accessHoming - how many portfolio metros each site has an access circuit into: its nearest metro (primary) and the next ones (standby). Default 2 (dual-homed), an assumption the spec cannot state today
standbyCapacityFraction - the share of a workload's bandwidth its standby cloud connection is provisioned for, 0..1. Default 1.0, which is how the WorkloadPlacer sizes standby legs
maxPairScenarios - most pairwise (N-2) scenarios simulated; above it the pairs are taken in a fixed order and the report says how many were left out. Default 2000
availability - availability assumptions; default AvailabilityAssumptions.defaults()

public record ResilienceOptions(Integer accessHoming, Double standbyCapacityFraction, Integer maxPairScenarios, AvailabilityAssumptions availability) extends Record
How a design graph is built and simulated. Every field has a stated default; null takes it.
  • Field Details

  • Constructor Details

  • Method Details

    • defaults

      public static ResilienceOptions defaults()
      Returns:
      every default
    • withStandbyCapacityFraction

      public ResilienceOptions withStandbyCapacityFraction(double fraction)
      Parameters:
      fraction - the standby provisioning share, 0..1
      Returns:
      a copy with it
    • withAccessHoming

      public ResilienceOptions withAccessHoming(int homing)
      Parameters:
      homing - access circuits per site
      Returns:
      a copy with it
    • withMaxPairScenarios

      public ResilienceOptions withMaxPairScenarios(int max)
      Parameters:
      max - most pairwise scenarios
      Returns:
      a copy with it
    • withAvailability

      public ResilienceOptions withAvailability(AvailabilityAssumptions assumptions)
      Parameters:
      assumptions - availability assumptions
      Returns:
      a copy with them
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • accessHoming

      public Integer accessHoming()
      Returns the value of the accessHoming record component.
      Returns:
      the value of the accessHoming record component
    • standbyCapacityFraction

      public Double standbyCapacityFraction()
      Returns the value of the standbyCapacityFraction record component.
      Returns:
      the value of the standbyCapacityFraction record component
    • maxPairScenarios

      public Integer maxPairScenarios()
      Returns the value of the maxPairScenarios record component.
      Returns:
      the value of the maxPairScenarios record component
    • availability

      public AvailabilityAssumptions availability()
      Returns the value of the availability record component.
      Returns:
      the value of the availability record component