X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c952afae1af2fb31b68be04f70bd7ae6f9d52aba..2a7fd99c212c33a1ec9911f8529fa5afc59a7bb2:/src/models/container-request.ts diff --git a/src/models/container-request.ts b/src/models/container-request.ts index 99ec4cf086..aa5e0f7999 100644 --- a/src/models/container-request.ts +++ b/src/models/container-request.ts @@ -2,40 +2,83 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Resource, ResourceKind, ResourceWithProperties } from "./resource"; -import { MountType } from "models/mount-types"; +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, ResourceWithProperties { - kind: ResourceKind.CONTAINER_REQUEST; - name: string; - description: string; - state: ContainerRequestState; - requestingContainerUuid: string | null; - containerUuid: string | null; - containerCountMax: number; - mounts: {[path: string]: MountType}; - runtimeConstraints: RuntimeConstraints; - schedulingParameters: SchedulingParameters; - containerImage: string; - environment: any; - cwd: string; - command: string[]; - outputPath: string; - outputName: string; - outputTtl: number; - priority: number | null; - expiresAt: string; - useExisting: boolean; - logUuid: string | null; - outputUuid: string | null; - filters: string; - containerCount: number; +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; + outputProperties: any; + outputStorageClasses: string[]; + outputTtl: number; + outputUuid: string | null; + priority: number | null; + requestingContainerUuid: string | null; + runtimeConstraints: RuntimeConstraints; + schedulingParameters: SchedulingParameters; + state: ContainerRequestState; + useExisting: boolean; } + +// Until the api supports unselecting fields, we need a list of all other fields to omit mounts +export const containerRequestFieldsNoMounts = [ + "command", + "container_count_max", + "container_count", + "container_image", + "container_uuid", + "created_at", + "cwd", + "description", + "environment", + "etag", + "expires_at", + "filters", + "href", + "kind", + "log_uuid", + "modified_at", + "modified_by_client_uuid", + "modified_by_user_uuid", + "name", + "output_name", + "output_path", + "output_properties", + "output_storage_classes", + "output_ttl", + "output_uuid", + "owner_uuid", + "priority", + "properties", + "requesting_container_uuid", + "runtime_constraints", + "scheduling_parameters", + "state", + "use_existing", + "uuid", +];