Files
vconnect-api/app/schemas/tunnel.py
2025-12-08 21:35:55 +09:00

45 lines
1.0 KiB
Python

from pydantic import BaseModel
from typing import Optional
from datetime import datetime
# 터널 생성 요청
class TunnelCreateRequest(BaseModel):
vm_id: int
node: str
vm_ip: Optional[str] = None # Guest Agent 없이 수동으로 IP 지정 가능
# 터널 생성 응답
class TunnelCreateResponse(BaseModel):
success: bool
message: str
session_id: str
tunnel_info: Optional['TunnelInfo'] = None
# 터널 정보
class TunnelInfo(BaseModel):
session_id: str
local_port: int
remote_host: str
remote_port: int
vm_id: int
vm_name: Optional[str] = None
rdp_username: Optional[str] = None
is_active: bool
created_at: Optional[datetime] = None
class Config:
from_attributes = True
# 터널 상태 응답
class TunnelStatusResponse(BaseModel):
session_id: str
is_active: bool
uptime_seconds: Optional[int] = None
created_at: datetime
# 터널 종료 응답
class TunnelCloseResponse(BaseModel):
success: bool
message: str
session_id: str