package infra

// SSHConfigEntry representa un bloque Host en ~/.ssh/config.
type SSHConfigEntry struct {
	Alias        string            // Nombre del host (lo que va despues de "Host")
	HostName     string            // IP o hostname real del servidor
	User         string            // Usuario remoto
	Port         int               // Puerto SSH (0 = no especificado, usa default 22)
	IdentityFile string            // Ruta a clave privada
	Options      map[string]string // Opciones SSH adicionales (ForwardAgent, ProxyJump, etc.)
}

// ToSSHConn convierte un SSHConfigEntry a SSHConn para usar con las funciones SSH del registry.
func (e SSHConfigEntry) ToSSHConn() SSHConn {
	return SSHConn{
		Host:    e.HostName,
		Port:    e.Port,
		User:    e.User,
		KeyPath: e.IdentityFile,
	}
}
