"bufio"
"context"
"encoding/json"
+ "io"
"net"
"github.com/sirupsen/logrus"
EndpointGroupContentsUUIDInPath = APIEndpoint{"GET", "arvados/v1/groups/{uuid}/contents", ""} // Alternative HTTP route; client-side code should always use EndpointGroupContents instead
EndpointGroupShared = APIEndpoint{"GET", "arvados/v1/groups/shared", ""}
EndpointGroupDelete = APIEndpoint{"DELETE", "arvados/v1/groups/{uuid}", ""}
+ EndpointGroupTrash = APIEndpoint{"POST", "arvados/v1/groups/{uuid}/trash", ""}
EndpointGroupUntrash = APIEndpoint{"POST", "arvados/v1/groups/{uuid}/untrash", ""}
EndpointUserActivate = APIEndpoint{"POST", "arvados/v1/users/{uuid}/activate", ""}
EndpointUserCreate = APIEndpoint{"POST", "arvados/v1/users", "user"}
}
type GroupContentsOptions struct {
+ ClusterID string `json:"cluster_id"`
UUID string `json:"uuid,omitempty"`
Select []string `json:"select"`
Filters []Filter `json:"filters"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Order []string `json:"order"`
+ Distinct bool `json:"distinct"`
+ Count string `json:"count"`
Include string `json:"include"`
Recursive bool `json:"recursive"`
+ IncludeTrash bool `json:"include_trash"`
IncludeOldVersions bool `json:"include_old_versions"`
ExcludeHomeProject bool `json:"exclude_home_project"`
}
ReturnTo string `json:"return_to"` // Redirect to this URL after logging out
}
+type BlockWriteOptions struct {
+ Hash string
+ Data []byte
+ Reader io.Reader
+ DataSize int // Must be set if Data is nil.
+ RequestID string
+ StorageClasses []string
+ Replicas int
+ Attempts int
+}
+
+type BlockWriteResponse struct {
+ Locator string
+ Replicas int
+}
+
type API interface {
ConfigGet(ctx context.Context) (json.RawMessage, error)
Login(ctx context.Context, options LoginOptions) (LoginResponse, error)
GroupContents(ctx context.Context, options GroupContentsOptions) (ObjectList, error)
GroupShared(ctx context.Context, options ListOptions) (GroupList, error)
GroupDelete(ctx context.Context, options DeleteOptions) (Group, error)
+ GroupTrash(ctx context.Context, options DeleteOptions) (Group, error)
GroupUntrash(ctx context.Context, options UntrashOptions) (Group, error)
SpecimenCreate(ctx context.Context, options CreateOptions) (Specimen, error)
SpecimenUpdate(ctx context.Context, options UpdateOptions) (Specimen, error)