/* 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 { ApplicationTask, FunctionTask, ImageBuildTask, RequestTask, TapisActorTask, TapisJobTask, TemplateTask, ApplicationTaskFromJSONTyped, ApplicationTaskToJSON, FunctionTaskFromJSONTyped, FunctionTaskToJSON, ImageBuildTaskFromJSONTyped, ImageBuildTaskToJSON, RequestTaskFromJSONTyped, RequestTaskToJSON, TapisActorTaskFromJSONTyped, TapisActorTaskToJSON, TapisJobTaskFromJSONTyped, TapisJobTaskToJSON, TemplateTaskFromJSONTyped, TemplateTaskToJSON, EnumTaskType } from './'; /** * @type Task * * @export */ export type Task = { type: EnumTaskType.Application } & ApplicationTask | { type: EnumTaskType.Function } & FunctionTask | { type: EnumTaskType.ImageBuild } & ImageBuildTask | { type: EnumTaskType.Request } & RequestTask | { type: EnumTaskType.TapisActor } & TapisActorTask | { type: EnumTaskType.TapisJob } & TapisJobTask | { type: EnumTaskType.Template } & TemplateTask; export function TaskFromJSON(json: any): Task { return TaskFromJSONTyped(json, false); } export function TaskFromJSONTyped(json: any, ignoreDiscriminator: boolean): Task { if ((json === undefined) || (json === null)) { return json; } switch (json['type']) { case EnumTaskType.Application: return {...ApplicationTaskFromJSONTyped(json, true), type: EnumTaskType.Application}; case EnumTaskType.Function: return {...FunctionTaskFromJSONTyped(json, true), type: EnumTaskType.Function}; case EnumTaskType.ImageBuild: return {...ImageBuildTaskFromJSONTyped(json, true), type: EnumTaskType.ImageBuild}; case EnumTaskType.Request: return {...RequestTaskFromJSONTyped(json, true), type: EnumTaskType.Request}; case EnumTaskType.TapisActor: return {...TapisActorTaskFromJSONTyped(json, true), type: EnumTaskType.TapisActor}; case EnumTaskType.TapisJob: return {...TapisJobTaskFromJSONTyped(json, true), type: EnumTaskType.TapisJob}; case EnumTaskType.Template: return {...TemplateTaskFromJSONTyped(json, true), type: EnumTaskType.Template}; default: throw new Error(`No variant of Task exists with 'type=${json['type']}'`); } } export function TaskToJSON(value?: Task | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } switch (value['type']) { case EnumTaskType.Application: return ApplicationTaskToJSON(value); case EnumTaskType.Function: return FunctionTaskToJSON(value); case EnumTaskType.ImageBuild: return ImageBuildTaskToJSON(value); case EnumTaskType.Request: return RequestTaskToJSON(value); case EnumTaskType.TapisActor: return TapisActorTaskToJSON(value); case EnumTaskType.TapisJob: return TapisJobTaskToJSON(value); case EnumTaskType.Template: return TemplateTaskToJSON(value); default: throw new Error(`No variant of Task exists with 'type=${value['type']}'`); } }