Vdc
Объект виртуального центра обработки данных (ВЦОД). ВЦОДы включают в себя ИТ-инфраструктуру, вычислительные ресурсы и ресурсы для хранения информации.
При создании ВЦОД автоматически создаются сеть esu.Network
и
маршрутизатор esu.Router
, которые не могут быть удалены.
Поддерживается два типа гипервизора: VMware vSphere ESXi и OpenStack KVM.
Объект «ВЦОД»
- class esu.Vdc(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
id (str) – Идентификатор ВЦОД
name (str) – Имя ВЦОД
hypervisor (object) – Объект класса
esu.Hypervisor
project (object) – Объект класса
esu.Project
. Проект, к которому относится данный ВЦОДtoken (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
Примечание
Поля
name
,hypervisor
иproject
необходимы для создания.Поле
name
может быть изменено для существующего объекта.- classmethod get_object(id, token=None)[исходный код]
Получить объект ВЦОД по его ID
- Параметры:
id (str) – Идентификатор ВЦОД
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект ВЦОД
esu.Vdc
- Тип результата:
object
- create()[исходный код]
Создать объект
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- save()[исходный код]
Сохранить изменения
- Исключение:
ObjectHasNoId – Если производится попытка сохранить несуществующий объект
- destroy()[исходный код]
Удалить объект
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
- get_vms()[исходный код]
Получить список виртуальных машин, доступных в рамках данного ВЦОД.
- Результат:
Список объектов
esu.Vm
- Тип результата:
list
- get_templates()[исходный код]
Получить список шаблонов ОС для создания виртуальных машин, доступных в данном ВЦОДе.
- Результат:
Список объектов
esu.Template
- Тип результата:
list
- get_storage_profiles()[исходный код]
Получить список профилей хранения, которые используются при добавлении дисков, доступных в данном ВЦОДе.
- Результат:
Список объектов
esu.StorageProfile
- Тип результата:
list
- get_firewall_templates()[исходный код]
Получить список шаблонов брандмауэра, доступных в данном ВЦОДе.
- Результат:
Список объектов
esu.FirewallTemplate
- Тип результата:
list
- get_networks()[исходный код]
Получить список сетей, которые существуют в рамках данного ВЦОД.
- Результат:
Список объектов
esu.Network
- Тип результата:
list
- get_routers()[исходный код]
Получить список маршрутизаторов, которые доступны в рамках данного ВЦОД.
- Результат:
Список объектов
esu.Router
- Тип результата:
list
- get_ports()[исходный код]
Получить список подключений, которые существуют в данном ВЦОДе.
- Результат:
Список объектов
esu.Port
- Тип результата:
list
- get_disks()[исходный код]
Получить список дисков, которые существуют в данном ВЦОДе.
- Результат:
Список объектов
esu.Disk
- Тип результата:
list
- create_vm(name, template, password)[исходный код]
Быстрый способ создать виртуальный сервер в сети по-умолчанию и с настройками по-умолчанию.
- Параметры:
name (str) – Название нового виртуального сервера
template (str) – Название шаблона системы
password (str) – Пароль, который будет установлен на сервер
Примеры использования
Создание нового ВЦОД VMware в первом доступном пользователю проекте:
from esu import Manager, Vdc
project = Manager().get_all_projects()[0]
hypervisor = next(h for h in project.get_available_hypervisors() \
if h.type == 'vmware')
vdc = Vdc(name='Новый ВЦОД', hypervisor=hypervisor, project=project)
vdc.create()
Вывести на экран список доступных в определенном ВЦОДе шаблонов операционных систем:
from esu import Manager, Vdc
project = Manager().get_all_projects()[0]
vdc = Vdc.get_object('e5d9a192-c5da-485a-b134-1b14ec9c57d9')
for template in vdc.get_templates():
print(template.name)