Source code for beaker.data_model.node

from datetime import datetime
from typing import Optional, Tuple

from .base import BaseModel

__all__ = ["NodeResources", "Node", "NodeUtilization"]


[docs]class NodeResources(BaseModel): cpu_count: Optional[float] = None memory: Optional[str] = None gpu_count: Optional[int] = None gpu_type: Optional[str] = None gpu_ids: Optional[Tuple[str, ...]] = None
[docs]class Node(BaseModel): id: str hostname: str created: datetime limits: NodeResources expiry: Optional[datetime] = None cordoned: Optional[datetime] = None cordon_reason: Optional[str] = None cordon_agent_id: Optional[str] = None cluster_id: Optional[str] = None account_id: Optional[str] = None
[docs]class NodeUtilization(BaseModel): id: str hostname: str limits: NodeResources running_jobs: int running_preemptible_jobs: int used: NodeResources free: NodeResources cordoned: bool = False