package com.usky.sas.service.vo;

import lombok.Data;

/**
 * 系统资源信息响应
 */
@Data
public class SystemResourceResponse {

    /** CPU信息 */
    private CpuInfo cpu;

    /** 内存信息 */
    private MemoryInfo memory;

    /** 磁盘信息 */
    private DiskInfo disk;

    /** Agbox/MetaBus信息 */
    private AgboxInfo agboxMetaBus;

    @Data
    public static class CpuInfo {
        /** CPU核心数 */
        private Integer coreCount;
        /** CPU使用率 */
        private String usageRate;
    }

    @Data
    public static class MemoryInfo {
        /** 总内存大小 */
        private String totalSize;
        /** 已使用内存大小 */
        private String usedSize;
        /** 空闲内存大小 */
        private String freeSize;
        /** 内存使用率 */
        private String usageRate;
    }

    @Data
    public static class DiskInfo {
        /** 总磁盘大小 */
        private String totalSize;
        /** 已使用磁盘大小 */
        private String usedSize;
        /** 空闲磁盘大小 */
        private String freeSize;
        /** 磁盘使用率 */
        private String usageRate;
    }

    @Data
    public static class AgboxInfo {
        /** 主机地址 */
        private String host;
        /** 端口 */
        private String port;
        /** 状态 */
        private boolean status;
        /** 事件监听状态 */
        private boolean eventListenStatus;
    }
}
