18866: Adds test exposing the problem.
[arvados-workbench2.git] / src / models / workflow.ts
index 91f6b6e43ed6513828d75e299b9d339a2b6330e4..ad84bd9e891a95fcfff02a1cb001a72e226e0f45 100644 (file)
@@ -22,6 +22,7 @@ export interface Workflow {
     inputs: CommandInputParameter[];
     outputs: any[];
     steps: any[];
+    hints?: ProcessRequirement[];
 }
 
 export interface CommandLineTool {
@@ -29,6 +30,21 @@ export interface CommandLineTool {
     id: string;
     inputs: CommandInputParameter[];
     outputs: any[];
+    hints?: ProcessRequirement[];
+}
+
+export type ProcessRequirement = GenericProcessRequirement | WorkflowRunnerResources;
+
+export interface GenericProcessRequirement {
+    class: string;
+}
+
+export interface WorkflowRunnerResources {
+    class: 'http://arvados.org/cwl#WorkflowRunnerResources';
+    ramMin?: number;
+    coresMin?: number;
+    keep_cache?: number;
+    acrContainerImage?: string;
 }
 
 export type CommandInputParameter =
@@ -131,10 +147,6 @@ export const getWorkflow = (workflowDefinition: WorkflowResourceDefinition) => {
 
 export const getWorkflowInputs = (workflowDefinition: WorkflowResourceDefinition) => {
     if (!workflowDefinition) { return undefined; }
-    // const mainWorkflow = workflowDefinition.$graph.find(item => item.class === 'Workflow' && item.id === '#main');
-    // return mainWorkflow
-    //     ? mainWorkflow.inputs
-    //     : undefined;
     return getWorkflow(workflowDefinition)
         ? getWorkflow(workflowDefinition)!.inputs
         : undefined;