/* tslint:disable */ /* eslint-disable */ /** * Tapis Workflows API * Create and manage pipelines * * The version of the OpenAPI document: 1.6.0 * Contact: cicsupport@tacc.utexas.edu * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import { ReqAddPipelineArchive, ReqAddPipelineArchiveFromJSON, ReqAddPipelineArchiveToJSON, ReqPatchPipeline, ReqPatchPipelineFromJSON, ReqPatchPipelineToJSON, ReqPipeline, ReqPipelineFromJSON, ReqPipelineToJSON, ReqRunPipeline, ReqRunPipelineFromJSON, ReqRunPipelineToJSON, RespBase, RespBaseFromJSON, RespBaseToJSON, RespError, RespErrorFromJSON, RespErrorToJSON, RespPipeline, RespPipelineFromJSON, RespPipelineToJSON, RespPipelineList, RespPipelineListFromJSON, RespPipelineListToJSON, RespPipelineRun, RespPipelineRunFromJSON, RespPipelineRunToJSON, RespResourceURL, RespResourceURLFromJSON, RespResourceURLToJSON, RespString, RespStringFromJSON, RespStringToJSON, } from '../models'; export interface AddPipelineArchiveRequest { groupId: string; pipelineId: string; reqAddPipelineArchive: ReqAddPipelineArchive; } export interface ChangePipelineOwnerRequest { groupId: string; pipelineId: string; username: string; } export interface CreatePipelineRequest { groupId: string; reqPipeline: ReqPipeline; } export interface DeletePipelineRequest { groupId: string; pipelineId: string; } export interface GetPipelineRequest { groupId: string; pipelineId: string; } export interface ListPipelinesRequest { groupId: string; } export interface PatchPipelineRequest { groupId: string; pipelineId: string; reqPatchPipeline: ReqPatchPipeline; } export interface RemovePipelineArchiveRequest { groupId: string; pipelineId: string; reqAddPipelineArchive: ReqAddPipelineArchive; } export interface RunPipelineRequest { groupId: string; pipelineId: string; reqRunPipeline: ReqRunPipeline; } /** * */ export class PipelinesApi extends runtime.BaseAPI { /** * Add an archive to a pipeline. * Add an archive to a pipeline */ async addPipelineArchiveRaw(requestParameters: AddPipelineArchiveRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling addPipelineArchive.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling addPipelineArchive.'); } if (requestParameters.reqAddPipelineArchive === null || requestParameters.reqAddPipelineArchive === undefined) { throw new runtime.RequiredError('reqAddPipelineArchive','Required parameter requestParameters.reqAddPipelineArchive was null or undefined when calling addPipelineArchive.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}/archives/add`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'POST', headers: headerParameters, query: queryParameters, body: ReqAddPipelineArchiveToJSON(requestParameters.reqAddPipelineArchive), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespBaseFromJSON(jsonValue)); } /** * Add an archive to a pipeline. * Add an archive to a pipeline */ async addPipelineArchive(requestParameters: AddPipelineArchiveRequest, initOverrides?: RequestInit): Promise { const response = await this.addPipelineArchiveRaw(requestParameters, initOverrides); return await response.value(); } /** * Change the owner of a pipeline. Requesting user must be the current owner * Change pipeline owner */ async changePipelineOwnerRaw(requestParameters: ChangePipelineOwnerRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling changePipelineOwner.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling changePipelineOwner.'); } if (requestParameters.username === null || requestParameters.username === undefined) { throw new runtime.RequiredError('username','Required parameter requestParameters.username was null or undefined when calling changePipelineOwner.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}/changeOwner/{username}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))).replace(`{${"username"}}`, encodeURIComponent(String(requestParameters.username))), method: 'PATCH', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespBaseFromJSON(jsonValue)); } /** * Change the owner of a pipeline. Requesting user must be the current owner * Change pipeline owner */ async changePipelineOwner(requestParameters: ChangePipelineOwnerRequest, initOverrides?: RequestInit): Promise { const response = await this.changePipelineOwnerRaw(requestParameters, initOverrides); return await response.value(); } /** * Create a pipeline using a request body. Pipeline id must be unique within a group and can be composed of alphanumeric characters and the following special characters [-_.]. * Create a pipeline */ async createPipelineRaw(requestParameters: CreatePipelineRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling createPipeline.'); } if (requestParameters.reqPipeline === null || requestParameters.reqPipeline === undefined) { throw new runtime.RequiredError('reqPipeline','Required parameter requestParameters.reqPipeline was null or undefined when calling createPipeline.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'POST', headers: headerParameters, query: queryParameters, body: ReqPipelineToJSON(requestParameters.reqPipeline), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespResourceURLFromJSON(jsonValue)); } /** * Create a pipeline using a request body. Pipeline id must be unique within a group and can be composed of alphanumeric characters and the following special characters [-_.]. * Create a pipeline */ async createPipeline(requestParameters: CreatePipelineRequest, initOverrides?: RequestInit): Promise { const response = await this.createPipelineRaw(requestParameters, initOverrides); return await response.value(); } /** * Delete a pipeline * Delete a pipeline */ async deletePipelineRaw(requestParameters: DeletePipelineRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling deletePipeline.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling deletePipeline.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespStringFromJSON(jsonValue)); } /** * Delete a pipeline * Delete a pipeline */ async deletePipeline(requestParameters: DeletePipelineRequest, initOverrides?: RequestInit): Promise { const response = await this.deletePipelineRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve information for a pipeline given the pipeline id * Retrieve pipeline details */ async getPipelineRaw(requestParameters: GetPipelineRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling getPipeline.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling getPipeline.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespPipelineFromJSON(jsonValue)); } /** * Retrieve information for a pipeline given the pipeline id * Retrieve pipeline details */ async getPipeline(requestParameters: GetPipelineRequest, initOverrides?: RequestInit): Promise { const response = await this.getPipelineRaw(requestParameters, initOverrides); return await response.value(); } /** * Get a list of all pipleines from all groups * List all pipelines */ async listAllPipelinesRaw(initOverrides?: RequestInit): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/pipelines`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespPipelineListFromJSON(jsonValue)); } /** * Get a list of all pipleines from all groups * List all pipelines */ async listAllPipelines(initOverrides?: RequestInit): Promise { const response = await this.listAllPipelinesRaw(initOverrides); return await response.value(); } /** * Retrieve a list of pipelines for all groups that the requesting user belongs to. * Retrieve pipelines */ async listPipelinesRaw(requestParameters: ListPipelinesRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling listPipelines.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespPipelineListFromJSON(jsonValue)); } /** * Retrieve a list of pipelines for all groups that the requesting user belongs to. * Retrieve pipelines */ async listPipelines(requestParameters: ListPipelinesRequest, initOverrides?: RequestInit): Promise { const response = await this.listPipelinesRaw(requestParameters, initOverrides); return await response.value(); } /** * Update a pipelines properties * Patch a pipeline */ async patchPipelineRaw(requestParameters: PatchPipelineRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling patchPipeline.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling patchPipeline.'); } if (requestParameters.reqPatchPipeline === null || requestParameters.reqPatchPipeline === undefined) { throw new runtime.RequiredError('reqPatchPipeline','Required parameter requestParameters.reqPatchPipeline was null or undefined when calling patchPipeline.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: ReqPatchPipelineToJSON(requestParameters.reqPatchPipeline), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespResourceURLFromJSON(jsonValue)); } /** * Update a pipelines properties * Patch a pipeline */ async patchPipeline(requestParameters: PatchPipelineRequest, initOverrides?: RequestInit): Promise { const response = await this.patchPipelineRaw(requestParameters, initOverrides); return await response.value(); } /** * Remove an archive to a pipeline. * Remove archive to a pipeline */ async removePipelineArchiveRaw(requestParameters: RemovePipelineArchiveRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling removePipelineArchive.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling removePipelineArchive.'); } if (requestParameters.reqAddPipelineArchive === null || requestParameters.reqAddPipelineArchive === undefined) { throw new runtime.RequiredError('reqAddPipelineArchive','Required parameter requestParameters.reqAddPipelineArchive was null or undefined when calling removePipelineArchive.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}/archives/remove`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'DELETE', headers: headerParameters, query: queryParameters, body: ReqAddPipelineArchiveToJSON(requestParameters.reqAddPipelineArchive), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespBaseFromJSON(jsonValue)); } /** * Remove an archive to a pipeline. * Remove archive to a pipeline */ async removePipelineArchive(requestParameters: RemovePipelineArchiveRequest, initOverrides?: RequestInit): Promise { const response = await this.removePipelineArchiveRaw(requestParameters, initOverrides); return await response.value(); } /** * Trigger a pipeline run * Trigger a pipeline run */ async runPipelineRaw(requestParameters: RunPipelineRequest, initOverrides?: RequestInit): Promise> { if (requestParameters.groupId === null || requestParameters.groupId === undefined) { throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling runPipeline.'); } if (requestParameters.pipelineId === null || requestParameters.pipelineId === undefined) { throw new runtime.RequiredError('pipelineId','Required parameter requestParameters.pipelineId was null or undefined when calling runPipeline.'); } if (requestParameters.reqRunPipeline === null || requestParameters.reqRunPipeline === undefined) { throw new runtime.RequiredError('reqRunPipeline','Required parameter requestParameters.reqRunPipeline was null or undefined when calling runPipeline.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["X-TAPIS-TOKEN"] = this.configuration.apiKey("X-TAPIS-TOKEN"); // TapisJWT authentication } const response = await this.request({ path: `/v3/workflows/groups/{group_id}/pipelines/{pipeline_id}/run`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"pipeline_id"}}`, encodeURIComponent(String(requestParameters.pipelineId))), method: 'POST', headers: headerParameters, query: queryParameters, body: ReqRunPipelineToJSON(requestParameters.reqRunPipeline), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespPipelineRunFromJSON(jsonValue)); } /** * Trigger a pipeline run * Trigger a pipeline run */ async runPipeline(requestParameters: RunPipelineRequest, initOverrides?: RequestInit): Promise { const response = await this.runPipelineRaw(requestParameters, initOverrides); return await response.value(); } }