"bufio"
"context"
"encoding/json"
+ "io"
"net"
"github.com/sirupsen/logrus"
EndpointUserSystem = APIEndpoint{"GET", "arvados/v1/users/system", ""}
EndpointUserUnsetup = APIEndpoint{"POST", "arvados/v1/users/{uuid}/unsetup", ""}
EndpointUserUpdate = APIEndpoint{"PATCH", "arvados/v1/users/{uuid}", "user"}
- EndpointUserUpdateUUID = APIEndpoint{"POST", "arvados/v1/users/{uuid}/update_uuid", ""}
EndpointUserBatchUpdate = APIEndpoint{"PATCH", "arvados/v1/users/batch_update", ""}
EndpointUserAuthenticate = APIEndpoint{"POST", "arvados/v1/users/authenticate", ""}
EndpointAPIClientAuthorizationCurrent = APIEndpoint{"GET", "arvados/v1/api_client_authorizations/current", ""}
type UpdateOptions struct {
UUID string `json:"uuid"`
Attrs map[string]interface{} `json:"attrs"`
+ Select []string `json:"select"`
BypassFederation bool `json:"bypass_federation"`
}
ExcludeHomeProject bool `json:"exclude_home_project"`
}
-type UpdateUUIDOptions struct {
- UUID string `json:"uuid"`
- NewUUID string `json:"new_uuid"`
-}
-
type UserActivateOptions struct {
UUID string `json:"uuid"`
}
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)
SpecimenDelete(ctx context.Context, options DeleteOptions) (Specimen, error)
UserCreate(ctx context.Context, options CreateOptions) (User, error)
UserUpdate(ctx context.Context, options UpdateOptions) (User, error)
- UserUpdateUUID(ctx context.Context, options UpdateUUIDOptions) (User, error)
UserMerge(ctx context.Context, options UserMergeOptions) (User, error)
UserActivate(ctx context.Context, options UserActivateOptions) (User, error)
UserSetup(ctx context.Context, options UserSetupOptions) (map[string]interface{}, error)