1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: Apache-2.0
7 type APIEndpoint struct {
10 // "new attributes" key for create/update requests
15 EndpointCollectionCreate = APIEndpoint{"POST", "arvados/v1/collections", "collection"}
16 EndpointCollectionUpdate = APIEndpoint{"PATCH", "arvados/v1/collections/:uuid", "collection"}
17 EndpointCollectionGet = APIEndpoint{"GET", "arvados/v1/collections/:uuid", ""}
18 EndpointCollectionList = APIEndpoint{"GET", "arvados/v1/collections", ""}
19 EndpointCollectionProvenance = APIEndpoint{"GET", "arvados/v1/collections/:uuid/provenance", ""}
20 EndpointCollectionUsedBy = APIEndpoint{"GET", "arvados/v1/collections/:uuid/used_by", ""}
21 EndpointCollectionDelete = APIEndpoint{"DELETE", "arvados/v1/collections/:uuid", ""}
22 EndpointCollectionTrash = APIEndpoint{"POST", "arvados/v1/collections/:uuid/trash", ""}
23 EndpointCollectionUntrash = APIEndpoint{"POST", "arvados/v1/collections/:uuid/untrash", ""}
24 EndpointSpecimenCreate = APIEndpoint{"POST", "arvados/v1/specimens", "specimen"}
25 EndpointSpecimenUpdate = APIEndpoint{"PATCH", "arvados/v1/specimens/:uuid", "specimen"}
26 EndpointSpecimenGet = APIEndpoint{"GET", "arvados/v1/specimens/:uuid", ""}
27 EndpointSpecimenList = APIEndpoint{"GET", "arvados/v1/specimens", ""}
28 EndpointSpecimenDelete = APIEndpoint{"DELETE", "arvados/v1/specimens/:uuid", ""}
29 EndpointContainerCreate = APIEndpoint{"POST", "arvados/v1/containers", "container"}
30 EndpointContainerUpdate = APIEndpoint{"PATCH", "arvados/v1/containers/:uuid", "container"}
31 EndpointContainerGet = APIEndpoint{"GET", "arvados/v1/containers/:uuid", ""}
32 EndpointContainerList = APIEndpoint{"GET", "arvados/v1/containers", ""}
33 EndpointContainerDelete = APIEndpoint{"DELETE", "arvados/v1/containers/:uuid", ""}
34 EndpointContainerLock = APIEndpoint{"POST", "arvados/v1/containers/:uuid/lock", ""}
35 EndpointContainerUnlock = APIEndpoint{"POST", "arvados/v1/containers/:uuid/unlock", ""}
36 EndpointAPIClientAuthorizationCurrent = APIEndpoint{"GET", "arvados/v1/api_client_authorizations/current", ""}
39 type GetOptions struct {
40 UUID string `json:"uuid"`
41 Select []string `json:"select"`
44 type ListOptions struct {
45 Select []string `json:"select"`
46 Filters []Filter `json:"filters"`
47 Where map[string]interface{} `json:"where"`
48 Limit int `json:"limit"`
49 Offset int `json:"offset"`
50 Order []string `json:"order"`
51 Distinct bool `json:"distinct"`
52 Count string `json:"count"`
53 IncludeTrash bool `json:"include_trash"`
54 IncludeOldVersions bool `json:"include_old_versions"`
57 type CreateOptions struct {
58 ClusterID string `json:"cluster_id"`
59 EnsureUniqueName bool `json:"ensure_unique_name"`
60 Select []string `json:"select"`
61 Attrs map[string]interface{} `json:"attrs"`
64 type UpdateOptions struct {
65 UUID string `json:"uuid"`
66 Attrs map[string]interface{} `json:"attrs"`
69 type DeleteOptions struct {
70 UUID string `json:"uuid"`