Project
Объект проекта. Проекты представляют из себя логические сущности, в которые объединены те или иные облачные услуги. Проекты могут создаваться клиентами, а после регистрации всегда существует проект по умолчанию.
Объект «проект»
- class esu.Project(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
id (str) – Идентификатор
name (str) – Имя
client (object) – Объект класса
esu.Client
. Клиент, к которому относится проектtoken (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
Примечание
Поля
name
иclient
необходимы для создания.Поле
name
может быть изменено для существующего объекта.- classmethod get_object(id, token=None)[исходный код]
Получить объект проекта по его ID
- Параметры:
id (str) – Идентификатор проекта
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект проекта
esu.Project
- Тип результата:
object
- create()[исходный код]
Создать объект
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- save()[исходный код]
Сохранить изменения
- Исключение:
ObjectHasNoId – Если производится попытка сохранить несуществующий объект
- destroy()[исходный код]
Удалить объект
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
- get_vdcs()[исходный код]
Получить ВЦОДы в данном проекте. Вернет список объектов
esu.Vdc
.- Результат:
Список объектов
esu.Vdc
- Тип результата:
list
- get_available_hypervisors()[исходный код]
Получить список доступных гипервизоров в этом проекте. Вернет список объектов
esu.Hypervisor
.- Результат:
Список объектов
esu.Hypervisor
- Тип результата:
list
Примеры использования
Создать проект на определенном клиенте:
from esu import Client, Project
client = Client.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
project = Project(client=client, name='Новый проект')
project.create()
Переименовать первый проект на клиенте:
from esu import Client, Project
client = Client.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
project = client.get_projects()[0]
project.name = 'Новое имя проекта'
project.save()