Record Class DesignConstraints

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.spec.DesignConstraints
Record Components:
requiredMetros - metro codes every design must include
excludedMetros - metro codes no design may include
requiredRegions - regions every design must have at least one metro in
excludedRegions - regions no design may use
complianceZones - regulatory zones the design must stay within
geoZones - Fabric geo scopes / geo zones (for example EU, UK, CH, BR, AU) traffic must stay inside: a data-sovereignty limit
minimumRedundancy - the least redundancy acceptable; may be null
maxLatencyMs - round-trip latency ceiling from every site to its serving metro, in ms; may be null
minMetros - fewest metros a design may use; may be null
maxMetros - most metros a design may use; may be null
minSurvivalPct - the least share of the design's service, in percent (0 to 100), that must survive its worst single-element failure, measured by failure simulation; may be null (not required). Omitted from JSON, YAML and the fingerprint when unset, so specs that do not use it keep their fingerprint. It takes precedence over the older spec label design.min_survival_pct.

public record DesignConstraints(List<String> requiredMetros, List<String> excludedMetros, List<Region> requiredRegions, List<Region> excludedRegions, List<ComplianceZone> complianceZones, List<String> geoZones, RedundancyTier minimumRedundancy, Double maxLatencyMs, Integer minMetros, Integer maxMetros, Double minSurvivalPct) extends Record
Hard limits: a design that breaks one is not offered, whatever its score.
  • Constructor Details

  • Method Details

    • none

      public static DesignConstraints none()
      Returns:
      constraints that limit nothing
    • 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.
    • requiredMetros

      public List<String> requiredMetros()
      Returns the value of the requiredMetros record component.
      Returns:
      the value of the requiredMetros record component
    • excludedMetros

      public List<String> excludedMetros()
      Returns the value of the excludedMetros record component.
      Returns:
      the value of the excludedMetros record component
    • requiredRegions

      public List<Region> requiredRegions()
      Returns the value of the requiredRegions record component.
      Returns:
      the value of the requiredRegions record component
    • excludedRegions

      public List<Region> excludedRegions()
      Returns the value of the excludedRegions record component.
      Returns:
      the value of the excludedRegions record component
    • complianceZones

      public List<ComplianceZone> complianceZones()
      Returns the value of the complianceZones record component.
      Returns:
      the value of the complianceZones record component
    • geoZones

      public List<String> geoZones()
      Returns the value of the geoZones record component.
      Returns:
      the value of the geoZones record component
    • minimumRedundancy

      public RedundancyTier minimumRedundancy()
      Returns the value of the minimumRedundancy record component.
      Returns:
      the value of the minimumRedundancy record component
    • maxLatencyMs

      public Double maxLatencyMs()
      Returns the value of the maxLatencyMs record component.
      Returns:
      the value of the maxLatencyMs record component
    • minMetros

      public Integer minMetros()
      Returns the value of the minMetros record component.
      Returns:
      the value of the minMetros record component
    • maxMetros

      public Integer maxMetros()
      Returns the value of the maxMetros record component.
      Returns:
      the value of the maxMetros record component
    • minSurvivalPct

      public Double minSurvivalPct()
      Returns the value of the minSurvivalPct record component.
      Returns:
      the value of the minSurvivalPct record component