/* 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 { ReqApplicationTask, ReqFunctionTask, ReqImageBuildTask, ReqRequestTask, ReqTapisActorTask, ReqTapisJobTask, ReqTemplateTask, ReqApplicationTaskFromJSONTyped, ReqApplicationTaskToJSON, ReqFunctionTaskFromJSONTyped, ReqFunctionTaskToJSON, ReqImageBuildTaskFromJSONTyped, ReqImageBuildTaskToJSON, ReqRequestTaskFromJSONTyped, ReqRequestTaskToJSON, ReqTapisActorTaskFromJSONTyped, ReqTapisActorTaskToJSON, ReqTapisJobTaskFromJSONTyped, ReqTapisJobTaskToJSON, ReqTemplateTaskFromJSONTyped, ReqTemplateTaskToJSON, EnumTaskType } from './'; /** * @type ReqTask * * @export */ export type ReqTask = { type: EnumTaskType.Application } & ReqApplicationTask | { type: EnumTaskType.Function } & ReqFunctionTask | { type: EnumTaskType.ImageBuild } & ReqImageBuildTask | { type: EnumTaskType.Request } & ReqRequestTask | { type: EnumTaskType.TapisActor } & ReqTapisActorTask | { type: EnumTaskType.TapisJob } & ReqTapisJobTask | { type: EnumTaskType.Template } & ReqTemplateTask; export function ReqTaskFromJSON(json: any): ReqTask { return ReqTaskFromJSONTyped(json, false); } export function ReqTaskFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReqTask { if ((json === undefined) || (json === null)) { return json; } switch (json['type']) { case EnumTaskType.Application: return {...ReqApplicationTaskFromJSONTyped(json, true), type: EnumTaskType.Application}; case EnumTaskType.Function: return {...ReqFunctionTaskFromJSONTyped(json, true), type: EnumTaskType.Function}; case EnumTaskType.ImageBuild: return {...ReqImageBuildTaskFromJSONTyped(json, true), type: EnumTaskType.ImageBuild}; case EnumTaskType.Request: return {...ReqRequestTaskFromJSONTyped(json, true), type: EnumTaskType.Request}; case EnumTaskType.TapisActor: return {...ReqTapisActorTaskFromJSONTyped(json, true), type: EnumTaskType.TapisActor}; case EnumTaskType.TapisJob: return {...ReqTapisJobTaskFromJSONTyped(json, true), type: EnumTaskType.TapisJob}; case EnumTaskType.Template: return {...ReqTemplateTaskFromJSONTyped(json, true), type: EnumTaskType.Template}; default: throw new Error(`No variant of ReqTask exists with 'type=${json['type']}'`); } } export function ReqTaskToJSON(value?: ReqTask | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } switch (value['type']) { case EnumTaskType.Application: return ReqApplicationTaskToJSON(value); case EnumTaskType.Function: return ReqFunctionTaskToJSON(value); case EnumTaskType.ImageBuild: return ReqImageBuildTaskToJSON(value); case EnumTaskType.Request: return ReqRequestTaskToJSON(value); case EnumTaskType.TapisActor: return ReqTapisActorTaskToJSON(value); case EnumTaskType.TapisJob: return ReqTapisJobTaskToJSON(value); case EnumTaskType.Template: return ReqTemplateTaskToJSON(value); default: throw new Error(`No variant of ReqTask exists with 'type=${value['type']}'`); } }