github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/certs/rm.go (about) 1 package certs 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/Sirupsen/logrus" 8 "github.com/daticahealth/cli/commands/services" 9 "github.com/daticahealth/cli/config" 10 ) 11 12 func CmdRm(name string, ic ICerts, is services.IServices, downStream string) error { 13 if strings.ContainsAny(name, config.InvalidChars) { 14 return fmt.Errorf("Invalid cert name. Names must not contain the following characters: %s", config.InvalidChars) 15 } 16 service, err := is.RetrieveByLabel(downStream) 17 if err != nil { 18 return err 19 } 20 err = ic.Rm(name, service.ID) 21 if err != nil { 22 return err 23 } 24 logrus.Printf("Removed '%s'", name) 25 return nil 26 } 27 28 func (c *SCerts) Rm(name, svcID string) error { 29 headers := c.Settings.HTTPManager.GetHeaders(c.Settings.SessionToken, c.Settings.Version, c.Settings.Pod, c.Settings.UsersID) 30 resp, statusCode, err := c.Settings.HTTPManager.Delete(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/certs/%s", c.Settings.PaasHost, c.Settings.PaasHostVersion, c.Settings.EnvironmentID, svcID, name), headers) 31 if err != nil { 32 return err 33 } 34 return c.Settings.HTTPManager.ConvertResp(resp, statusCode, nil) 35 }