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()