Record Class PlacementPlan
java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.placement.PlacementPlan
- Record Components:
portfolio- the metros placed onplacements- one entry per workload, in spec order, then one per cloud no workload refers tolegs- one entry per (metro, cloud) pair the placements need, sorted by metro then cloud
public record PlacementPlan(MetroPortfolio portfolio, List<PlacementPlan.Placement> placements, List<PlacementPlan.CloudLeg> legs)
extends Record
Where every workload of a spec runs on one portfolio, and the cloud connections that implies.
Produced by
WorkloadPlacer; consumed by the cost model (what to price in each metro), the
resilience objective, the workload constraints and the Deployment Wizard.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordOne Fabric connection the design needs: from a metro to a cloud, sized as the sum of the sized workloads it carries.static final recordWhere one workload runs. -
Constructor Summary
ConstructorsConstructorDescriptionPlacementPlan(MetroPortfolio portfolio, List<PlacementPlan.Placement> placements, List<PlacementPlan.CloudLeg> legs) Makes the lists immutable. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.legs()Returns the value of thelegsrecord component.Returns the value of theplacementsrecord component.Returns the value of theportfoliorecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
PlacementPlan
public PlacementPlan(MetroPortfolio portfolio, List<PlacementPlan.Placement> placements, List<PlacementPlan.CloudLeg> legs) Makes the lists immutable.
-
-
Method Details
-
placement
- Parameters:
label- a workload label- Returns:
- its placement
-
legsIn
- Parameters:
metro- a metro- Returns:
- the cloud legs in that metro
-
idleMetros
-
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. All components in this record class are compared withObjects::equals(Object,Object). -
portfolio
-
placements
Returns the value of theplacementsrecord component.- Returns:
- the value of the
placementsrecord component
-
legs
-