package actions

import (
	"errors"
	"os/exec"
	"strings"
)

// ShouldRetryGcloudComputeSsh returns true for errors that are retryable for gcloud compute ssh commands.
//
// Errors containing the words "timed out", or with exit status 255 (ssh timeout) are considered retryable.
func ShouldRetryGcloudComputeSsh(err error) bool {
	if strings.Contains(err.Error(), "timed out") {
		return true
	}

	// Exit code 255 is standard for SSH failures. Other codes indicate gcloud CLI errors.
	if exitErr, ok := errors.AsType[*exec.ExitError](err); ok && exitErr.ExitCode() == 255 {
		return true
	}

	return false
}
