Snapshot

Объект снапшота. Снапшот - слепок состояния системы, который можно использовать для последующего восстановления сервера в сохранённое в снапшоте состояние

Объект «снапшот»

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

  • name (str) – Имя снапшота

  • description (str) – описание для снапшота

  • vm (object) – Объект класса esu.Vm. Сервер, к которому относится данный снапшот

Примечание

Поле name и vm необходимо для создания

Поля description опцональны при создании

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

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

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

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

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

Результат:

Возвращает объект порта esu.Port

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

object

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

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

Исключение:

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

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

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

Исключение:

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

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

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

Исключение:

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

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

Создать снапшот для определённого сервера:

from esu import Vm, Snapshot

vm = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
snapshot = Snapshot(vm=vm, name='Новый снапшот')
snapshot.create()

Восстановить сервер из снапшота:

from esu import Vm, Snapshot

snapshot = Snapshot.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm.revert(snapshot=snapshot)