Router
Маршрутизаторы управляют связностью приватных сетей с интернетом. Маршрутизатор может иметь собственный публичный адрес, тогда все виртуальные машины будут выходить в Интернет через этот IP-адрес, если на них не назначен собственный плавающий IP.
Объект «маршрутизатор»
- class esu.Router(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
Примечание
Поля
name
,ports
иvdc
необходимы для создания.Поле
floating
опционально при создании.Поля
name
иfloating
могут быть изменены для существующего объекта.- classmethod get_object(id, token=None)[исходный код]
Получить объект маршрутизатора по его ID
- Параметры:
id (str) – Идентификатор маршрутизатора
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект маршрутизатора
esu.Router
- Тип результата:
object
- create()[исходный код]
Создать объект
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- save()[исходный код]
Сохранить изменения
- Исключение:
ObjectHasNoId – Если производится попытка сохранить несуществующий объект
- destroy()[исходный код]
Удалить объект
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
- add_port(port)[исходный код]
Добавить подключение
- Параметры:
port (object) – Новый объект
esu.Port
- remove_port(port)[исходный код]
Удалить подключение
- Параметры:
port (object) – Существующий объект
esu.Port
Примеры использования
Создать новый маршрутизатор и подключить его к первой сети во ВЦОДе:
from esu import Vdc, Port, Router
vdc = Vdc.get_object('e5d9a192-c5da-485a-b134-1b14ec9c57d9')
network = vdc.get_networks()[0]
port = Port(network=network)
router = Router(vdc=vdc, name='Новый маршрутизатор', ports=[port])
router.create()
Подключить определенный маршрутизатор к существующей сети:
from esu import Router, Network, Port
router = Router.get_object('58385696-32c6-4a5c-bafe-895815eedf04')
network = Network.get_object('b9e6df93-0d04-4dac-a3c1-1a8539b8e445')
Port(network=network, device=router).create()