Class CreateJobRequest
java.lang.Object
uk.ac.manchester.spinnaker.alloc.web.CreateJobRequest
public class CreateJobRequest extends Object
A request to create a job.
- Author:
- Donal Fellows
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CreateJobRequest.Dimensions
Describes a request for an allocation of given dimensions.static class
CreateJobRequest.SpecificBoard
Describes a request for a specific board. -
Field Summary
Fields Modifier and Type Field Description @Valid CreateJobRequest.SpecificBoard
board
The specific board to allocate.@Valid CreateJobRequest.Dimensions
dimensions
The dimensions of rectangle of triads of boards to allocate.String
group
What group will the job be accounted against; the owner must be a member of the group.@NotNull(message="keepalive-interval is required") Duration
keepaliveInterval
How long after a keepalive message will the job be auto-deleted? Required. Must be between 30 and 300 seconds.String
machineName
Which machine to allocate on.@PositiveOrZero(message="max-dead-boards may not be negative") Integer
maxDeadBoards
The maximum number of dead boards allowed in a rectangular allocation.String
nmpiCollab
Which NMPI Collab the job will be accounted against; the owner must be a member of the Collab.Integer
nmpiJobId
Which NMPI Job the job will be accounted against; the owner must be able to update the NMPI Job.@Positive(message="number of boards must be at least 1 if given") Integer
numBoards
The number of boards to allocate.String
owner
Who owns the job.List<@NotBlank(message="tags must not be blank") String>
tags
The tags to select which machine to allocate on. -
Constructor Summary
Constructors Constructor Description CreateJobRequest()
-
Method Summary
-
Field Details
-
owner
Who owns the job. Ignored when the job is submitted by a non-admin. -
group
What group will the job be accounted against; the owner must be a member of the group. Ifnull
, the single group that the owner is a member of will be used (with it being an error for that to not exist or not be unique). Only one of group,nmpiCollab
ornmpiJobId
must benon-null
, but all can benull
. -
nmpiCollab
-
nmpiJobId
Which NMPI Job the job will be accounted against; the owner must be able to update the NMPI Job. Only the quota of the NMPI Job will be updated at the end of the job, as will the local quota of the Collab of the NMPI Job. Only one ofgroup
,nmpiCollab
or nmpiJobId must benon-null
, but all can benull
. -
keepaliveInterval
@NotNull(message="keepalive-interval is required") public @NotNull(message="keepalive-interval is required") Duration keepaliveIntervalHow long after a keepalive message will the job be auto-deleted? Required. Must be between 30 and 300 seconds. -
numBoards
@Positive(message="number of boards must be at least 1 if given") public @Positive(message="number of boards must be at least 1 if given") Integer numBoardsThe number of boards to allocate. May benull
to either use the default (1) or to let one of the other selectors (dimensions
,board
) make the choice. -
dimensions
-
board
The specific board to allocate. May benull
to let one of the other selectors (numBoards
,dimensions
) make the choice. -
machineName
Which machine to allocate on. This andtags
are mutually exclusive, but at least one must be given. -
tags
The tags to select which machine to allocate on. This andmachineName
are mutually exclusive, but at least one must be given. -
maxDeadBoards
@PositiveOrZero(message="max-dead-boards may not be negative") public @PositiveOrZero(message="max-dead-boards may not be negative") Integer maxDeadBoardsThe maximum number of dead boards allowed in a rectangular allocation. Note that the allocation engine might increase this if it decides to overallocate. Defaults to0
.
-
-
Constructor Details
-
CreateJobRequest
public CreateJobRequest()
-