1
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
Linux BenchTools - Hardware Schemas
|
||||
"""
|
||||
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Optional, List
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ class Partition(BaseModel):
|
||||
fs_type: Optional[str] = None
|
||||
used_gb: Optional[float] = None
|
||||
total_gb: Optional[float] = None
|
||||
free_gb: Optional[float] = None
|
||||
|
||||
|
||||
class StorageInfo(BaseModel):
|
||||
@@ -89,6 +90,7 @@ class NetworkInterface(BaseModel):
|
||||
ip: Optional[str] = None
|
||||
speed_mbps: Optional[int] = None
|
||||
driver: Optional[str] = None
|
||||
ssid: Optional[str] = None
|
||||
wake_on_lan: Optional[bool] = None
|
||||
|
||||
|
||||
@@ -97,6 +99,18 @@ class NetworkInfo(BaseModel):
|
||||
interfaces: Optional[List[NetworkInterface]] = None
|
||||
|
||||
|
||||
class NetworkShare(BaseModel):
|
||||
"""Mounted network share information"""
|
||||
protocol: Optional[str] = None
|
||||
source: Optional[str] = None
|
||||
mount_point: Optional[str] = None
|
||||
fs_type: Optional[str] = None
|
||||
options: Optional[str] = None
|
||||
total_gb: Optional[float] = None
|
||||
used_gb: Optional[float] = None
|
||||
free_gb: Optional[float] = None
|
||||
|
||||
|
||||
class MotherboardInfo(BaseModel):
|
||||
"""Motherboard information schema"""
|
||||
vendor: Optional[str] = None
|
||||
@@ -113,6 +127,34 @@ class OSInfo(BaseModel):
|
||||
kernel_version: Optional[str] = None
|
||||
architecture: Optional[str] = None
|
||||
virtualization_type: Optional[str] = None
|
||||
hostname: Optional[str] = None
|
||||
desktop_environment: Optional[str] = None
|
||||
session_type: Optional[str] = None
|
||||
display_server: Optional[str] = None
|
||||
screen_resolution: Optional[str] = None
|
||||
last_boot_time: Optional[str] = None
|
||||
uptime_seconds: Optional[int] = None
|
||||
battery_percentage: Optional[float] = None
|
||||
battery_status: Optional[str] = None
|
||||
battery_health: Optional[str] = None
|
||||
|
||||
|
||||
class PCIDevice(BaseModel):
|
||||
"""PCI device information"""
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
slot: str
|
||||
class_: Optional[str] = Field(default=None, alias="class")
|
||||
vendor: Optional[str] = None
|
||||
device: Optional[str] = None
|
||||
|
||||
|
||||
class USBDevice(BaseModel):
|
||||
"""USB device information"""
|
||||
bus: str
|
||||
device: str
|
||||
vendor_id: Optional[str] = None
|
||||
product_id: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
|
||||
|
||||
class SensorsInfo(BaseModel):
|
||||
@@ -135,10 +177,13 @@ class HardwareData(BaseModel):
|
||||
gpu: Optional[GPUInfo] = None
|
||||
storage: Optional[StorageInfo] = None
|
||||
network: Optional[NetworkInfo] = None
|
||||
network_shares: Optional[List[NetworkShare]] = None
|
||||
motherboard: Optional[MotherboardInfo] = None
|
||||
os: Optional[OSInfo] = None
|
||||
sensors: Optional[SensorsInfo] = None
|
||||
raw_info: Optional[RawInfo] = None
|
||||
pci_devices: Optional[List[PCIDevice]] = None
|
||||
usb_devices: Optional[List[USBDevice]] = None
|
||||
|
||||
|
||||
class HardwareSnapshotResponse(BaseModel):
|
||||
@@ -157,6 +202,9 @@ class HardwareSnapshotResponse(BaseModel):
|
||||
|
||||
# RAM
|
||||
ram_total_mb: Optional[int] = None
|
||||
ram_used_mb: Optional[int] = None
|
||||
ram_free_mb: Optional[int] = None
|
||||
ram_shared_mb: Optional[int] = None
|
||||
ram_slots_total: Optional[int] = None
|
||||
ram_slots_used: Optional[int] = None
|
||||
|
||||
@@ -167,18 +215,37 @@ class HardwareSnapshotResponse(BaseModel):
|
||||
# Storage
|
||||
storage_summary: Optional[str] = None
|
||||
storage_devices_json: Optional[str] = None
|
||||
partitions_json: Optional[str] = None
|
||||
|
||||
# Network
|
||||
network_interfaces_json: Optional[str] = None
|
||||
network_shares_json: Optional[str] = None
|
||||
|
||||
# OS / Motherboard
|
||||
# OS / Motherboard / BIOS
|
||||
os_name: Optional[str] = None
|
||||
os_version: Optional[str] = None
|
||||
kernel_version: Optional[str] = None
|
||||
architecture: Optional[str] = None
|
||||
virtualization_type: Optional[str] = None
|
||||
hostname: Optional[str] = None
|
||||
desktop_environment: Optional[str] = None
|
||||
screen_resolution: Optional[str] = None
|
||||
display_server: Optional[str] = None
|
||||
session_type: Optional[str] = None
|
||||
last_boot_time: Optional[str] = None
|
||||
uptime_seconds: Optional[int] = None
|
||||
battery_percentage: Optional[float] = None
|
||||
battery_status: Optional[str] = None
|
||||
battery_health: Optional[str] = None
|
||||
motherboard_vendor: Optional[str] = None
|
||||
motherboard_model: Optional[str] = None
|
||||
bios_vendor: Optional[str] = None
|
||||
bios_version: Optional[str] = None
|
||||
bios_date: Optional[str] = None
|
||||
|
||||
# PCI and USB Devices
|
||||
pci_devices_json: Optional[str] = None
|
||||
usb_devices_json: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user