# generated by datamodel-codegen:
#   filename:  memory.json

from __future__ import annotations

from typing import Optional

from pydantic import BaseModel, Extra, Field


class LastUpdated(BaseModel):
    """
    Last updated
    """

    class Config:
        extra = Extra.allow

    swap_total: Optional[float] = None
    swap_used: Optional[float] = None
    swap_free: Optional[float] = None
    swap_percent: Optional[float] = None
    swap_sin: Optional[float] = None
    swap_sout: Optional[float] = None
    virtual_total: Optional[float] = None
    virtual_available: Optional[float] = None
    virtual_percent: Optional[float] = None
    virtual_used: Optional[float] = None
    virtual_free: Optional[float] = None


class Memory(BaseModel):
    """
    Memory
    """

    class Config:
        extra = Extra.allow

    id: Optional[str] = Field(None, description="Event ID")
    swap_total: Optional[int] = None
    swap_used: Optional[int] = None
    swap_free: Optional[float] = None
    swap_percent: Optional[float] = None
    swap_sin: Optional[int] = None
    swap_sout: Optional[int] = None
    virtual_total: Optional[int] = None
    virtual_available: Optional[int] = None
    virtual_percent: Optional[float] = None
    virtual_used: Optional[int] = None
    virtual_free: Optional[int] = None
    last_updated: Optional[LastUpdated] = Field(None, description="Last updated")
