models.ufw¶
- class models.ufw.Action(*values)[source]
Bases:
str,EnumEnum для действий UFW.
- ALLOW
Разрешить трафик
- DENY
Запретить трафик без уведомления
- REJECT
Запретить трафик с уведомлением отправителю
- ALLOW = 'allow'
- DENY = 'deny'
- REJECT = 'reject'
- class models.ufw.Direction(*values)[source]
Bases:
str,EnumEnum для направления трафика UFW.
- IN
Входящий трафик
- OUT
Исходящий трафик
- IN = 'in'
- OUT = 'out'
- class models.ufw.Protocol(*values)[source]
Bases:
str,EnumEnum для сетевых протоколов UFW.
- BOTH = 'both'
- TCP = 'tcp'
- UDP = 'udp'
- property protocols: List[str]
Возвращает список протоколов для использования в команде UFW.
- class models.ufw.UFWRule(*, action: Action, direction: Direction, from_ip: str, to_ip: str, port: int | str, protocol: Protocol, comment: str | None = None)[source]
Bases:
BaseModelМодель правила UFW
- action: Action
- comment: str | None
- direction: Direction
- from_ip: str
- classmethod from_ufw_output(line: str) UFWRule[source]
Создает экземпляр UFWRule из строки вывода команды ‘ufw status numbered’.
- Parameters:
line – Строка вывода UFW (например, “[1] 80/tcp ALLOW IN 192.168.1.0/24 # Web Server”)
- Returns:
Новый экземпляр правила
- Return type:
UFWRule
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- port: int | str
- protocol: Protocol
- to_ip: str
- to_ufw_command() str[source]
Преобразует правило в команду UFW.
- classmethod validate_action(v)[source]
Приводит значение action к нижнему регистру перед валидацией
- classmethod validate_ip(v)[source]
Проверяет корректность IP адреса
- classmethod validate_ip_version_compatibility(v, values)[source]
Проверяет совместимость версий IP адресов
- classmethod validate_port(v)[source]
Проверяет корректность порта или диапазона портов.
- Parameters:
v – Порт (число) или диапазон портов (строка вида “3000:3999”)
- Returns:
Валидированное значение порта
- Return type:
Union[int, str]
- Raises:
ValueError – Если порт или диапазон портов некорректен
- classmethod validate_protocol(v)[source]
Приводит значение protocol к нижнему регистру перед валидацией
- class models.ufw.UFWRulesResponse(*, enabled: bool, rules: ~typing.List[~models.ufw.UFWRule] = <factory>)[source]
Bases:
BaseModelМодель для представления списка правил UFW.
- enabled
Включен ли UFW
- Type:
bool
- rules
Список правил UFW
- Type:
List[models.ufw.UFWRule]
- total_rules
Общее количество правил
- enabled: bool
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- rules: List[UFWRule]
- property total_rules: int
Возвращает общее количество правил.
- class models.ufw.UFWStatus(*, enabled: bool, message: str)[source]
Bases:
BaseModelМодель для представления статуса UFW.
- enabled
Включен ли UFW
- Type:
bool
- message
Сообщение о статусе
- Type:
str
- last_checked
Время последней проверки статуса
- enabled: bool
- message: str
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].