package cd.casic.module.terminal.service;


import cd.casic.module.machine.dal.dataobject.MachineInfoDO;
import cd.casic.module.terminal.controller.dto.TerminalConnectDTO;

/**
 * 主机连接服务
 *
 * @author Jiahang Li
 * @version 1.0.0
 * @since 2024/10/12 23:54
 */
public interface HostConnectService {

    /**
     * 获取 SSH 连接信息
     *
     * @param hostId hostId
     * @return session
     */
    TerminalConnectDTO getSshConnectInfo(Long hostId);

    /**
     * 使用用户配置获取 SSH 连接信息
     *
     * @param hostId hostId
     * @param userId userId
     * @return session
     */
    TerminalConnectDTO getSshConnectInfo(Long hostId, Long userId);

    /**
     * 使用用户配置获取 SSH 连接信息
     *
     * @param host   host
     * @param userId userId
     * @return session
     */
    TerminalConnectDTO getSshConnectInfo(MachineInfoDO host, Long userId);

}
