UNPKG

@tapis/tapisui-api

Version:

Typescript library for making api calls with react query

53 lines (49 loc) 1.86 kB
import { Apps, Jobs, Systems } from '@tapis/tapis-typescript'; import { generateRequiredFileInputsFromApp } from '../utils/jobFileInputs'; import { generateRequiredFileInputArraysFromApp } from '../utils/jobFileInputArrays'; import { generateJobArgsFromSpec } from '../utils/jobArgs'; const generateJobDefaults = ({ app, systems, }: { app?: Apps.TapisApp; systems: Array<Systems.TapisSystem>; }): Partial<Jobs.ReqSubmitJob> => { if (!app) { return {}; } const defaultValues: Partial<Jobs.ReqSubmitJob> = { name: `${app.id}-${app.version}`, description: app.description, appId: app.id, appVersion: app.version, archiveOnAppError: app.jobAttributes?.archiveOnAppError ?? true, archiveSystemId: app.jobAttributes?.archiveSystemId, archiveSystemDir: app.jobAttributes?.archiveSystemDir, nodeCount: app.jobAttributes?.nodeCount, coresPerNode: app.jobAttributes?.coresPerNode, jobType: app.jobType, memoryMB: app.jobAttributes?.memoryMB, maxMinutes: app.jobAttributes?.maxMinutes, isMpi: app.jobAttributes?.isMpi, mpiCmd: app.jobAttributes?.mpiCmd, cmdPrefix: app.jobAttributes?.cmdPrefix, fileInputs: generateRequiredFileInputsFromApp(app), fileInputArrays: generateRequiredFileInputArraysFromApp(app), parameterSet: { appArgs: generateJobArgsFromSpec( app.jobAttributes?.parameterSet?.appArgs ?? [] ), containerArgs: generateJobArgsFromSpec( app.jobAttributes?.parameterSet?.containerArgs ?? [] ), schedulerOptions: generateJobArgsFromSpec( app.jobAttributes?.parameterSet?.schedulerOptions ?? [] ), archiveFilter: app.jobAttributes?.parameterSet?.archiveFilter, envVariables: app.jobAttributes?.parameterSet?.envVariables, }, }; return defaultValues; }; export default generateJobDefaults;