batchCancelPipelineJobs method

Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO.

Throws a http.ClientException if there were problems communicating with the API service. Throws a StatusException if the API failed with a Status message. Throws a ServiceException for any other failure.

Returns an Operation representing the status of the long-running operation.

When complete, Operation.done will be true. If successful, Operation.responseAsMessage will contain the operation's result.

Implementation

Future<
  Operation<
    BatchCancelPipelineJobsResponse,
    BatchCancelPipelineJobsOperationMetadata
  >
>
batchCancelPipelineJobs(BatchCancelPipelineJobsRequest request) async {
  final url = Uri.https(
    _host,
    '/v1beta1/${request.parent}/pipelineJobs:batchCancel',
  );
  final response = await _client.post(url, body: request);
  return Operation.fromJson(
    response,
    OperationHelper(
      BatchCancelPipelineJobsResponse.fromJson,
      BatchCancelPipelineJobsOperationMetadata.fromJson,
    ),
  );
}