Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotFound = errors.New("not found") ErrInvalid = errors.New("invalid") )
View Source
var Nodegroups = []Nodegroup{ NodegroupUndergraduate, NodegroupGraduate, }
View Source
var Resources = []Resource{ ResCPURequest, ResCPULimit, ResMemoryRequest, ResMemoryLimit, ResStorageRequest, ResGPURequest, }
Functions ¶
This section is empty.
Types ¶
type Workspace ¶
type Workspace struct { ID Created bool Enabled bool Nodegroup Nodegroup Userdata string Quotas map[Resource]uint64 Users []string Request *WorkspaceUpdate }
func (*Workspace) InitialRequest ¶
func (ws *Workspace) InitialRequest() *WorkspaceUpdate
InitialRequest returns the initial request for a new workspace. It has the same attributes as the workspace itself, but enabled.
type WorkspaceService ¶
type WorkspaceService interface { // Accept user-provided fields only. CreateWorkspace(ctx context.Context, ws *Workspace) (*Workspace, error) // Full scan every workspace. ListAllWorkspaces(ctx context.Context) ([]*Workspace, error) // Only list workspaces for a given user. ListUserWorkspaces(ctx context.Context, user string) ([]*Workspace, error) // List all created workspaces. ListCreatedWorkspaces(ctx context.Context) ([]*Workspace, error) GetWorkspace(ctx context.Context, id ID) (*Workspace, error) // Return ErrNotFound if not owned. GetUserWorkspace(ctx context.Context, id ID, user string) (*Workspace, error) // Immediately apply any changes, for admins. UpdateWorkspace(ctx context.Context, upd *WorkspaceUpdate) (*Workspace, error) // Requetst an update, for uesrs. Ignore admin-controlled fields. RequestUpdateWorkspace(ctx context.Context, upd *WorkspaceUpdate) (*Workspace, error) DeleteWorkspace(ctx context.Context, id ID) error }
Click to show internal directories.
Click to hide internal directories.