85 lines
2.1 KiB
Python

from enum import Enum
from typing import List, Optional
from uuid import UUID
from pydantic import UUID4, BaseModel, Field
class LifeCycle(BaseModel):
class EventType(Enum):
DEFINED_UPDATED = 0
DEFINED_RENAMED = 1
DEFINED_FROM_SNAPSHOT = 2
DEFINED_LAST = 3
UNDEFINED_REMOVED = 10
UNDEFINED_RENAMED = 11
UNDEFINED_LAST = 12
STARTED_BOOTED = 20
STARTED_MIGRATED = 21
STARTED_RESTORED = 22
STARTED_FROM_SNAPSHOT = 23
STARTED_WAKEUP = 24
STARTED_LAST = 25
SUSPENDED_PAUSED = 30
SUSPENDED_MIGRATED = 31
SUSPENDED_IOERROR = 32
SUSPENDED_WATCHDOG = 33
SUSPENDED_RESTORED = 34
SUSPENDED_FROM_SNAPSHOT = 35
SUSPENDED_API_ERROR = 36
SUSPENDED_POSTCOPY = 37
SUSPENDED_POSTCOPY_FAILED = 38
SUSPENDED_LAST = 39
RESUMED_UNPAUSED = 40
RESUMED_MIGRATED = 41
RESUMED_FROM_SNAPSHOT = 42
RESUMED_POSTCOPY = 43
RESUMED_POSTCOPY_FAILED = 44
RESUMED_LAST = 45
STOPPED_SHUTDOWN = 50
STOPPED_DESTROYED = 51
STOPPED_CRASHED = 52
STOPPED_MIGRATED = 53
STOPPED_SAVED = 54
STOPPED_FAILED = 55
STOPPED_FROM_SNAPSHOT = 56
STOPPED_LAST = 57
SHUTDOWN_FINISHED = 60
SHUTDOWN_GUEST = 61
SHUTDOWN_HOST = 62
SHUTDOWN_LAST = 63
PMSUSPENDED_MEMORY = 70
PMSUSPENDED_DISK = 71
PMSUSPENDED_LAST = 72
CRASHED_PANICKED = 80
CRASHED_CRASHLOADED = 81
CRASHED_LAST = 82
LAST = 90
REBOOT = 100
company_id:UUID4 = Field()
vm_id:UUID = Field()
action:EventType = Field()
class GraphicsAddr(BaseModel):
family:int = Field()
node:str = Field()
service:int = Field()
class Graphics(BaseModel):
company_id:UUID4 = Field()
vm_id:UUID = Field()
phase:int = Field()
localAddr:GraphicsAddr = Field()
remoteAddr:GraphicsAddr = Field()
authScheme:Optional[str] = Field(default=None)
subject:Optional[List] = Field(default=None)