Merge branch '19690-roject-column-options' closes #19690 Arvados-DCO-1.1-Signed-off...
[arvados-workbench2.git] / src / models / container-request.ts
index 4a10414dcd25aa98eabc0f83193bac9d3857ea4f..2a0e60ba9a4ae86c9d628359801f04c2dd1f71f1 100644 (file)
@@ -2,39 +2,43 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { Resource } from "../common/api/common-resource-service";
-import { ResourceKind } from "./kinds";
+import { Resource, ResourceKind, ResourceWithProperties } 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"
+  UNCOMMITTED = 'Uncommitted',
+  COMMITTED = 'Committed',
+  FINAL = 'Final',
 }
 
-export interface ContainerRequestResource extends Resource {
-    kind: ResourceKind.ContainerRequest;
-    name: string;
-    description: string;
-    properties: any;
-    state: ContainerRequestState;
-    requestingContainerUuid: string;
-    containerUuid: string;
-    containerCountMax: number;
-    mounts: any;
-    runtimeConstraints: any;
-    schedulingParameters: any;
-    containerImage: string;
-    environment: any;
-    cwd: string;
-    command: string[];
-    outputPath: string;
-    outputName: string;
-    outputTtl: number;
-    priority: number;
-    expiresAt: string;
-    useExisting: boolean;
-    logUuid: string;
-    outputUuid: string;
-    filters: string;
-
-}
\ No newline at end of file
+export interface ContainerRequestResource
+  extends Resource,
+    ResourceWithProperties {
+  command: string[];
+  containerCountMax: number;
+  containerCount: number;
+  containerImage: string;
+  containerUuid: string | null;
+  cumulativeCost: number;
+  cwd: string;
+  description: string;
+  environment: any;
+  expiresAt: string;
+  filters: string;
+  kind: ResourceKind.CONTAINER_REQUEST;
+  logUuid: string | null;
+  mounts: { [path: string]: MountType };
+  name: string;
+  outputName: string;
+  outputPath: string;
+  outputTtl: number;
+  outputUuid: string | null;
+  priority: number | null;
+  requestingContainerUuid: string | null;
+  runtimeConstraints: RuntimeConstraints;
+  schedulingParameters: SchedulingParameters;
+  state: ContainerRequestState;
+  useExisting: boolean;
+}