Class WorkloadSpec

java.lang.Object
com.eqixiac.equinix.design.optimizer.model.WorkloadSpec

public class WorkloadSpec extends Object
Defines a workload to be placed by the optimizer, including its type, infrastructure requirements, and provider dependencies.
  • Constructor Details

    • WorkloadSpec

      public WorkloadSpec()
  • Method Details

    • resolvedProfile

      public WorkloadProfile resolvedProfile()
      Resolves the effective workload profile by merging the type's defaults with any user-supplied overrides.

      Every field resolves by the same precedence: a non-null field on profileOverride wins, then the dedicated single-field override (latencySensitivity), then the WorkloadType's default profile. The boolean facility flags are unioned, because a stated requirement is never cancelled by a profile that simply does not mention it.

      latencySensitivity used to be consulted only when there was no profileOverride at all. Every single-field setter on MetroOptimizer.WorkloadBuilder - maxLatencyToleranceMs, requiresHighPowerDensity, requiresLiquidCooling - synthesizes a profileOverride, so the common call shape .latencySensitivity(CRITICAL).maxLatencyToleranceMs(20) (and the equivalent design_optimize_placement payload, which sets both from one workload object) silently discarded the stated sensitivity and fell back to the workload type's default. The merge branch now consults it, so the two levers compose instead of one deleting the other.

      A null type resolves as if it carried no default profile, rather than throwing: WorkloadSpec is a public builder-built value and the optimizer reads this method for every workload during validation.

      Returns:
      the effective profile; its latency sensitivity is never null