We'll be treating Collections, Projects, etc as "ResourcesWithProperties".
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>
//
// SPDX-License-Identifier: AGPL-3.0
-import { ResourceKind, TrashableResource } from "./resource";
+import {
+ ResourceKind,
+ TrashableResource,
+ ResourceWithProperties
+} from "./resource";
-export interface CollectionResource extends TrashableResource {
+export interface CollectionResource extends TrashableResource, ResourceWithProperties {
kind: ResourceKind.COLLECTION;
name: string;
description: string;
- properties: any;
portableDataHash: string;
manifestText: string;
replicationDesired: number;
//
// 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';
FINAL = "Final"
}
-export interface ContainerRequestResource extends Resource {
+export interface ContainerRequestResource extends Resource, ResourceWithProperties {
kind: ResourceKind.CONTAINER_REQUEST;
name: string;
description: string;
- properties: any;
state: ContainerRequestState;
requestingContainerUuid: string | null;
containerUuid: string | null;
//
// SPDX-License-Identifier: AGPL-3.0
-import { ResourceKind, TrashableResource, ResourceObjectType, RESOURCE_UUID_REGEX } from "./resource";
+import {
+ ResourceKind,
+ ResourceWithProperties,
+ RESOURCE_UUID_REGEX,
+ ResourceObjectType,
+ TrashableResource
+} from "./resource";
-export interface GroupResource extends TrashableResource {
+export interface GroupResource extends TrashableResource, ResourceWithProperties {
kind: ResourceKind.GROUP;
name: string;
groupClass: GroupClass | null;
description: string;
- properties: any;
writableBy: string[];
ensure_unique_name: boolean;
}
//
// SPDX-License-Identifier: AGPL-3.0
-import { Resource, ResourceKind } from 'models/resource';
+import { Resource, ResourceKind, ResourceWithProperties } from 'models/resource';
-export interface LinkResource extends Resource {
+export interface LinkResource extends Resource, ResourceWithProperties {
headUuid: string;
headKind: ResourceKind;
tailUuid: string;
tailKind: string;
linkClass: string;
name: string;
- properties: any;
kind: ResourceKind.LINK;
}
//
// SPDX-License-Identifier: AGPL-3.0
-import { Resource } from "./resource";
+import { Resource, ResourceWithProperties } from "./resource";
import { ResourceKind } from 'models/resource';
export enum LogEventType {
STDERR = 'stderr',
}
-export interface LogResource extends Resource {
+export interface LogResource extends Resource, ResourceWithProperties {
kind: ResourceKind.LOG;
objectUuid: string;
eventAt: string;
eventType: string;
summary: string;
- properties: any;
}
etag: string;
}
+export interface ResourceWithProperties extends Resource {
+ properties: any;
+}
+
export interface EditableResource extends Resource {
isEditable: boolean;
}
}
export interface TagProperty {
+ uuid: string;
key: string;
keyID?: string;
value: string;