Class FairshareSchedulingPolicy.Builder

java.lang.Object
software.amazon.awscdk.services.batch.FairshareSchedulingPolicy.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<FairshareSchedulingPolicy>
Enclosing class:
FairshareSchedulingPolicy

@Stability(Stable) public static final class FairshareSchedulingPolicy.Builder extends Object implements software.amazon.jsii.Builder<FairshareSchedulingPolicy>
A fluent builder for FairshareSchedulingPolicy.
  • Method Details

    • create

      @Stability(Stable) public static FairshareSchedulingPolicy.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of FairshareSchedulingPolicy.Builder.
    • computeReservation

      @Stability(Stable) public FairshareSchedulingPolicy.Builder computeReservation(Number computeReservation)
      Used to calculate the percentage of the maximum available vCPU to reserve for share identifiers not present in the Queue.

      The percentage reserved is defined by the Scheduler as: (computeReservation/100)^ActiveFairShares where ActiveFairShares is the number of active fair share identifiers.

      For example, a computeReservation value of 50 indicates that AWS Batch reserves 50% of the maximum available vCPU if there's only one fair share identifier. It reserves 25% if there are two fair share identifiers. It reserves 12.5% if there are three fair share identifiers.

      A computeReservation value of 25 indicates that AWS Batch should reserve 25% of the maximum available vCPU if there's only one fair share identifier, 6.25% if there are two fair share identifiers, and 1.56% if there are three fair share identifiers.

      Default: - no vCPU is reserved

      Parameters:
      computeReservation - Used to calculate the percentage of the maximum available vCPU to reserve for share identifiers not present in the Queue. This parameter is required.
      Returns:
      this
    • schedulingPolicyName

      @Stability(Stable) public FairshareSchedulingPolicy.Builder schedulingPolicyName(String schedulingPolicyName)
      The name of this SchedulingPolicy.

      Default: - generated by CloudFormation

      Parameters:
      schedulingPolicyName - The name of this SchedulingPolicy. This parameter is required.
      Returns:
      this
    • shareDecay

      @Stability(Stable) public FairshareSchedulingPolicy.Builder shareDecay(Duration shareDecay)
      The amount of time to use to measure the usage of each job.

      The usage is used to calculate a fair share percentage for each fair share identifier currently in the Queue. A value of zero (0) indicates that only current usage is measured. The decay is linear and gives preference to newer jobs.

      The maximum supported value is 604800 seconds (1 week).

      Default: - 0: only the current job usage is considered

      Parameters:
      shareDecay - The amount of time to use to measure the usage of each job. This parameter is required.
      Returns:
      this
    • shares

      @Stability(Stable) public FairshareSchedulingPolicy.Builder shares(List<? extends Share> shares)
      The shares that this Scheduling Policy applies to.

      Note: It is possible to submit Jobs to the queue with Share Identifiers that are not recognized by the Scheduling Policy.

      Default: - no shares

      Parameters:
      shares - The shares that this Scheduling Policy applies to. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public FairshareSchedulingPolicy build()
      Specified by:
      build in interface software.amazon.jsii.Builder<FairshareSchedulingPolicy>
      Returns:
      a newly built instance of FairshareSchedulingPolicy.