package com.qqchen.deploy.backend.framework.ssh.websocket;

import com.qqchen.deploy.backend.framework.enums.AuthTypeEnum;
import com.qqchen.deploy.backend.framework.enums.OsTypeEnum;
import com.qqchen.deploy.backend.framework.enums.SSHTargetType;
import lombok.Data;

/**
 * SSH连接目标信息（Framework层）
 */
@Data
public class SSHTarget {
    
    /**
     * 目标类型
     */
    private SSHTargetType targetType;
    
    /**
     * 主机IP
     */
    private String host;
    
    /**
     * SSH端口
     */
    private Integer port;
    
    /**
     * SSH用户名
     */
    private String username;
    
    /**
     * 认证方式
     */
    private AuthTypeEnum authType;
    
    /**
     * 密码（密码认证时使用）
     */
    private String password;
    
    /**
     * 私钥（密钥认证时使用）
     */
    private String privateKey;
    
    /**
     * 私钥密码短语（密钥认证时可选）
     */
    private String passphrase;
    
    /**
     * 操作系统类型（用于选择SSH服务）
     */
    private OsTypeEnum osType;
    
    /**
     * 业务自定义元数据（如serverId、podId等）
     */
    private Object metadata;
}
