github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/lib/images/delete-tag.go (about) 1 package images 2 3 import ( 4 "errors" 5 "fmt" 6 "net/url" 7 ) 8 9 // DeleteTag deletes a tag for an image. 10 func (d *SImages) DeleteTag(imageName, tagName string) error { 11 headers := d.Settings.HTTPManager.GetHeaders(d.Settings.SessionToken, d.Settings.Version, d.Settings.Pod, d.Settings.UsersID) 12 resp, statusCode, err := d.Settings.HTTPManager.Delete(nil, fmt.Sprintf("%s%s/environments/%s/images/%s/tags/%s", d.Settings.PaasHost, d.Settings.PaasHostVersion, d.Settings.EnvironmentID, url.PathEscape(url.PathEscape(imageName)), tagName), headers) 13 if err != nil { 14 return err 15 } 16 if statusCode >= 400 { 17 converted, convertErr := d.Settings.HTTPManager.ConvertError(resp, statusCode) 18 if convertErr != nil { 19 return convertErr 20 } 21 if converted.Code == 98005 { 22 return errors.New("Unable to delete tag - it is currently in use as a release by one or more services.") 23 } 24 } 25 return d.Settings.HTTPManager.ConvertResp(resp, statusCode, nil) 26 }