public static getOsName()

in desktop/src/app/utils/pool-utils.ts [146:183]


    public static getOsName(pool: Pool): string {
        if (pool.cloudServiceConfiguration) {
            const osFamily = pool.cloudServiceConfiguration.osFamily;
            if (osFamily === CloudServiceOsFamily.windowsServer2008R2) {
                return "Windows Server 2008 R2 SP1";
            } else if (osFamily === CloudServiceOsFamily.windowsServer2012) {
                return "Windows Server 2012";
            } else if (osFamily === CloudServiceOsFamily.windowsServer2012R2) {
                return "Windows Server 2012 R2";
            } else if (osFamily === CloudServiceOsFamily.windowsServer2016) {
                return "Windows Server 2016";
            } else {
                return "Windows Server 2019";
            }
        }

        if (pool.virtualMachineConfiguration) {
            const config = pool.virtualMachineConfiguration;
            if (!config.imageReference) {
                return "Unknown";
            }

            if (config.imageReference.virtualMachineImageId) {
                const osType = this.getOsType(pool);
                return `Custom image (${osType})`;
            }

            if (config.imageReference.publisher === "MicrosoftWindowsServer") {
                return `Windows Server ${pool.virtualMachineConfiguration.imageReference.sku}`;
            }

            const { offer, sku } = pool.virtualMachineConfiguration.imageReference;

            return `${offer} ${sku}`;
        }

        return "Unknown";
    }