/* 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 { ReqArchive, ReqArchiveFromJSON, ReqArchiveToJSON, RespArchive, RespArchiveFromJSON, RespArchiveToJSON, RespArchiveList, RespArchiveListFromJSON, RespArchiveListToJSON, RespError, RespErrorFromJSON, RespErrorToJSON, RespResourceURL, RespResourceURLFromJSON, RespResourceURLToJSON, } from '../models'; export interface CreateArchiveRequest { groupId: string; reqArchive: ReqArchive; } export interface GetArchiveRequest { groupId: string; archiveId: string; } export interface ListArchivesRequest { groupId: string; } /** * */ export class ArchivesApi extends runtime.BaseAPI { /** * Create an Archive. Archives are used to persist the results of a pipeline run * Create an archive */ async createArchiveRaw(requestParameters: CreateArchiveRequest, 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 createArchive.'); } if (requestParameters.reqArchive === null || requestParameters.reqArchive === undefined) { throw new runtime.RequiredError('reqArchive','Required parameter requestParameters.reqArchive was null or undefined when calling createArchive.'); } 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}/archives`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'POST', headers: headerParameters, query: queryParameters, body: ReqArchiveToJSON(requestParameters.reqArchive), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespResourceURLFromJSON(jsonValue)); } /** * Create an Archive. Archives are used to persist the results of a pipeline run * Create an archive */ async createArchive(requestParameters: CreateArchiveRequest, initOverrides?: RequestInit): Promise { const response = await this.createArchiveRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve an archive * Retrieve an archive */ async getArchiveRaw(requestParameters: GetArchiveRequest, 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 getArchive.'); } if (requestParameters.archiveId === null || requestParameters.archiveId === undefined) { throw new runtime.RequiredError('archiveId','Required parameter requestParameters.archiveId was null or undefined when calling getArchive.'); } 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}/archives/{archive_id}`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))).replace(`{${"archive_id"}}`, encodeURIComponent(String(requestParameters.archiveId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespArchiveFromJSON(jsonValue)); } /** * Retrieve an archive * Retrieve an archive */ async getArchive(requestParameters: GetArchiveRequest, initOverrides?: RequestInit): Promise { const response = await this.getArchiveRaw(requestParameters, initOverrides); return await response.value(); } /** * Get a list of all archives from all groups * List all archives */ async listAllArchivesRaw(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/archives`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespArchiveListFromJSON(jsonValue)); } /** * Get a list of all archives from all groups * List all archives */ async listAllArchives(initOverrides?: RequestInit): Promise { const response = await this.listAllArchivesRaw(initOverrides); return await response.value(); } /** * Retrieve a list of archives for in group * Retrieve archives */ async listArchivesRaw(requestParameters: ListArchivesRequest, 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 listArchives.'); } 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}/archives`.replace(`{${"group_id"}}`, encodeURIComponent(String(requestParameters.groupId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RespArchiveListFromJSON(jsonValue)); } /** * Retrieve a list of archives for in group * Retrieve archives */ async listArchives(requestParameters: ListArchivesRequest, initOverrides?: RequestInit): Promise { const response = await this.listArchivesRaw(requestParameters, initOverrides); return await response.value(); } }