github.com/jenkins-x/jx/v2@v2.1.155/pkg/cloud/amazon/eksctl/eksctl_cli.go (about) 1 package eksctl 2 3 import ( 4 "os" 5 "os/exec" 6 7 "github.com/pkg/errors" 8 9 "github.com/jenkins-x/jx/v2/pkg/cluster" 10 ) 11 12 // eksctlClient is an abstraction of the eksctl CLI operations 13 type eksctlClient struct{} 14 15 // NewEksctlClient returns an abstraction of an eksctl client 16 func NewEksctlClient() eksctlClient { 17 return eksctlClient{} 18 } 19 20 // DeleteCluster performs an eksctl cluster deletion process 21 func (eksctlClient) DeleteCluster(cluster *cluster.Cluster) error { 22 cmd := exec.Command("eksctl", "delete", "cluster", "--name", cluster.Name) //nolint:gosec 23 cmd.Stdout = os.Stdout 24 cmd.Stderr = os.Stderr 25 26 err := cmd.Run() 27 if err != nil { 28 return errors.Wrap(err, "error deleting cluster executing eksctl delete cluster") 29 } 30 return nil 31 }