func deleteCluster()

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)
}