in pkg/provider/eks/eks.go [327:346]
func (c *EKS) clusterRunning(name string) (bool, error) {
req := &eks.DescribeClusterInput{
Name: aws.String(name),
}
clusterRes, err := c.clientEKS.DescribeCluster(req)
if err != nil {
if aerr, ok := err.(awserr.Error); ok && aerr.Code() == eks.ErrCodeNotFoundException {
return false, nil
}
return false, fmt.Errorf("Couldn't get cluster status: %v", err)
}
if *clusterRes.Cluster.Status == eks.ClusterStatusFailed {
return false, fmt.Errorf("Cluster not in a status to become ready - %s", *clusterRes.Cluster.Status)
}
if *clusterRes.Cluster.Status == eks.ClusterStatusActive {
return true, nil
}
log.Printf("Cluster '%v' status: %v", name, *clusterRes.Cluster.Status)
return false, nil
}