Documentation
¶
Index ¶
- Constants
- func ErrDiskNameNull() error
- func ErrDiskSizeZero() error
- func ErrEmptyPasswordHash() error
- func ErrUserDiskAlreadyExists() error
- func ErrUserDiskDoesntExist() error
- func ErrUserDoesntExist() error
- func ErrUserNameAlreadyExists() error
- func IsErrRecNotFound(e error) bool
- func IsUserDiskDoesntExist(e error) bool
- type QueryServer
- func (qs *QueryServer) CheckUserDiskExists(name, diskName string) bool
- func (qs *QueryServer) CheckUserExists(name string) bool
- func (qs *QueryServer) DeleteContainerImage(id uint64) error
- func (qs *QueryServer) DeletePOD(ID uint64) error
- func (qs *QueryServer) DeleteResourceProfile(id uint64) error
- func (qs *QueryServer) DisableResourceProfile(ID uint64) (*types.ResourceProfile, error)
- func (qs *QueryServer) GetContainerImage(ID uint64) (*types.ContainerImage, error)
- func (qs *QueryServer) GetContainerImageByName(name string) (*types.ContainerImage, error)
- func (qs *QueryServer) GetOrCreateContainerImage(param *types.ContainerImage) (*types.ContainerImage, error)
- func (qs *QueryServer) GetPOD(id uint64) (*types.POD, error)
- func (qs *QueryServer) GetPODByUser(user *types.User, id uint64) (*types.POD, error)
- func (qs *QueryServer) GetResourceProfile(ID uint64) (*types.ResourceProfile, error)
- func (qs *QueryServer) GetUserAttrs(name string) (*types.UserAttrs, error)
- func (qs *QueryServer) GetUserByAPIKey(apiKey string) (*types.UserAttrs, error)
- func (qs *QueryServer) GetUserDisk(uname, diskname string) (*types.UserPersistentDisk, error)
- func (qs *QueryServer) InsertContainerImage(ci *types.ContainerImage) (*types.ContainerImage, error)
- func (qs *QueryServer) InsertPOD(pod *types.POD) (*types.POD, error)
- func (qs *QueryServer) InsertResourceGroup(rg *types.ResourceGroup) (*types.ResourceGroup, error)
- func (qs *QueryServer) InsertResourceProfile(rp *types.ResourceProfile) (*types.ResourceProfile, error)
- func (qs *QueryServer) InsertUserAttrs(name string, attrs *types.UserAttrs) error
- func (qs *QueryServer) InsertUserDisk(pd *types.UserPersistentDisk) (*types.UserPersistentDisk, error)
- func (qs *QueryServer) ListContainerImages() (cImages []types.ContainerImage, fnerr error)
- func (qs *QueryServer) ListPODsByUser(user *types.User) (pods []*types.POD, fnerr error)
- func (qs *QueryServer) ListResourceProfiles() (rProfiles []types.ResourceProfile, fnerr error)
- func (qs *QueryServer) NewPodID() (uint64, error)
- func (qs *QueryServer) SaveUserPODIndex(pod *types.POD) error
- func (qs *QueryServer) TrackPodByUser(username string, quit chan int, c chan interface{})
- func (qs *QueryServer) TrackPodChanges(quit chan int, c chan interface{})
- func (qs *QueryServer) UpdateUserAttrs(name string, attrs *types.UserAttrs) (*types.UserAttrs, error)
- func (qs *QueryServer) UpdateUserPOD(pod *types.POD) (*types.POD, error)
- func (qs *QueryServer) UpsertPOD(pod *types.POD) (*types.POD, error)
- func (qs *QueryServer) UpsertResourceProfile(input *types.ResourceProfile) (*types.ResourceProfile, error)
Constants ¶
const ( // UserPrefix : Prefix used as database key for user UserPrefix = "user:" // UserAPIKeyPrefix : User and APIKey index UserAPIKeyPrefix = "userAPIKeyIndex:" // UserAlreadyExists : Error message when user already exists UserAlreadyExists = "user name already exists" // EmptyPasswordHash : Error Message when password is empty EmptyPasswordHash = "empty password hash" )
const ( // ResourceGroupPrefix : DB Prefix ResourceGroupPrefix = "ResourceGroup:" // ContainerImagePrefix : DB Prefix ContainerImagePrefix = "ContainerImage:" // ContainerImageIndexPrefix : DB Index Prefix ContainerImageIndexPrefix = "ContainerImageNameU1:" // ResourceProfilePrefix : DB Prefix ResourceProfilePrefix = "ResourceProfile:" // ResourceGroupSeqName : Sequence for RG ResourceGroupSeqName = "RESOURCE_GROUP_S" // ContainerImageSeqName : Seq for CI ContainerImageSeqName = "CONTAINER_IMAGE_S" // ResourceProfileSeqName : Seq for RP ResourceProfileSeqName = "RESOURCE_PROFILE_S" // PodSeqName : PodSeqName = "POD_S" // PodPrefix : PodPrefix = "POD:" // UserPodKeyPrefix : UserPodKeyPrefix = "userpod:" )
const ( // UserDiskAlreadyExists : UserDiskAlreadyExists = "user disk already exists" // EmptyDiskName : EmptyDiskName = "user disk name is empty" // ZeroSizeDisk : ZeroSizeDisk = "user disk size is zero" // UserDoesntExist : UserDoesntExist = "user doesnt exist" // UserDiskDoesntExist : UserDiskDoesntExist = "user disk doesnt exist" )
Variables ¶
This section is empty.
Functions ¶
func ErrEmptyPasswordHash ¶
func ErrEmptyPasswordHash() error
ErrEmptyPasswordHash : Error raised when password is empty
func ErrUserDiskAlreadyExists ¶
func ErrUserDiskAlreadyExists() error
ErrUserDiskAlreadyExists : Error raised when user name exists
func ErrUserDiskDoesntExist ¶
func ErrUserDiskDoesntExist() error
ErrUserDiskDoesntExist : Error raised when user disk doesnt exist in metadata
func ErrUserNameAlreadyExists ¶
func ErrUserNameAlreadyExists() error
ErrUserNameAlreadyExists : Error raised when user name exists
func IsErrRecNotFound ¶
IsErrRecNotFound : Custom error returned Database when key doesnt exist
Types ¶
type QueryServer ¶
type QueryServer struct {
db_pkg.DatabaseContext
}
QueryServer : Global query server for all metadata objects
func NewQueryServer ¶
func NewQueryServer(db db_pkg.DatabaseContext) *QueryServer
NewQueryServer : A generic query handler for metadata
func (*QueryServer) CheckUserDiskExists ¶
func (qs *QueryServer) CheckUserDiskExists(name, diskName string) bool
CheckUserDiskExists : chck if user disk exists in DB
func (*QueryServer) CheckUserExists ¶
func (qs *QueryServer) CheckUserExists(name string) bool
CheckUserExists : chck if user exists in DB
func (*QueryServer) DeleteContainerImage ¶
func (qs *QueryServer) DeleteContainerImage(id uint64) error
DeleteContainerImage : Delete container image with given id
func (*QueryServer) DeletePOD ¶
func (qs *QueryServer) DeletePOD(ID uint64) error
DeletePOD : Delete pod by given ID
func (*QueryServer) DeleteResourceProfile ¶
func (qs *QueryServer) DeleteResourceProfile(id uint64) error
DeleteResourceProfile : Delete resource profile with given name
func (*QueryServer) DisableResourceProfile ¶
func (qs *QueryServer) DisableResourceProfile(ID uint64) (*types.ResourceProfile, error)
DisableResourceProfile : Disable Resource Profile in DB
func (*QueryServer) GetContainerImage ¶
func (qs *QueryServer) GetContainerImage(ID uint64) (*types.ContainerImage, error)
GetContainerImage : Get Container Image from DB
func (*QueryServer) GetContainerImageByName ¶
func (qs *QueryServer) GetContainerImageByName(name string) (*types.ContainerImage, error)
GetContainerImageByName : Get Container Image by Name from DB Index
func (*QueryServer) GetOrCreateContainerImage ¶
func (qs *QueryServer) GetOrCreateContainerImage(param *types.ContainerImage) (*types.ContainerImage, error)
GetOrCreateContainerImage : Gets existing record or creates new
func (*QueryServer) GetPOD ¶
func (qs *QueryServer) GetPOD(id uint64) (*types.POD, error)
GetPOD : Get POD from DB
func (*QueryServer) GetPODByUser ¶
GetPODByUser : Get POD only with user access perm
func (*QueryServer) GetResourceProfile ¶
func (qs *QueryServer) GetResourceProfile(ID uint64) (*types.ResourceProfile, error)
GetResourceProfile : Get Resource Profile from DB
func (*QueryServer) GetUserAttrs ¶
func (qs *QueryServer) GetUserAttrs(name string) (*types.UserAttrs, error)
GetUserAttrs : Get user info from DB
func (*QueryServer) GetUserByAPIKey ¶
func (qs *QueryServer) GetUserByAPIKey(apiKey string) (*types.UserAttrs, error)
GetUserByAPIKey : Get User by API Key
func (*QueryServer) GetUserDisk ¶
func (qs *QueryServer) GetUserDisk(uname, diskname string) (*types.UserPersistentDisk, error)
GetUserDisk :
func (*QueryServer) InsertContainerImage ¶
func (qs *QueryServer) InsertContainerImage(ci *types.ContainerImage) (*types.ContainerImage, error)
InsertContainerImage :
func (*QueryServer) InsertResourceGroup ¶
func (qs *QueryServer) InsertResourceGroup(rg *types.ResourceGroup) (*types.ResourceGroup, error)
InsertResourceGroup :
func (*QueryServer) InsertResourceProfile ¶
func (qs *QueryServer) InsertResourceProfile(rp *types.ResourceProfile) (*types.ResourceProfile, error)
InsertResourceProfile :
func (*QueryServer) InsertUserAttrs ¶
func (qs *QueryServer) InsertUserAttrs(name string, attrs *types.UserAttrs) error
InsertUserAttrs : Insert User Attributes
func (*QueryServer) InsertUserDisk ¶
func (qs *QueryServer) InsertUserDisk(pd *types.UserPersistentDisk) (*types.UserPersistentDisk, error)
InsertUserDisk :
func (*QueryServer) ListContainerImages ¶
func (qs *QueryServer) ListContainerImages() (cImages []types.ContainerImage, fnerr error)
ListContainerImages : List of Container Images
func (*QueryServer) ListPODsByUser ¶
ListPODsByUser : List PODs by User
func (*QueryServer) ListResourceProfiles ¶
func (qs *QueryServer) ListResourceProfiles() (rProfiles []types.ResourceProfile, fnerr error)
ListResourceProfiles : List of Resource Profiles
func (*QueryServer) NewPodID ¶
func (qs *QueryServer) NewPodID() (uint64, error)
NewPodID : Gets new database sequence
func (*QueryServer) SaveUserPODIndex ¶
func (qs *QueryServer) SaveUserPODIndex(pod *types.POD) error
SaveUserPODIndex :
func (*QueryServer) TrackPodByUser ¶
func (qs *QueryServer) TrackPodByUser(username string, quit chan int, c chan interface{})
TrackPodByUser : Returns a channel to track insert/update database changes of a specific POD
func (*QueryServer) TrackPodChanges ¶
func (qs *QueryServer) TrackPodChanges(quit chan int, c chan interface{})
TrackPodChanges : Listen to POD Changes (insert/update) in database
func (*QueryServer) UpdateUserAttrs ¶
func (qs *QueryServer) UpdateUserAttrs(name string, attrs *types.UserAttrs) (*types.UserAttrs, error)
UpdateUserAttrs : Update User Attributes
func (*QueryServer) UpdateUserPOD ¶
UpdateUserPOD : Updates POD and also raises a trigger for listeners
func (*QueryServer) UpsertResourceProfile ¶
func (qs *QueryServer) UpsertResourceProfile(input *types.ResourceProfile) (*types.ResourceProfile, error)
UpsertResourceProfile : Merges the prof record