Fix wb2 integration typo, refs #9964
[arvados.git] / services / workbench2 / src / models / container-request.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { Resource, ResourceKind, ResourceWithProperties } from './resource';
6 import { MountType } from 'models/mount-types';
7 import { RuntimeConstraints } from './runtime-constraints';
8 import { SchedulingParameters } from './scheduling-parameters';
9
10 export enum ContainerRequestState {
11     UNCOMMITTED = 'Uncommitted',
12     COMMITTED = 'Committed',
13     FINAL = 'Final',
14 }
15
16 export interface ContainerRequestResource
17 extends Resource, ResourceWithProperties {
18     command: string[];
19     containerCountMax: number;
20     containerCount: number;
21     containerImage: string;
22     containerUuid: string | null;
23     cumulativeCost: number;
24     cwd: string;
25     description: string;
26     environment: any;
27     expiresAt: string;
28     filters: string;
29     kind: ResourceKind.CONTAINER_REQUEST;
30     logUuid: string | null;
31     mounts: { [path: string]: MountType };
32     name: string;
33     outputName: string;
34     outputPath: string;
35     outputProperties: any;
36     outputStorageClasses: string[];
37     outputTtl: number;
38     outputUuid: string | null;
39     outputGlob: string[];
40     priority: number | null;
41     requestingContainerUuid: string | null;
42     runtimeConstraints: RuntimeConstraints;
43     schedulingParameters: SchedulingParameters;
44     state: ContainerRequestState;
45     useExisting: boolean;
46 }
47
48 // Until the api supports unselecting fields, we need a list of all other fields to omit mounts
49 export const containerRequestFieldsNoMounts = [
50     "command",
51     "container_count_max",
52     "container_count",
53     "container_image",
54     "container_uuid",
55     "created_at",
56     "cumulative_cost",
57     "cwd",
58     "description",
59     "environment",
60     "etag",
61     "expires_at",
62     "filters",
63     "href",
64     "kind",
65     "log_uuid",
66     "modified_at",
67     "modified_by_client_uuid",
68     "modified_by_user_uuid",
69     "name",
70     "output_name",
71     "output_path",
72     "output_properties",
73     "output_storage_classes",
74     "output_ttl",
75     "output_uuid",
76     "output_glob",
77     "owner_uuid",
78     "priority",
79     "properties",
80     "requesting_container_uuid",
81     "runtime_constraints",
82     "scheduling_parameters",
83     "state",
84     "use_existing",
85     "uuid",
86 ];