Router

Маршрутизаторы управляют связностью приватных сетей с интернетом. Маршрутизатор может иметь собственный публичный адрес, тогда все виртуальные машины будут выходить в Интернет через этот IP-адрес, если на них не назначен собственный плавающий IP.

Объект «маршрутизатор»

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

  • name (str) – Имя

  • vdc (object) – ВЦОД, к которому относится маршрутизатор esu.Vdc

  • is_default (bool) – True для маршрутизатора по умолчанию

  • floating (object) – Порт подключения к внешней сети esu.Port

  • ports (list) – Список подключений маршрутизатора

Примечание

Поля 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()