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)