Версия 0.0.2
This commit is contained in:
commit
7b9c998224
530 changed files with 424916 additions and 0 deletions
70
SRV/models/network.py
Normal file
70
SRV/models/network.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
from typing import List, Optional, Union
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
# Класс для маршрутов IPv4
|
||||
class IPv4Route(BaseModel):
|
||||
destination: str
|
||||
prefix: int
|
||||
next_hop: str
|
||||
metric: int
|
||||
|
||||
# Класс для маршрутов IPv6
|
||||
class IPv6Route(BaseModel):
|
||||
destination: str
|
||||
prefix: int
|
||||
next_hop: str
|
||||
metric: int
|
||||
|
||||
# Класс для индивидуальной конфигурации IP
|
||||
class IndividualIPConfig(BaseModel):
|
||||
address: str
|
||||
routes: List[Union[IPv4Route, IPv6Route]]
|
||||
method: Optional[str]
|
||||
gateway: str
|
||||
dns: List[str]
|
||||
|
||||
# Класс для конфигурации IP
|
||||
class IPConfig(BaseModel):
|
||||
configurations: List[IndividualIPConfig]
|
||||
|
||||
# Класс для сетевого интерфейса
|
||||
class NetworkInterface(BaseModel):
|
||||
name: str
|
||||
type: str
|
||||
mac_address: str
|
||||
device_state: str
|
||||
active_connection: str
|
||||
device_mtu: str
|
||||
ipv4: IPConfig
|
||||
ipv6: IPConfig
|
||||
container_x: int = 0
|
||||
container_y: int = 0
|
||||
|
||||
# Класс для WiFi устройства
|
||||
class WiFiDevice(NetworkInterface):
|
||||
ssid: Optional[str] = None
|
||||
bssid: Optional[str] = None
|
||||
bitrate: Optional[int] = None
|
||||
strength: Optional[int] = None
|
||||
frequency: Optional[float] = None
|
||||
mode: Union[str, int] = None
|
||||
|
||||
class NetworkInterfacesContainer(BaseModel):
|
||||
interfaces: List[Union[NetworkInterface, WiFiDevice]]
|
||||
container_x: int
|
||||
container_y: int
|
||||
|
||||
class Activation(BaseModel):
|
||||
id: int
|
||||
interfaces: List[Union[NetworkInterface, WiFiDevice]]
|
||||
container_x: int
|
||||
container_y: int
|
||||
isOpen: bool = True
|
||||
|
||||
class Deactivation(BaseModel):
|
||||
id: int
|
||||
interfaces: List[Union[NetworkInterface, WiFiDevice]]
|
||||
container_x: int
|
||||
container_y: int
|
||||
isOpen: bool = True
|
||||
Loading…
Add table
Add a link
Reference in a new issue