Распаковал архив Proxmox-VPS-Panel.rar и добавил содержимое в репозиторий
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional, Optional
|
||||
|
||||
from pydantic import BaseModel, EmailStr
|
||||
|
||||
from .models import Role, GuestType, InstanceStatus
|
||||
|
||||
|
||||
# ---------- Auth ----------
|
||||
class UserCreate(BaseModel):
|
||||
email: EmailStr
|
||||
password: str
|
||||
|
||||
|
||||
class UserLogin(BaseModel):
|
||||
email: EmailStr
|
||||
password: str
|
||||
|
||||
|
||||
class UserOut(BaseModel):
|
||||
id: int
|
||||
email: EmailStr
|
||||
role: Role
|
||||
is_active: bool
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class Token(BaseModel):
|
||||
access_token: str
|
||||
token_type: str = "bearer"
|
||||
|
||||
|
||||
# ---------- Templates ----------
|
||||
class TemplateCreate(BaseModel):
|
||||
name: str
|
||||
description: str = ""
|
||||
guest_type: GuestType
|
||||
source_vmid: Optional[int] = None
|
||||
source_template: Optional[str] = None
|
||||
cores: int = 1
|
||||
memory_mb: int = 1024
|
||||
disk_gb: int = 10
|
||||
|
||||
|
||||
class TemplateOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
description: str
|
||||
guest_type: GuestType
|
||||
cores: int
|
||||
memory_mb: int
|
||||
disk_gb: int
|
||||
is_active: bool
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# ---------- Instances ----------
|
||||
class InstanceCreate(BaseModel):
|
||||
ciuser: str = ""
|
||||
cipassword: str = ""
|
||||
name: str
|
||||
template_id: int
|
||||
|
||||
|
||||
class InstanceOut(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
vmid: int
|
||||
node: str
|
||||
guest_type: GuestType
|
||||
status: InstanceStatus
|
||||
template_id: int
|
||||
template: Optional["TemplateOut"] = None
|
||||
owner_id: int
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class InstanceCreatedOut(InstanceOut):
|
||||
root_password: Optional[str] = None
|
||||
|
||||
|
||||
class InstanceAction(BaseModel):
|
||||
action: str # start | stop | reboot | shutdown
|
||||
Reference in New Issue
Block a user