Network

Приватная сеть обеспечивает обмен данными между различными вычислительными устройствами во ВЦОДе. К примеру, виртуальные машинамы и маршрутизаторы соединяются сетью. Для правильного функционирования сети, необходимо создать как минимум одну подсеть esu.Subnet внутри.

При создании esu.Vdc автоматически создается сеть по умолчанию, которую нельзя удалить.

Объект «сеть»

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

  • name (str) – Имя сети

  • vdc (object) – Объект класса esu.Vdc. ВЦОД, к которому относится сеть

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

  • subnets (object) – Список объектов класса esu.Subnet

Примечание

Поля name и vdc необходимы для создания.

Поле subnets опционально при создании.

Поле name может быть изменено для существующего объекта.

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

Получить объект сети по его ID

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

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

Результат:

Возвращает объект сети esu.Network

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

object

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

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

Исключение:

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

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

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

Исключение:

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

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

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

Исключение:

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

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

Добавить подсеть

Параметры:

subnet (object) – Объект подсети esu.Subnet

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

Удалить подсеть

Параметры:

subnet (object) – Объект подсети esu.Subnet

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

Переименование сети по-умолчанию:

from esu import Network, Subnet

vdc = Vdc.get_object('e5d9a192-c5da-485a-b134-1b14ec9c57d9')
network = next(n for n in vdc.get_networks() if n.is_default)
network.name = 'Главная сеть'
network.save()