Merge branch '16718-past-collection-versions-search'
[arvados-workbench2.git] / src / models / container-request.ts
index 44dd615e848787966c15eeb6b49240fc9b6ff3fa..f7342d23d77d32460d9bcb7140250107e90a420f 100644 (file)
@@ -2,21 +2,29 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { Resource } from "../common/api/common-resource-service";
-import { ResourceKind } from "./kinds";
+import { Resource, ResourceKind } from "./resource";
+import { MountType } from "~/models/mount-types";
+import { RuntimeConstraints } from './runtime-constraints';
+import { SchedulingParameters } from './scheduling-parameters';
+
+export enum ContainerRequestState {
+    UNCOMMITTED = "Uncommitted",
+    COMMITTED = "Committed",
+    FINAL = "Final"
+}
 
 export interface ContainerRequestResource extends Resource {
-    kind: ResourceKind.ContainerRequest;
+    kind: ResourceKind.CONTAINER_REQUEST;
     name: string;
     description: string;
     properties: any;
-    state: string;
-    requestingContainerUuid: string;
-    containerUuid: string;
+    state: ContainerRequestState;
+    requestingContainerUuid: string | null;
+    containerUuid: string | null;
     containerCountMax: number;
-    mounts: any;
-    runtimeConstraints: any;
-    schedulingParameters: any;
+    mounts: {[path: string]: MountType};
+    runtimeConstraints: RuntimeConstraints;
+    schedulingParameters: SchedulingParameters;
     containerImage: string;
     environment: any;
     cwd: string;
@@ -24,11 +32,11 @@ export interface ContainerRequestResource extends Resource {
     outputPath: string;
     outputName: string;
     outputTtl: number;
-    priority: number;
+    priority: number | null;
     expiresAt: string;
     useExisting: boolean;
-    logUuid: string;
-    outputUuid: string;
+    logUuid: string | null;
+    outputUuid: string | null;
     filters: string;
-
-}
\ No newline at end of file
+    containerCount: number;
+}