listJobs method

Future<ListJobsResponse> listJobs({
  1. String? arrayJobId,
  2. List<KeyValuesPair>? filters,
  3. String? jobQueue,
  4. JobStatus? jobStatus,
  5. int? maxResults,
  6. String? multiNodeJobId,
  7. String? nextToken,
})

Returns a list of Batch jobs.

You must specify only one of the following items:

  • A job queue ID to return a list of jobs in that job queue
  • A multi-node parallel job ID to return a list of nodes for that job
  • An array job ID to return a list of the children for that job

May throw ClientException. May throw ServerException.

Parameter arrayJobId : The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the specified array.

Parameter filters : The filter to apply to the query. Only one filter can be used at a time. When the filter is used, jobStatus is ignored with the exception that SHARE_IDENTIFIER and jobStatus can be used together. The filter doesn't apply to child jobs in an array or multi-node parallel (MNP) jobs. The results are sorted by the createdAt field, with the most recent jobs being first.

JOB_NAME
The value of the filter is a case-insensitive match for the job name. If the value ends with an asterisk (), the filter matches any job name that begins with the string before the ''. This corresponds to the jobName value. For example, test1 matches both Test1 and test1, and test1* matches both test1 and Test10. When the JOB_NAME filter is used, the results are grouped by the job name and version.

JOB_DEFINITION
The value for the filter is the name or Amazon Resource Name (ARN) of the job definition. This corresponds to the jobDefinition value. The value is case sensitive. When the value for the filter is the job definition name, the results include all the jobs that used any revision of that job definition name. If the value ends with an asterisk (*), the filter matches any job definition name that begins with the string before the '*'. For example, jd1 matches only jd1, and jd1* matches both jd1 and jd1A. The version of the job definition that's used doesn't affect the sort order. When the JOB_DEFINITION filter is used and the ARN is used (which is in the form arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}), the results include jobs that used the specified revision of the job definition. Asterisk (*) isn't supported when the ARN is used.
BEFORE_CREATED_AT
The value for the filter is the time that's before the job was created. This corresponds to the createdAt value. The value is a string representation of the number of milliseconds since 00:00:00 UTC (midnight) on January 1, 1970.
AFTER_CREATED_AT
The value for the filter is the time that's after the job was created. This corresponds to the createdAt value. The value is a string representation of the number of milliseconds since 00:00:00 UTC (midnight) on January 1, 1970.
SHARE_IDENTIFIER
The value for the filter is the fairshare scheduling share identifier.

Parameter jobQueue : The name or full Amazon Resource Name (ARN) of the job queue used to list jobs.

Parameter jobStatus : The job status used to filter jobs in the specified queue. If the filters parameter is specified, the jobStatus parameter is ignored and jobs with any status are returned. The exception is the SHARE_IDENTIFIER filter and jobStatus can be used together. If you don't specify a status, only RUNNING jobs are returned.

Parameter maxResults : The maximum number of results returned by ListJobs in a paginated output. When this parameter is used, ListJobs returns up to maxResults results in a single page and a nextToken response element, if applicable. The remaining results of the initial request can be seen by sending another ListJobs request with the returned nextToken value.

The following outlines key parameters and limitations:

  • The minimum value is 1.
  • When --job-status is used, Batch returns up to 1000 values.
  • When --filters is used, Batch returns up to 100 values.
  • If neither parameter is used, then ListJobs returns up to 1000 results (jobs that are in the RUNNING status) and a nextToken value, if applicable.

Parameter multiNodeJobId : The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all nodes that are associated with the specified job.

Parameter nextToken : The nextToken value returned from a previous paginated ListJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

Implementation

Future<ListJobsResponse> listJobs({
  String? arrayJobId,
  List<KeyValuesPair>? filters,
  String? jobQueue,
  JobStatus? jobStatus,
  int? maxResults,
  String? multiNodeJobId,
  String? nextToken,
}) async {
  final $payload = <String, dynamic>{
    if (arrayJobId != null) 'arrayJobId': arrayJobId,
    if (filters != null) 'filters': filters,
    if (jobQueue != null) 'jobQueue': jobQueue,
    if (jobStatus != null) 'jobStatus': jobStatus.value,
    if (maxResults != null) 'maxResults': maxResults,
    if (multiNodeJobId != null) 'multiNodeJobId': multiNodeJobId,
    if (nextToken != null) 'nextToken': nextToken,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/v1/listjobs',
    exceptionFnMap: _exceptionFns,
  );
  return ListJobsResponse.fromJson(response);
}