Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environment ¶
type LambdaAPI ¶
type LambdaAPI interface {
// Upload content from .tar.gz archive to app and call Install handler (if defined)
Upload(ctx context.Context, token *Token, uid string, tarGz []byte) (bool, error)
// Download content as .tar.gz archive from app
Download(ctx context.Context, token *Token, uid string) ([]byte, error)
// Push single file to app
Push(ctx context.Context, token *Token, uid string, file string, content []byte) (bool, error)
// Pull single file from app
Pull(ctx context.Context, token *Token, uid string, file string) ([]byte, error)
// Remove app and call Uninstall handler (if defined)
Remove(ctx context.Context, token *Token, uid string) (bool, error)
// Files in func dir
Files(ctx context.Context, token *Token, uid string, dir string) ([]types.File, error)
// Info about application
Info(ctx context.Context, token *Token, uid string) (*application.Definition, error)
// Update application manifest
Update(ctx context.Context, token *Token, uid string, manifest types.Manifest) (*application.Definition, error)
// Create file or directory inside app
CreateFile(ctx context.Context, token *Token, uid string, path string, dir bool) (bool, error)
// Remove file or directory
RemoveFile(ctx context.Context, token *Token, uid string, path string) (bool, error)
// Rename file or directory
RenameFile(ctx context.Context, token *Token, uid string, oldPath, newPath string) (bool, error)
// Stats for the app
Stats(ctx context.Context, token *Token, uid string, limit int) ([]stats.Record, error)
// Actions available for the app
Actions(ctx context.Context, token *Token, uid string) ([]string, error)
// Invoke action in the app (if make installed)
Invoke(ctx context.Context, token *Token, uid string, action string) (string, error)
// Make link/alias for app
Link(ctx context.Context, token *Token, uid string, alias string) (*application.Definition, error)
// Remove link
Unlink(ctx context.Context, token *Token, alias string) (*application.Definition, error)
}
API for lambdas
type PoliciesAPI ¶ added in v0.3.5
type PoliciesAPI interface {
// List all policies
List(ctx context.Context, token *Token) ([]application.Policy, error)
// Create new policy
Create(ctx context.Context, token *Token, policy string, definition application.PolicyDefinition) (*application.Policy, error)
// Remove policy
Remove(ctx context.Context, token *Token, policy string) (bool, error)
// Update policy definition
Update(ctx context.Context, token *Token, policy string, definition application.PolicyDefinition) (bool, error)
// Apply policy for the resource
Apply(ctx context.Context, token *Token, lambda string, policy string) (bool, error)
// Clear applied policy for the lambda
Clear(ctx context.Context, token *Token, lambda string) (bool, error)
}
API for managing policies
type ProjectAPI ¶
type ProjectAPI interface {
// Get global configuration
Config(ctx context.Context, token *Token) (*Settings, error)
// Change effective user
SetUser(ctx context.Context, token *Token, user string) (*Settings, error)
// Change global environment
SetEnvironment(ctx context.Context, token *Token, env Environment) (*Settings, error)
// Get all templates without filtering
AllTemplates(ctx context.Context, token *Token) ([]*TemplateStatus, error)
// List available apps (lambdas) in a project
List(ctx context.Context, token *Token) ([]application.Definition, error)
// Templates with filter by availability including embedded
Templates(ctx context.Context, token *Token) ([]*Template, error)
// Global last records
Stats(ctx context.Context, token *Token, limit int) ([]stats.Record, error)
// Create new app (lambda)
Create(ctx context.Context, token *Token) (*application.Definition, error)
// Create new app/lambda/function using pre-defined template
CreateFromTemplate(ctx context.Context, token *Token, templateName string) (*application.Definition, error)
// Create new app/lambda/function using remote Git repo
CreateFromGit(ctx context.Context, token *Token, repo string) (*application.Definition, error)
}
API for global project
type QueuesAPI ¶ added in v0.3.5
type QueuesAPI interface {
// Create queue and link it to lambda and start worker
Create(ctx context.Context, token *Token, queue application.Queue) (*application.Queue, error)
// Remove queue and stop worker
Remove(ctx context.Context, token *Token, name string) (bool, error)
// Linked queues for lambda
Linked(ctx context.Context, token *Token, lambda string) ([]application.Queue, error)
// List of all queues
List(ctx context.Context, token *Token) ([]application.Queue, error)
// Assign lambda to queue (re-link)
Assign(ctx context.Context, token *Token, name string, lambda string) (bool, error)
}
API for managing queues
type TemplateStatus ¶
type Token ¶
type Token struct {
Login string `json:"-"` // parsed by validator
Data string `json:"-"` // raw JWT
}
JWT wrapper , should be unmarshalled from string
func (*Token) MarshalJSON ¶
func (*Token) UnmarshalJSON ¶
type UserAPI ¶
type UserAPI interface {
// Login user by username and password. Returns signed JWT
Login(ctx context.Context, login, password string) (*Token, error)
// Change password for the user
ChangePassword(ctx context.Context, token *Token, password string) (bool, error)
}
User/admin profile API
Click to show internal directories.
Click to hide internal directories.