from pydantic import BaseModel from typing import Optional from enum import Enum class DatasetType(str, Enum): FILESYSTEM = "filesystem" VOLUME = "volume" SNAPSHOT = "snapshot" class Dataset(BaseModel): name: str type: DatasetType used: int # bytes avail: int # bytes refer: int # bytes (how much data is actually in dataset) mountpoint: Optional[str] = None compression: Optional[str] = None quota: Optional[int] = None reservation: Optional[int] = None class Config: json_schema_extra = { "example": { "name": "tank/share", "type": "filesystem", "used": 2040109465, "avail": 1825361511, "refer": 1900000000, "mountpoint": "/tank/share", "compression": "lz4", "quota": None, "reservation": None } }