61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Watcher.Models;
|
|
|
|
public class Server
|
|
{
|
|
// System Infos
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
public required string Name { get; set; }
|
|
|
|
public required string IPAddress { get; set; }
|
|
|
|
public required string Type { get; set; }
|
|
|
|
public string? Description { get; set; } = String.Empty;
|
|
|
|
|
|
// Hardware Infos
|
|
public string? CpuType { get; set; } = string.Empty;
|
|
public int CpuCores { get; set; } = 0;
|
|
public string? GpuType { get; set; } = string.Empty;
|
|
public double RamSize { get; set; } = 0;
|
|
public string? DiskSpace { get; set; } = string.Empty;
|
|
|
|
|
|
// Hardware Measurment Warning/Crit Values
|
|
public double CpuLoadWarning { get; set; } = 75.0;
|
|
public double CpuLoadCritical { get; set; } = 90.0;
|
|
public double CpuTempWarning { get; set; } = 80.0;
|
|
public double CpuTempCritical { get; set; } = 90.0;
|
|
|
|
public double RamLoadWarning { get; set; } = 85.0;
|
|
public double RamLoadCritical { get; set; } = 95.0;
|
|
|
|
public double GpuLoadWarning { get; set; } = 75.0;
|
|
public double GpuLoadCritical { get; set; } = 90.0;
|
|
public double GpuTempWarning { get; set; } = 70.0;
|
|
public double GpuTempCritical { get; set; } = 80.0;
|
|
|
|
public double DiskUsageWarning { get; set; } = 75.0;
|
|
public double DiskUsageCritical { get; set; } = 90.0;
|
|
public double DiskTempWarning { get; set; } = 34.0;
|
|
public double DiskTempCritical { get; set; } = 36.0;
|
|
|
|
|
|
// Database
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
public bool IsOnline { get; set; } = false;
|
|
|
|
public DateTime LastSeen { get; set; }
|
|
|
|
public bool IsVerified { get; set; } = false;
|
|
|
|
}
|