api.v1.ufw

class api.v1.ufw.RuleNumbers(*, numbers: List[int])[source]

Bases: BaseModel

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

numbers: List[int]
async api.v1.ufw.add_ufw_in_rules(rules: List[UFWRule])[source]

Добавляет входящие (in) правила UFW.

Args:
rules (List[UFWRule]): Список правил, определяющих направления,

порты/диапазоны/протоколы и действия (allow/deny/reject).

Returns:

dict: Итог выполнения с количеством успешно добавленных правил и деталями по каждому правилу.

Raises:

HTTPException: Если UFW отключен (status_code=400) или при внутренних ошибках (status_code=500).

async api.v1.ufw.add_ufw_out_rules(rules: List[UFWRule])[source]

Добавляет исходящие (out) правила UFW.

Args:

rules (List[UFWRule]): Список правил исходящего трафика для добавления.

Returns:

dict: Объект статуса с сообщением об успешном добавлении.

Raises:

HTTPException: Если UFW отключен (status_code=400) или при внутренних ошибках (status_code=500).

async api.v1.ufw.delete_ufw_rules(rule_numbers: RuleNumbers)[source]

Удаляет правила UFW по их номерам.

Args:
rule_numbers (RuleNumbers): Номера правил, подлежащих удалению (как в

выводе ufw status numbered).

Returns:

dict: Информация об общем количестве удаляемых правил, числе успешных и возможной ошибке.

Raises:

HTTPException: При ошибках удаления (status_code=500).

async api.v1.ufw.disable_ufw()[source]

Выключает UFW.

Returns:

dict: Словарь с ключами status и message при успешном выполнении.

Raises:

HTTPException: Если выключение завершилось неуспешно (status_code=500).

async api.v1.ufw.enable_ufw()[source]

Включает UFW.

Returns:

dict: Словарь с ключами status и message при успешном выполнении.

Raises:

HTTPException: Если включение завершилось неуспешно (status_code=500).

async api.v1.ufw.get_ufw_rules()[source]

Возвращает все правила UFW.

Осуществляет обращение к сервису UFWService для чтения текущего списка правил брандмауэра и возвращает результат в сериализованном виде для клиента.

Returns:

UFWRulesResponse: Структура с коллекцией правил и сопутствующей информацией о состоянии.

Raises:

HTTPException: В случае ошибок взаимодействия с UFW (status_code=500).

async api.v1.ufw.get_ufw_status()[source]

Возвращает текущий статус UFW.

Returns:

UFWStatus: Объект со сведениями о включенности UFW и деталями статуса.

Raises:

HTTPException: Если не удалось получить статус (status_code=500).