В структуре проекта сейчас бардак, многое будет переосмыслено и переделано позже. Основная цель на текущем этапе — получить минимально работающий код, с помощью которого возможно выполнить установку виртуальной машины и как-то управлять ею.
Есть набор классов, предоставляющих собой интерфейсы для взаимодействия с виртуальными машинами, стораджами, дисками и т.п. Датаклассы описывают сущности и имеют метод `to_xml()` для получения XML конфига для `libvirt`. Смысл использования датаклассов в том, чтобы иметь один объект, содержащий в себе нормальные легкочитаемые аттрибуты и XML описание сущности одновременно.
## ROADMAP
- [ ] Установка инстансов
- [ ] Установка с использованием эталонного образа ОС
- [ ] Установка с пустым диском и загрузкой с ISO
- [ ] Установка с использованием готового волюма
- [x] Базовое управление питанием
- [ ] Остановка и возобновление инстансов
- [ ] Изменение числа vCPU на горячую
- [ ] Изменение топологии процессора
- [ ] Выбор типа эмуляции процессора, вендора, модели и инструкций