85 lines
2.1 KiB
Python
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) |