github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/lib/service/methods.go (about) 1 package serviceLib 2 3 import ( 4 structureSpec "github.com/taubyte/go-specs/structure" 5 ) 6 7 func New(service *structureSpec.Service) error { 8 return set(service, true) 9 } 10 11 func Set(service *structureSpec.Service) error { 12 return set(service, false) 13 } 14 15 func Delete(name string) error { 16 info, err := get(name) 17 if err != nil { 18 return err 19 } 20 21 return info.service.Delete() 22 } 23 24 func List() ([]string, error) { 25 _, _, services, err := list() 26 if err != nil { 27 return nil, err 28 } 29 30 return services, nil 31 } 32 33 func ListResources() ([]*structureSpec.Service, error) { 34 project, application, relative, err := list() 35 if err != nil { 36 return nil, err 37 } 38 39 services := make([]*structureSpec.Service, len(relative)) 40 for idx, name := range relative { 41 service, err := project.Service(name, application) 42 if err != nil { 43 return nil, err 44 } 45 46 services[idx], err = service.Get().Struct() 47 if err != nil { 48 return nil, err 49 } 50 } 51 52 return services, nil 53 }