PortForwardingRule

Правило перенаправление портов. Используется для того, чтобы по IP адресу по определённому порту попадать на порт сервера для которого настроено перенаправление. Указывается порт устройства с которого должны быть доступны порты сервера, протокол для которого настраивается перенаправление, а также подключение сервера на которое будет осуществляться перенаправление. Такое перенаправление портов создаётся на отдельно зарезервированном публичном IP адресе esu.Port.create_fip()

Функционал создания такого перенаправления портов доступен только для ресурсного пула под управлением Openstack.

Объект «Правило перенаправления портов»

class esu.PortForwardingRule(*args, token: Optional[str] = None, **kwargs)[исходный код]
Параметры:
  • id (str) – Идентификатор правила перенаправления портов

  • port (object) – Объект класса esu.Port. Порт сервера до которого осуществляется перенаправление

  • internal_port (int) – Внутренний порт устройства, с которого осуществляется перенаправление

  • external_port (int) – Внешний порт устройства, на который осуществляется перенаправление

  • protocol (str) – Протокол по которому будет осуществляться перенаправление

  • token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN

Примечание

Управление перенаправлением портов создаваемом на порте возможно только в ресурсном пуле под управлением Openstack. Поля external_port, internal_port, protocol необходимы для создания.

classmethod get_object(port_forwarding, rule_id, token=None)[исходный код]

Получить объект маршрута на роутере по его ID

Параметры:
  • id (str) – Идентификатор маршрута на роутере

  • token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN

Результат:

Возвращает объект маршрута на роутере esu.RouterRoute

Тип результата:

object

create()[исходный код]

Создать объект

Исключение:

ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует

save()[исходный код]

Сохранить изменения

Исключение:

ObjectHasNoId – Если производится попытка сохранить несуществующий объект

destroy()[исходный код]

Удалить объект

Исключение:

ObjectHasNoId – Когда производится попытка удалить несуществующий объект

Примеры использования

Создать новое правило перенаправления портов:

from esu import Port, PortForwarding, PortForwardingRule

port_id = '954fd467-fd9a-4ce7-b4df-1e81e557bce9'
port = Port.get_object(port_id)
port_forwarding_id = '58385696-32c6-4a5c-bafe-895815eedf04'
port_forwarding = PortForwarding.get_object(port_forwarding_id)
p_f_rule = PortForwardingRule(port_forwarding=port_forwarding,
                              internal_port=80, external_port=80,
                              protocol="tcp", port=port)
p_f_rule.create()