Interface JobQueueProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
JobQueueProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-15T10:24:55.471Z") @Stability(Stable) public interface JobQueueProps extends software.amazon.jsii.JsiiSerializable
Props to configure a JobQueue.

Example:

 IVpc vpc;
 EcsJobDefinition ecsJob = EcsJobDefinition.Builder.create(this, "JobDefn")
         .container(EcsEc2ContainerDefinition.Builder.create(this, "containerDefn")
                 .image(ContainerImage.fromRegistry("public.ecr.aws/amazonlinux/amazonlinux:latest"))
                 .memory(Size.mebibytes(2048))
                 .cpu(256)
                 .build())
         .build();
 JobQueue queue = JobQueue.Builder.create(this, "JobQueue")
         .computeEnvironments(List.of(OrderedComputeEnvironment.builder()
                 .computeEnvironment(ManagedEc2EcsComputeEnvironment.Builder.create(this, "managedEc2CE")
                         .vpc(vpc)
                         .build())
                 .order(1)
                 .build()))
         .priority(10)
         .build();
 User user = new User(this, "MyUser");
 ecsJob.grantSubmitJob(user, queue);
 
  • Method Details

    • getComputeEnvironments

      @Stability(Stable) @Nullable default List<OrderedComputeEnvironment> getComputeEnvironments()
      The set of compute environments mapped to a job queue and their order relative to each other.

      The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate compute environments can't be mixed.

      Note: All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.

      Default: none

    • getEnabled

      @Stability(Stable) @Nullable default Boolean getEnabled()
      If the job queue is enabled, it is able to accept jobs.

      Otherwise, new jobs can't be added to the queue, but jobs already in the queue can finish.

      Default: true

    • getJobQueueName

      @Stability(Stable) @Nullable default String getJobQueueName()
      The name of the job queue.

      It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_)

      Default: - no name

    • getJobStateTimeLimitActions

      @Stability(Stable) @Nullable default List<JobStateTimeLimitAction> getJobStateTimeLimitActions()
      The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.

      Default: - no actions

    • getPriority

      @Stability(Stable) @Nullable default Number getPriority()
      The priority of the job queue.

      Job queues with a higher priority are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority of 10 is given scheduling preference over a job queue with a priority of 1.

      Default: 1

    • getSchedulingPolicy

      @Stability(Stable) @Nullable default ISchedulingPolicy getSchedulingPolicy()
      The SchedulingPolicy for this JobQueue.

      Instructs the Scheduler how to schedule different jobs.

      Default: - no scheduling policy

    • builder

      @Stability(Stable) static JobQueueProps.Builder builder()
      Returns:
      a JobQueueProps.Builder of JobQueueProps