in cmd/resource/eks_handlers.go [94:119]
func deleteCluster(svc eksiface.EKSAPI, model *Model, callback bool) handler.ProgressEvent {
if !callback {
input := &eks.DescribeClusterInput{Name: model.Name}
_, err := svc.DescribeCluster(input)
if err != nil {
return errorEvent(model, err)
}
}
_, complete, status, err := stabilize(svc, model, "DELETED")
if complete {
return successEvent(nil)
}
if status == "ACTIVE" || status == "FAILED" || status == "CREATING" {
_, deleteErr := svc.DeleteCluster(&eks.DeleteClusterInput{Name: model.Name})
if deleteErr != nil {
if strings.Contains(deleteErr.Error(), "Cannot delete because cluster ") && strings.Contains(deleteErr.Error(), " in progress") {
return inProgressEvent(model, DeleteClusterStage)
}
return errorEvent(model, deleteErr)
}
}
if err != nil {
return errorEvent(model, err)
}
return inProgressEvent(model, DeleteClusterStage)
}