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  }