Image
Образ - образ сервера или iso образ какой либо программы или ОС. Создать образ можно из уже созданного сервера, например для последующего создании копии этого сервера, путем создания сервера из образа. Также в сегменте VMware можно загрузить образ в систему, для последующего создания сервера из образа или для монтирования образа к серверу (iso)
Объект «образ»
- class esu.Image(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
id (str) – Идентификатор
name (str) – Имя
files (list) – Список объектов класса
esu.File
. Список файлов вобразе –
size (str) – Размер образа
type (str) – Тип образа
vdc (object) – Объект класса
esu.Vdc
. ВЦОД, к которому относится образ
- classmethod get_object(id, token=None)[исходный код]
Получить объект образа по его ID
- Параметры:
id (str) – Идентификатор образа
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект образа
esu.Image
- Тип результата:
object
- create_from_vm(vm)[исходный код]
Создать образ из существующего сервера
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- create_for_upload()[исходный код]
Создать объект образа для последующей загрузки в него файлов
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- get_upload_link()[исходный код]
Получить ссылку для загрузки файлов образа
- commit_upload()[исходный код]
Подтвердить окончание загрузки файлов образа. Подтверждение необходимо после загрузки файлов образа по полученному url для загрузки файлов
- save()[исходный код]
Сохранить изменения
- destroy()[исходный код]
Удалить объект образа
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
- get_download_link(file)[исходный код]
Получить ссылку для скачивания файла образа
- deploy_vm_from_image(vm)[исходный код]
Создать сервер из образа
- Параметры:
vm (object) –
- Результат:
объект созданного из образа сервера
esu.Vm
- Тип результата:
object
Примеры использования
Создать образ из созданного сервера:
from esu import Vm, Image, Vdc
vm = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vdc = Vdc.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
image = Image(vdc=vdc, name='NewImage')
image.create_from_vm(vm=vm)
Загрузить образ:
import requests
from esu import Image, Vdc
vdc = Vdc.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
image = Image(vdc=vdc, name='NewImage')
image.create_for_upload() # Создание объекта образа для последующей загрузки файлов
url = image.get_upload_link() # Получение ссылки для загрузки файлов
headers = {
'Accept': '* / *',
'Accept-Encoding': 'gzip, deflate, br',
'Authorization': "bearer " + str(BaseAPI.token),
'Connection': 'keep-alive',
'Content-Type': 'application/octet-stream',
'Accept-Language': 'ru-ru'
}
file = {'file': open('test.iso', 'rb')}
up_response = requests.put(url=str(url), headers=headers, files=file) # Загрузка файла
image.commit_upload() # Подтверждение окончания загрузки файлов образа
Создание сервера из образа:
from esu import Image
image = Image.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm = image.deploy_vm_from_image()