github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/images/targets/delete.go (about) 1 package targets 2 3 import ( 4 "fmt" 5 6 "github.com/Sirupsen/logrus" 7 "github.com/daticahealth/cli/commands/environments" 8 "github.com/daticahealth/cli/lib/images" 9 "github.com/daticahealth/cli/lib/prompts" 10 "github.com/daticahealth/cli/models" 11 ) 12 13 func cmdTargetsDelete(envID, imageName string, user *models.User, ie environments.IEnvironments, ii images.IImages, ip prompts.IPrompts) error { 14 env, err := ie.Retrieve(envID) 15 if err != nil { 16 return err 17 } 18 var targetList []string 19 repositoryName, tag, err := ii.GetGloballyUniqueNamespace(imageName, env, true) 20 if err != nil { 21 return err 22 } 23 repo := ii.GetNotaryRepository(env.Pod, repositoryName, user) 24 if tag == "" { 25 if err := ip.YesNo("No tag specified", fmt.Sprintf("Would you like to delete trust data for all targets in %s? (y/n) ", repositoryName)); err != nil { 26 return nil 27 } 28 29 targets, err := ii.ListTargets(repo) 30 if err != nil { 31 return err 32 } 33 for _, target := range targets { 34 targetList = append(targetList, target.Name) 35 } 36 } else { 37 targetList = []string{tag} 38 } 39 40 if err := ii.CheckChangelist(repo, ip); err != nil { 41 return err 42 } 43 if err := ii.DeleteTargets(repo, targetList, true); err != nil { 44 return err 45 } 46 logrus.Printf("\nSuccessfully deleted signed targets for %s\n", repositoryName) 47 return nil 48 }