package com.bocloud.ims.entity.enums;

public enum OsType {
    LINUX_CENTOS("CentOS"),
    LINUX_SUSE("SUSE Linux"),
    LINUX_ORACLE("Oracle Linux"),
    L26("Linux 3.X/2.6 Kernel（32位）"),
    L2664("Linux 3.X/2.6 Kernel（64位）"),
    L24("Linux 2.4 Kernel（32位）"),
    L2464("Linux 2.4 Kernel（64位）"),
    LINUX_FREEBSD("FreeBSD"),
    LINUX_REDFLAG("红旗Linux"),
    LINUX_NEOKYLIN("中标麒麟"),
    LINUX_NEOSHINE("中标普华Linux"),
    LINUX_DEEPIN("深度Linux"),
    LINUX_UBUNTU("Ubuntu"),
    LINUX_DEBIAN("Debian GNU/Linux"),
    LINUX_REDHAT("Red Hat Enterprise Linux"),
    LINUX_SOLARIS("Solaris"),
    LINUX_FEDORA("Fedora"),
    LINUX_KYLINOS("银河麒麟"),
    LINUX_ARM("Linux ARM"),
    WS1964("Windows Server 2019（64位）"),
    WS1664("Windows Server 2016（64位）"),
    WS1264("Windows Server 2012（64位）"),
    WS08("Windows Server 2008（32位）"),
    WS0864("Windows Server 2008（64位）"),
    WS03("Windows Server 2003（32位）"),
    WS0364("Windows Server 2003（64位）"),
    WIN10("Microsoft Windows 10（32位）"),
    WIN1064("Microsoft Windows 10（64位）"),
    WIN8("Microsoft Windows 8（32位）"),
    WIN864("Microsoft Windows 8（64位）"),
    WIN7("Microsoft Windows 7（32位）"),
    WIN764("Microsoft Windows 7（64位）"),
    WXP("Microsoft Windows XP（32位）"),
    WXP64("Microsoft Windows XP（64位）"),
    W2K("Microsoft Windows 2000"),
    OTHER("32位系统"),
    OTHER64("64位系统");
    // 添加其他操作系统的枚举值和对应的名称





    private String systemName;

    OsType(String systemName) {
        this.systemName = systemName;
    }

    public String getSystemName() {
        return systemName;
    }

    public static OsType fromValue(String value) {
        if (value.contains("-")){
            value = value.replace("-","_");
        }
        for (OsType os : OsType.values()) {
            if (os.name().equalsIgnoreCase(value)) {
                return os;
            }
        }
        return null;
    }
    }
