Add Update/List endpoints to runtime

This commit is contained in:
Asim Aslam 2019-10-29 12:29:21 +00:00
parent d89256d8d5
commit dab0f3223f
2 changed files with 34 additions and 0 deletions

View File

@ -252,6 +252,28 @@ func (r *runtime) Delete(s *Service) error {
return nil
}
func (r *runtime) Update(s *Service) error {
// delete the service
if err := r.Delete(s); err != nil {
return err
}
// create new service
return r.Create(s)
}
func (r *runtime) List() ([]*Service, error) {
var services []*Service
r.RLock()
defer r.RUnlock()
for _, service := range r.services {
services = append(services, service.Service)
}
return services, nil
}
func (r *runtime) Start() error {
r.Lock()
defer r.Unlock()

View File

@ -7,6 +7,10 @@ type Runtime interface {
Create(*Service, ...CreateOption) error
// Remove a service
Delete(*Service) error
// Update the service in place
Update(*Service) error
// List the managed services
List() ([]*Service, error)
// starts the runtime
Start() error
// Shutdown the runtime
@ -36,6 +40,14 @@ func Delete(s *Service) error {
return DefaultRuntime.Delete(s)
}
func Update(s *Service) error {
return DefaultRuntime.Update(s)
}
func List() ([]*Service, error) {
return DefaultRuntime.List()
}
func Start() error {
return DefaultRuntime.Start()
}