package cn.reghao.devops.mgr.machine.service;

import cn.reghao.devops.common.msg.constant.NodeStatus;
import cn.reghao.devops.common.msg.event.EvtAgentHeartbeat;
import cn.reghao.devops.common.msg.event.EvtAgentStart;
import cn.reghao.devops.mgr.machine.model.po.SshAuth;
import cn.reghao.jutil.jdk.result.Result;

import java.util.List;

/**
 * @author reghao
 * @date 2019-11-15 08:48:04
 */
public interface MachineService {
    void addOrUpdateMachine(EvtAgentStart evtAgentStart);
    void updateMachine(EvtAgentHeartbeat evtAgentHeartbeat);
    void setMachineEnv(String machineId, String env);
    void setMachineSshAuth(String machineId, SshAuth sshAuth);
    Result setMachinesDeprecate(List<String> machineIds);
    Result deleteMachine(String machineId);
    void setAgentStatus(String machineId, NodeStatus nodeStatus);
    void shutdown();
}
