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  }