/* 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 { exists, mapValues } from '../runtime'; import { ETLActionFilter, ETLActionFilterFromJSON, ETLActionFilterFromJSONTyped, ETLActionFilterToJSON, ETLLocalInbox, ETLLocalInboxFromJSON, ETLLocalInboxFromJSONTyped, ETLLocalInboxToJSON, ETLLocalOutbox, ETLLocalOutboxFromJSON, ETLLocalOutboxFromJSONTyped, ETLLocalOutboxToJSON, ETLRemoteInbox, ETLRemoteInboxFromJSON, ETLRemoteInboxFromJSONTyped, ETLRemoteInboxToJSON, ETLRemoteOutbox, ETLRemoteOutboxFromJSON, ETLRemoteOutboxFromJSONTyped, ETLRemoteOutboxToJSON, EnumPipelineType, EnumPipelineTypeFromJSON, EnumPipelineTypeFromJSONTyped, EnumPipelineTypeToJSON, EnvSpec, EnvSpecFromJSON, EnvSpecFromJSONTyped, EnvSpecToJSON, ExecutionProfile, ExecutionProfileFromJSON, ExecutionProfileFromJSONTyped, ExecutionProfileToJSON, ReqCreateETLPipelineAllOf, ReqCreateETLPipelineAllOfFromJSON, ReqCreateETLPipelineAllOfFromJSONTyped, ReqCreateETLPipelineAllOfToJSON, ReqPipeline, ReqPipelineFromJSON, ReqPipelineFromJSONTyped, ReqPipelineToJSON, ReqTask, ReqTaskFromJSON, ReqTaskFromJSONTyped, ReqTaskToJSON, Spec, SpecFromJSON, SpecFromJSONTyped, SpecToJSON, TapisETLExtendedTapisJobDef, TapisETLExtendedTapisJobDefFromJSON, TapisETLExtendedTapisJobDefFromJSONTyped, TapisETLExtendedTapisJobDefToJSON, Uses, UsesFromJSON, UsesFromJSONTyped, UsesToJSON, } from './'; /** * * @export * @interface ReqCreateETLPipeline */ export interface ReqCreateETLPipeline { /** * * @type {string} * @memberof ReqCreateETLPipeline */ id: string; /** * * @type {Uses} * @memberof ReqCreateETLPipeline */ uses?: Uses; /** * * @type {Array} * @memberof ReqCreateETLPipeline */ archive_ids?: Array; /** * * @type {string} * @memberof ReqCreateETLPipeline */ description?: string; /** * * @type {{ [key: string]: EnvSpec; }} * @memberof ReqCreateETLPipeline */ env?: { [key: string]: EnvSpec; }; /** * * @type {boolean} * @memberof ReqCreateETLPipeline */ enabled?: boolean; /** * * @type {{ [key: string]: Spec; }} * @memberof ReqCreateETLPipeline */ params?: { [key: string]: Spec; }; /** * * @type {EnumPipelineType} * @memberof ReqCreateETLPipeline */ type: EnumPipelineType; /** * * @type {ExecutionProfile} * @memberof ReqCreateETLPipeline */ execution_profile?: ExecutionProfile; /** * * @type {Array} * @memberof ReqCreateETLPipeline */ tasks?: Array; /** * * @type {Array} * @memberof ReqCreateETLPipeline */ tags?: Array; /** * * @type {ETLActionFilter} * @memberof ReqCreateETLPipeline */ before?: ETLActionFilter; /** * * @type {ETLRemoteOutbox} * @memberof ReqCreateETLPipeline */ remote_outbox: ETLRemoteOutbox; /** * * @type {ETLLocalInbox} * @memberof ReqCreateETLPipeline */ local_inbox: ETLLocalInbox; /** * * @type {Array} * @memberof ReqCreateETLPipeline */ jobs: Array; /** * * @type {ETLLocalOutbox} * @memberof ReqCreateETLPipeline */ local_outbox: ETLLocalOutbox; /** * * @type {ETLRemoteInbox} * @memberof ReqCreateETLPipeline */ remote_inbox: ETLRemoteInbox; /** * * @type {ETLActionFilter} * @memberof ReqCreateETLPipeline */ after?: ETLActionFilter; } export function ReqCreateETLPipelineFromJSON(json: any): ReqCreateETLPipeline { return ReqCreateETLPipelineFromJSONTyped(json, false); } export function ReqCreateETLPipelineFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReqCreateETLPipeline { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'uses': !exists(json, 'uses') ? undefined : UsesFromJSON(json['uses']), 'archive_ids': !exists(json, 'archive_ids') ? undefined : json['archive_ids'], 'description': !exists(json, 'description') ? undefined : json['description'], 'env': !exists(json, 'env') ? undefined : (mapValues(json['env'], EnvSpecFromJSON)), 'enabled': !exists(json, 'enabled') ? undefined : json['enabled'], 'params': !exists(json, 'params') ? undefined : (mapValues(json['params'], SpecFromJSON)), 'type': EnumPipelineTypeFromJSON(json['type']), 'execution_profile': !exists(json, 'execution_profile') ? undefined : ExecutionProfileFromJSON(json['execution_profile']), 'tasks': !exists(json, 'tasks') ? undefined : ((json['tasks'] as Array).map(ReqTaskFromJSON)), 'tags': !exists(json, 'tags') ? undefined : json['tags'], 'before': !exists(json, 'before') ? undefined : ETLActionFilterFromJSON(json['before']), 'remote_outbox': ETLRemoteOutboxFromJSON(json['remote_outbox']), 'local_inbox': ETLLocalInboxFromJSON(json['local_inbox']), 'jobs': ((json['jobs'] as Array).map(TapisETLExtendedTapisJobDefFromJSON)), 'local_outbox': ETLLocalOutboxFromJSON(json['local_outbox']), 'remote_inbox': ETLRemoteInboxFromJSON(json['remote_inbox']), 'after': !exists(json, 'after') ? undefined : ETLActionFilterFromJSON(json['after']), }; } export function ReqCreateETLPipelineToJSON(value?: ReqCreateETLPipeline | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'uses': UsesToJSON(value.uses), 'archive_ids': value.archive_ids, 'description': value.description, 'env': value.env === undefined ? undefined : (mapValues(value.env, EnvSpecToJSON)), 'enabled': value.enabled, 'params': value.params === undefined ? undefined : (mapValues(value.params, SpecToJSON)), 'type': EnumPipelineTypeToJSON(value.type), 'execution_profile': ExecutionProfileToJSON(value.execution_profile), 'tasks': value.tasks === undefined ? undefined : ((value.tasks as Array).map(ReqTaskToJSON)), 'tags': value.tags, 'before': ETLActionFilterToJSON(value.before), 'remote_outbox': ETLRemoteOutboxToJSON(value.remote_outbox), 'local_inbox': ETLLocalInboxToJSON(value.local_inbox), 'jobs': ((value.jobs as Array).map(TapisETLExtendedTapisJobDefToJSON)), 'local_outbox': ETLLocalOutboxToJSON(value.local_outbox), 'remote_inbox': ETLRemoteInboxToJSON(value.remote_inbox), 'after': ETLActionFilterToJSON(value.after), }; }