github.com/kubeshop/testkube@v1.17.23/cmd/kubectl-testkube/commands/executors/delete.go (about) 1 package executors 2 3 import ( 4 "strings" 5 6 "github.com/spf13/cobra" 7 8 "github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common" 9 "github.com/kubeshop/testkube/pkg/ui" 10 ) 11 12 func NewDeleteExecutorCmd() *cobra.Command { 13 var name string 14 var selectors []string 15 16 cmd := &cobra.Command{ 17 Use: "executor [executorName]", 18 Short: "Delete Executor", 19 Long: `Delete Executor Resource, pass name to delete by name`, 20 Run: func(cmd *cobra.Command, args []string) { 21 client, _, err := common.GetClient(cmd) 22 ui.ExitOnError("getting client", err) 23 24 if len(args) > 0 { 25 name = args[0] 26 err := client.DeleteExecutor(name) 27 ui.ExitOnError("deleting executor: "+name, err) 28 ui.SuccessAndExit("Succesfully deleted executor", name) 29 } 30 31 if len(selectors) != 0 { 32 selector := strings.Join(selectors, ",") 33 err := client.DeleteExecutors(selector) 34 ui.ExitOnError("deleting executors by labels: "+selector, err) 35 ui.SuccessAndExit("Succesfully deleted executors by labels", selector) 36 } 37 38 ui.Failf("Pass Executor name or labels to delete by labels") 39 }, 40 } 41 42 cmd.Flags().StringVarP(&name, "name", "n", "", "unique executor name, you can also pass it as first argument") 43 cmd.Flags().StringSliceVarP(&selectors, "label", "l", nil, "label key value pair: --label key1=value1") 44 45 return cmd 46 }