X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/bccb9ca5151f041d8c8b73098a3e1874023e3efa..11e786a3643a6813b13a1322d18cba74a1a0233a:/src/models/container-request.ts diff --git a/src/models/container-request.ts b/src/models/container-request.ts index 4e548157..d3adb03a 100644 --- a/src/models/container-request.ts +++ b/src/models/container-request.ts @@ -2,37 +2,84 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Resource, ResourceKind } from "./resource"; +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; +export interface ContainerRequestResource + extends Resource, + ResourceWithProperties { + command: string[]; containerCountMax: number; - mounts: any; - runtimeConstraints: any; - schedulingParameters: any; + containerCount: number; containerImage: string; - environment: any; + containerUuid: string | null; + cumulativeCost: number; cwd: string; - command: string[]; - outputPath: 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; - priority: number; - expiresAt: string; + outputUuid: string | null; + priority: number | null; + requestingContainerUuid: string | null; + runtimeConstraints: RuntimeConstraints; + schedulingParameters: SchedulingParameters; + state: ContainerRequestState; useExisting: boolean; - logUuid: string; - outputUuid: string; - filters: string; } + +// 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", + "cumulative_cost", + "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", +];