X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/99a68365532a28a78d20461620c9a6bc7c54050d..30db189f713285d03facc83ac8018942a89afa81:/sdk/go/arvados/api.go diff --git a/sdk/go/arvados/api.go b/sdk/go/arvados/api.go index 06439acb5f..772f8da971 100644 --- a/sdk/go/arvados/api.go +++ b/sdk/go/arvados/api.go @@ -4,6 +4,11 @@ package arvados +import ( + "context" + "encoding/json" +) + type APIEndpoint struct { Method string Path string @@ -12,6 +17,7 @@ type APIEndpoint struct { } var ( + EndpointConfigGet = APIEndpoint{"GET", "arvados/v1/config", ""} EndpointCollectionCreate = APIEndpoint{"POST", "arvados/v1/collections", "collection"} EndpointCollectionUpdate = APIEndpoint{"PATCH", "arvados/v1/collections/:uuid", "collection"} EndpointCollectionGet = APIEndpoint{"GET", "arvados/v1/collections/:uuid", ""} @@ -37,11 +43,18 @@ var ( ) type GetOptions struct { - UUID string `json:"uuid"` - Select []string `json:"select"` + UUID string `json:"uuid"` + Select []string `json:"select"` + IncludeTrash bool `json:"include_trash"` +} + +type UntrashOptions struct { + UUID string `json:"uuid"` + EnsureUniqueName bool `json:"ensure_unique_name"` } type ListOptions struct { + ClusterID string `json:"cluster_id"` Select []string `json:"select"` Filters []Filter `json:"filters"` Where map[string]interface{} `json:"where"` @@ -69,3 +82,29 @@ type UpdateOptions struct { type DeleteOptions struct { UUID string `json:"uuid"` } + +type API interface { + ConfigGet(ctx context.Context) (json.RawMessage, error) + CollectionCreate(ctx context.Context, options CreateOptions) (Collection, error) + CollectionUpdate(ctx context.Context, options UpdateOptions) (Collection, error) + CollectionGet(ctx context.Context, options GetOptions) (Collection, error) + CollectionList(ctx context.Context, options ListOptions) (CollectionList, error) + CollectionProvenance(ctx context.Context, options GetOptions) (map[string]interface{}, error) + CollectionUsedBy(ctx context.Context, options GetOptions) (map[string]interface{}, error) + CollectionDelete(ctx context.Context, options DeleteOptions) (Collection, error) + CollectionTrash(ctx context.Context, options DeleteOptions) (Collection, error) + CollectionUntrash(ctx context.Context, options UntrashOptions) (Collection, error) + ContainerCreate(ctx context.Context, options CreateOptions) (Container, error) + ContainerUpdate(ctx context.Context, options UpdateOptions) (Container, error) + ContainerGet(ctx context.Context, options GetOptions) (Container, error) + ContainerList(ctx context.Context, options ListOptions) (ContainerList, error) + ContainerDelete(ctx context.Context, options DeleteOptions) (Container, error) + ContainerLock(ctx context.Context, options GetOptions) (Container, error) + ContainerUnlock(ctx context.Context, options GetOptions) (Container, error) + SpecimenCreate(ctx context.Context, options CreateOptions) (Specimen, error) + SpecimenUpdate(ctx context.Context, options UpdateOptions) (Specimen, error) + SpecimenGet(ctx context.Context, options GetOptions) (Specimen, error) + SpecimenList(ctx context.Context, options ListOptions) (SpecimenList, error) + SpecimenDelete(ctx context.Context, options DeleteOptions) (Specimen, error) + APIClientAuthorizationCurrent(ctx context.Context, options GetOptions) (APIClientAuthorization, error) +}