2025-03-21 17:47:09 +03:00
# Dynamix Python SDK
- [Описание ](#описание )
- [Системные требования ](#системные-требования )
- [Соответствие версий платформы версиям SDK ](#соответствие-версий-платформы-версиям-sdk )
- [Зависимости ](#зависимости )
- [Установка ](#установка )
- [Использование ](#использование )
- [Конфигурация ](#конфигурация )
- [Функциональный интерфейс ](#функциональный-интерфейс )
- [Вызов функции ](#вызов-функции )
- [Результат выполнения функции ](#результат-выполнения-функции )
- [Соответствие названий ](#соответствие-названий )
- [Типы данных SDK ](#типы-данных-sdk )
- [Ошибки и исключения (exceptions) ](#ошибки-и-исключения-exceptions )
- [Ошибки валидации данных ](#ошибки-валидации-данных )
- [Ошибки HTTP ](#ошибки-http )
2025-11-25 18:09:46 +03:00
- [Ошибка несовместимости c API ](#ошибка-несовместимости-с -api )
2025-03-21 17:47:09 +03:00
- [Доступный функционал ](#доступный-функционал )
- [Способы авторизации ](#способы-авторизации )
- [Функции API ](#функции-api )
- [Cloudapi ](#cloudapi )
2025-06-06 08:20:45 +03:00
- [Cloudbroker ](#cloudbroker )
2025-03-21 17:47:09 +03:00
- [System ](#system )
## Описание
**Dynamix Python SDK** предоставляет удобный интерфейс для интеграции взаимодействия с API **Dynamix Enterprise** в программный код на языке Python.
**Примечание:** проект находится в стадии активной разработки, [доступный функционал ](#доступный-функционал ) будет расширяться с каждой новой версией.
## Системные требования
### Соответствие версий платформы версиям SDK
| Версия платформы | Версия SDK |
| --- | --- |
2025-11-25 18:09:46 +03:00
| 4.4.0 | 1.3.x |
2025-07-21 20:27:59 +07:00
| 4.4.0 build 963 | 1.2.x |
2025-06-30 15:09:41 +03:00
| 4.3.0 | 1.1.x |
2025-03-21 17:47:09 +03:00
| 4.2.0 | 1.0.x |
### Зависимости
Зависимости указаны в конфигурационном файле проекта [pyproject.toml ](/pyproject.toml ):
- версия Python: раздел `[project]` , ключ `requires-python`
- библиотеки: раздел `[project]` , ключ `dependencies`
**Важно:** использование более поздних версий Python и/или библиотек допустимо, но работоспособность не гарантируется, так как зависит от обратной совместимости с указанными версиями.
## Установка
Установка с помощью системы управления пакетами Python (pip), где `version` - тег с номером версии SDK (см. доступные теги в репозитории):
```sh
pip install git+https://repository.basistech.ru/BASIS/dynamix-python-sdk.git@version
```
Посмотреть версию установленного пакета:
```sh
pip show dynamix-sdk
```
## Использование
### Конфигурация
Для работы с SDK необходимо создать экземпляр класса **Dynamix** , конструктор которого принимает на вход параметры конфигурации SDK.
< details > < summary > Авторизация с JWT< / summary >
```python
from dynamix_sdk import Dynamix
JWT = '...'
dx = Dynamix(
url='https://...',
auth=JWT,
)
```
< / details >
< details > < summary > Авторизация через DECS3O< / summary >
```python
from dynamix_sdk import Dynamix, DECS3OAuth
dx = Dynamix(
url='https://...',
auth=DECS3OAuth(
url='https://...',
client_id='...',
client_secret='...',
),
)
```
< / details >
< details > < summary > Авторизация через BVS< / summary >
```python
from dynamix_sdk import Dynamix, BVSAuth
dx = Dynamix(
url='https://...',
auth=BVSAuth(
url='https://...',
domain='...',
client_id='...',
client_secret='...',
username='...',
password='...',
),
)
```
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > Задание декораторов для всех вызываемых функций< / summary >
```python
from dynamix_sdk import Dynamix
Dynamix(
...,
f_decorators=[decorator_1, decorator_2],
)
```
Декораторы будут применяться к вызываемым функциям SDK в обратном порядке, то есть сначала будет применяться декоратор < code > decorator_2< / code > , а потом < code > decorator_1< / code > .
**Важно:** декораторы должны соответствовать аннотации параметра, то есть оставлять без изменений параметры и тип возвращаемого значения функции, иначе применение декораторов приведёт к некорректной работе SDK.
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > Настройка повторных попыток при 503< / summary >
По умолчанию SDK при получении кода ответа 503 производит 10 повторных попыток с интервалом 5 секунд. Данное поведение можно скорректировать:
```python
from dynamix_sdk import Dynamix, DECS3OAuth, BVSAuth
# Для HTTP-запросов к Dynamix
Dynamix(
...,
http503_attempts = 10, # количество повторных попыток при 503
http503_attempts_interval = 5, # интервал в секундах между повторными попытками
)
# Для HTTP-запросов к DECS3O
DECS3OAuth(
...,
http503_attempts = 10, # количество повторных попыток при 503
http503_attempts_interval = 5, # интервал в секундах между повторными попытками
)
# Для HTTP-запросов к BVS
BVSAuth(
...,
http503_attempts = 10, # количество повторных попыток при 503
http503_attempts_interval = 5, # интервал в секундах между повторными попытками
)
```
< / details >
< details > < summary > Отключение проверки сертификата SSL< / summary >
**Важно:** отключение проверки сертификата SSL даёт возможность произвести атаку типа MitM, поэтому пользоваться данной возможостью допустимо только в защищённой среде.
```python
import urllib3
from dynamix_sdk import Dynamix, DECS3OAuth, BVSAuth
urllib3.disable_warnings() # отключение вывода предупреждений безопасности SSL
# Для HTTP-запросов к Dynamix
Dynamix(
...,
verify_ssl=False, # отключение проверки сертификата SSL
)
# Для HTTP-запросов к DECS3O
DECS3OAuth(
...,
verify_ssl=False, # отключение проверки сертификата SSL
)
# Для HTTP-запросов к BVS
BVSAuth(
...,
verify_ssl=False, # отключение проверки сертификата SSL
)
```
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > Игнорирование проверки совместимости с API< / summary >
**Важно:** игнорирование проверки совместимости с API может вызвать непредвиденные ошибки в работе SDK, поэтому использование данного функционала допустимо только принимая на себя всю ответственность за возможные последствия.
При игнорирование выводится только сообщение с предупреждением о несовместимости.
```python
from dynamix_sdk import Dynamix
Dynamix(
...,
ignore_api_compatibility=True,
)
```
< / details >
2025-03-21 17:47:09 +03:00
### Функциональный интерфейс
Функциональный интерфейс предоставляет функции, соответствующие функциям API платформы.
#### Вызов функции
< details > < summary > Выбор функции, передача параметров и сохранение результата< / summary >

< / details >
< details > < summary > Передача вложенных параметров < / summary >
```python
from dynamix_sdk import Dynamix, types
dx = Dynamix(...)
2025-06-06 08:20:45 +03:00
data_disk_1 = types.DiskAPIParamsNM(name='data_disk_1', size_gb=10)
2025-03-21 17:47:09 +03:00
# /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create(
rg_id=123,
name='new_vm',
2025-06-06 08:20:45 +03:00
cpu_count=1,
ram_size_mb=1024,
2025-03-21 17:47:09 +03:00
image_id=456,
data_disks=[data_disk_1],
)
```
< / details >
< details > < summary > Передача параметров перечисляемого типа (enum) < / summary >
```python
from dynamix_sdk import Dynamix, types
dx = Dynamix(...)
# /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create(
rg_id=123,
name='new_vm',
2025-06-06 08:20:45 +03:00
cpu_count=1,
ram_size_mb=1024,
2025-03-21 17:47:09 +03:00
image_id=456,
chipset=types.Chipset.Q35, # enum
numa_affinity=types.NumaAffinity.none, # enum
)
```
< / details >
#### Результат выполнения функции
Тип данных, возвращаемый функцией API SDK зависит от типа данных, возвращаемого соответствующей функцией API платформы.
Если функция API платформы возвращает структуру данных в виде набора пар ключ/значение (с заранее известными ключами), то функция API SDK возвращает модель Pydantic, которая описывает эту структуру.
< details > < summary > Модель< / summary >
```python
import pydantic
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
2025-06-06 08:20:45 +03:00
get_result = dx.api.cloudapi.compute.get(vm_id=1)
2025-03-21 17:47:09 +03:00
print(type(get_result)) # < class ' . . . . CloudapiComputeGetResultModel ' >
print(isinstance(get_result, pydantic.BaseModel)) # True
```
< / details >
< details > < summary > Обращение к полю модели< / summary >
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
2025-06-06 08:20:45 +03:00
vm_name = dx.api.cloudapi.compute.get(vm_id=1).name
2025-03-21 17:47:09 +03:00
```
< / details >
Вложенные структуры данных также представлены в виде моделей Pydantic:
< details > < summary > Вложенная модель< / summary >
```python
import pydantic
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
2025-06-06 08:20:45 +03:00
vm_disk1 = dx.api.cloudapi.compute.get(vm_id=1).disks[0]
2025-03-21 17:47:09 +03:00
print(type(vm_disk1)) # < class ' . . . . DiskAPIResultNM ' >
print(isinstance(vm_disk1, pydantic.BaseModel)) # True
```
< / details >
< details > < summary > Обращение к полю вложенной модели< / summary >
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
2025-06-06 08:20:45 +03:00
vm_disk1_id = dx.api.cloudapi.compute.get(vm_id=1).disks[0].id
2025-03-21 17:47:09 +03:00
```
< / details >
Некоторые поля моделей автоматически генерируются на основе полученных данных от API платформы.< br >
Например, при наличии в модели поля, содержащего временную метку (timestamp), для удобства генерируется поле, содержащее дату и время в виде `datetime` .
< details > < summary > Генерируемое поле< / summary >
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
2025-06-06 08:20:45 +03:00
get_result = dx.api.cloudapi.compute.get(vm_id=1)
2025-03-21 17:47:09 +03:00
# Поле, возвращаемое платформой
print(type(get_result.created_timestamp)) # < class ' int ' >
# Генерируемое поле
print(type(get_result.created_datetime)) # < class ' datetime . datetime ' >
```
< / details >
Если функция API платформы возвращает примитивный тип данных (строка, число), то функция API SDK возвращает экземпляр класса, наследуемый от класса этого типа данных.
< details > < summary > Класс, наследуемый от примитивного типа данных< / summary >
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create(...)
print(type(new_vm_id)) # < class ' . . . . CloudapiKvmx86CreateResultInt ' >
print(isinstance(new_vm_id, int)) # True
```
< / details >
Исключением является булев тип данных. Так как наследование от класса `bool` в Python недопустимо, функция API SDK возвращает экземпляр класса, который обладает функциональностью для использования в булевых выражениях (реализован метод `__bool__` ), но само булево значение хранится в атрибуте `value` :
< details > < summary > Класс с булевым значением< / summary >
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/delete
2025-06-06 08:20:45 +03:00
delete_result = dx.api.cloudapi.compute.delete(vm_id=1)
2025-03-21 17:47:09 +03:00
print(type(delete_result)) # < class ' . . . . CloudapiComputeDeleteResultBool ' >
print(type(delete_result.value)) # < class ' bool ' >
```
Использование в булевом выражении:
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/delete
2025-06-06 08:20:45 +03:00
if dx.api.cloudapi.compute.delete(vm_id=1):
2025-03-21 17:47:09 +03:00
print('The VM has been deleted.')
```
< / details >
В с е объекты, возвращаемые функциями API SDK, обладают общими специальными атрибутами:
| Атрибут | Описание |
| --- | --- |
| `_api_params` | Модель Pydantic, описывающая параметры, переданные в функцию. |
| `_http_response` | HTTP-ответ API платформы в виде экземпляра класса `requests.Response` . |
#### Соответствие названий
В SDK названия из API платформы приведены к стилю "snake_case", принятому в Python, а в некоторых случаях имеют иные отличия, при этом сохраняя смысл исходного названия в API платформы.
Для соответствия названий в SDK используются таблицы соответствия, с помощью которых можно узнать исходное название в API платформы.
< br > Каждая такая таблица хранится в виде словаря в файле YAML:
- [api/path_mapping.yml ](/src/dynamix_sdk/api/path_mapping.yml ) - таблица соответствия названий частей маршрута (URL path) к функции API.
< br > Данная таблица содержит только те названия, которые отличаются от названий в API платформы.
- [api/name_mapping.yml ](/src/dynamix_sdk/api/name_mapping.yml ) - таблица соответствия названий параметров функций и полей возвращаемых данных.
< br > Данная таблица содержит все названия, в том числе и те, которые совпадают с названиями в API платформы.
< br > Кроме общих соответствий, данная таблица также содержит индивидуальные соответствия, которые применяются только к классу модели, указанному в формате `sdk_name__model_class_name` .
### Типы данных SDK
В с е типы данных (классы) SDK, которые могут пригодиться при разработке ПО с использованием SDK, доступны через модуль `dynamix_sdk.types` .
### Ошибки и исключения (exceptions)
SDK может вызывать исключения, которые должны быть обработаны в соответствии с требованиями к разрабатываемому вами ПО.
#### Ошибки валидации данных
SDK производит валидацию параметров функций API с помощью библиотеки **Pydantic** .< br >
Поэтому, при ошибке валидации, будет вызвано исключение `pydantic.ValidationError` .
Таким же образом валидируются данные HTTP-ответов API платформы. Причиной ошибки валидации данных HTTP-ответа API платформы может быть:
1. Несоответствие версии SDK и версии платформы.
1. Программная ошибка, допущенная при разработке SDK или платформы. Получить подтверждение наличия такой ошибки, а также ускорить её устранение, можно сообщив о ней.
Получить подробную информацию о б исключении `pydantic.ValidationError` можно [в соответствующем разделе официальной документации Pydantic ](https://docs.pydantic.dev/latest/errors/errors/ ) (ссылка ведёт на документацию для последней версии, поэтому важно выбрать версию, соответствующую используемой в SDK).
#### Ошибки HTTP
SDK для выполнения HTTP-запросов использует библиотеку **Requests** .< br >
Поэтому, при ошибке HTTP-подключения, будет вызвано соответствующее исключение библиотеки **Requests** .
Для проверки соответствует ли код ответа успешному выполнению запроса, SDK вызывает метод `requests.Response.raise_for_status()` , поэтому при неуспешном HTTP-запросе также будет вызвано исключение библиотеки **Requests** .
**Примечание:** если код ответа 503, то SDK предпримет несколько повторных попыток. Подробнее в разделе [Конфигурация ](#конфигурация ).
< details > < summary > Обработка ошибок HTTP< / summary >
```python
from requests.exceptions import RequestException, HTTPError
from dynamix_sdk import Dynamix
dx = Dynamix(...)
vm_id = 1
try:
2025-06-06 08:20:45 +03:00
get_result = dx.api.cloudapi.compute.get(vm_id=vm_id)
2025-03-21 17:47:09 +03:00
except HTTPError as e:
resp = e.response
if resp.status_code == 404:
print(f'The VM ID={vm_id} not found.')
else:
print(f'{e}: {resp.text}')
except RequestException as e:
print(e)
```
< / details >
Подробную информацию о б исключениях библиотеки **Requests** можно получить в [соответствующем разделе официальной документации Requests ](https://requests.readthedocs.io/en/latest/user/quickstart/#errors-and-exceptions ).
2025-11-25 18:09:46 +03:00
< details > < summary > Использование исключения SDK< / summary >
Для возможности получать дополнительную информацию о функциях SDK при ошибках HTTP-запросов, в SDK есть возможность оборачивать все исключения < code > requests.exceptions.RequestException< / code > в исключение < code > dynamix_sdk.exceptions.RequestException< / code > :
```python
class RequestException(Exception):
orig_exception: requests.exceptions.RequestException
func_name: str
func_kwargs: None | dict = None
```
Чтобы включить использование исключения < code > dynamix_sdk.exceptions.RequestException< / code > , необходимо передать в конструкторы классов < code > Dynamix< / code > , < code > DECS3OAuth< / code > , < code > BVSAuth< / code > параметр < code > wrap_request_exceptions=True< / code >
< / details >
#### Ошибка несовместимости с API
SDK производит проверку совместимости с API.
При несовместимости будет вызвано исключение `exceptions.IncompatibleAPIError` .
2025-03-21 17:47:09 +03:00
## Доступный функционал
### Способы авторизации
- с JWT
- через DECS3O
- через BVS
Подробнее в разделе [Конфигурация ](#конфигурация ).
### Функции API
#### Cloudapi
< details > < summary > account< / summary >
- /cloudapi/account/addUser
2025-06-06 08:20:45 +03:00
- /cloudapi/account/delete
2025-03-21 17:47:09 +03:00
- /cloudapi/account/deleteUser
- /cloudapi/account/disable
- /cloudapi/account/enable
2025-06-06 08:20:45 +03:00
- /cloudapi/account/get
2025-11-25 18:09:46 +03:00
- /cloudapi/account/getResourceConsumption
2025-06-06 08:20:45 +03:00
- /cloudapi/account/list
- /cloudapi/account/listDeleted
- /cloudapi/account/restore
- /cloudapi/account/update
2025-03-21 17:47:09 +03:00
- /cloudapi/account/updateUser
< / details >
2025-06-30 15:09:41 +03:00
< details > < summary > audit< / summary >
- /cloudapi/audit/get
2025-11-25 18:09:46 +03:00
- /cloudapi/audit/list
2025-06-30 15:09:41 +03:00
< / details >
2025-06-06 08:20:45 +03:00
< details > < summary > bservice< / summary >
- /cloudapi/bservice/create
- /cloudapi/bservice/delete
- /cloudapi/bservice/disable
- /cloudapi/bservice/enable
- /cloudapi/bservice/get
- /cloudapi/bservice/groupAdd
- /cloudapi/bservice/groupComputeRemove
- /cloudapi/bservice/groupGet
- /cloudapi/bservice/groupParentAdd
- /cloudapi/bservice/groupParentRemove
- /cloudapi/bservice/groupRemove
- /cloudapi/bservice/groupResize
- /cloudapi/bservice/groupStart
- /cloudapi/bservice/groupStop
- /cloudapi/bservice/groupUpdate
- /cloudapi/bservice/groupUpdateExtnet
- /cloudapi/bservice/groupUpdateVins
- /cloudapi/bservice/list
- /cloudapi/bservice/listDeleted
2025-11-25 18:09:46 +03:00
- /cloudapi/bservice/migrateToZone
2025-06-06 08:20:45 +03:00
- /cloudapi/bservice/restore
2025-11-25 18:09:46 +03:00
- /cloudapi/bservice/snapshotCreate
- /cloudapi/bservice/snapshotDelete
- /cloudapi/bservice/snapshotList
- /cloudapi/bservice/snapshotRollback
2025-06-06 08:20:45 +03:00
- /cloudapi/bservice/start
- /cloudapi/bservice/stop
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > compute< / summary >
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/abort_shared_snapshot_merge
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/affinityLabelRemove
- /cloudapi/compute/affinityLabelSet
- /cloudapi/compute/affinityRelations
- /cloudapi/compute/affinityRuleAdd
- /cloudapi/compute/affinityRuleRemove
- /cloudapi/compute/affinityRulesClear
- /cloudapi/compute/antiAffinityRuleAdd
- /cloudapi/compute/antiAffinityRuleRemove
- /cloudapi/compute/antiAffinityRulesClear
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/attachGpu
- /cloudapi/compute/attachPciDevice
- /cloudapi/compute/bootDiskSet
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/cdEject
- /cloudapi/compute/cdInsert
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/changeMac
- /cloudapi/compute/change_mtu
- /cloudapi/compute/change_security_groups
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/changeIp
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/changeLinkState
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/clone
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/clone_abort
- /cloudapi/compute/createTemplate
2025-03-21 17:47:09 +03:00
- /cloudapi/compute/delete
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/deleteCustomFields
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/detachGpu
- /cloudapi/compute/detachPciDevice
- /cloudapi/compute/disable
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/diskAdd
- /cloudapi/compute/diskAttach
- /cloudapi/compute/diskDel
- /cloudapi/compute/diskDetach
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/diskMigrate
- /cloudapi/compute/diskSwitchToReplication
- /cloudapi/compute/enable
2025-03-21 17:47:09 +03:00
- /cloudapi/compute/get
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/getConsoleUrl
- /cloudapi/compute/guest_agent_disable
- /cloudapi/compute/guest_agent_enable
- /cloudapi/compute/guest_agent_execute
- /cloudapi/compute/guest_agent_feature_update
2025-03-21 17:47:09 +03:00
- /cloudapi/compute/list
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/listDeleted
- /cloudapi/compute/migrateToZone
- /cloudapi/compute/moveToRg
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/netAttach
- /cloudapi/compute/netDetach
- /cloudapi/compute/pause
- /cloudapi/compute/pfwAdd
- /cloudapi/compute/pfwDel
- /cloudapi/compute/pfwList
- /cloudapi/compute/pinToStack
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/powerCycle
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/reboot
- /cloudapi/compute/redeploy
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/reset
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/resize
2025-11-25 18:09:46 +03:00
- /cloudapi/compute/restore
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/resume
- /cloudapi/compute/setCustomFields
- /cloudapi/compute/snapshotCreate
- /cloudapi/compute/snapshotList
- /cloudapi/compute/snapshotRollback
- /cloudapi/compute/start
- /cloudapi/compute/stop
- /cloudapi/compute/tagAdd
- /cloudapi/compute/tagRemove
- /cloudapi/compute/unpinFromStack
2025-03-21 17:47:09 +03:00
- /cloudapi/compute/update
2025-06-06 08:20:45 +03:00
- /cloudapi/compute/userGrant
- /cloudapi/compute/userList
- /cloudapi/compute/userRevoke
- /cloudapi/compute/userUpdate
< / details >
< details > < summary > disks< / summary >
2025-11-25 18:09:46 +03:00
- /cloudapi/disks/change_disk_storage_policy
2025-06-06 08:20:45 +03:00
- /cloudapi/disks/create
- /cloudapi/disks/delete
- /cloudapi/disks/deleteDisks
- /cloudapi/disks/get
- /cloudapi/disks/limitIO
- /cloudapi/disks/list
- /cloudapi/disks/listDeleted
- /cloudapi/disks/listTypes
- /cloudapi/disks/listUnattached
- /cloudapi/disks/rename
- /cloudapi/disks/resize2
- /cloudapi/disks/restore
- /cloudapi/disks/share
- /cloudapi/disks/snapshotDelete
- /cloudapi/disks/snapshotRollback
- /cloudapi/disks/unshare
< / details >
2025-07-21 20:27:59 +07:00
< details > < summary > dpdknet< / summary >
- /cloudapi/dpdknet/get
- /cloudapi/dpdknet/list
< / details >
2025-06-06 08:20:45 +03:00
< details > < summary > extnet< / summary >
- /cloudapi/extnet/get
- /cloudapi/extnet/getDefault
- /cloudapi/extnet/list
< / details >
< details > < summary > flipgroup< / summary >
- /cloudapi/flipgroup/computeAdd
- /cloudapi/flipgroup/computeRemove
- /cloudapi/flipgroup/create
- /cloudapi/flipgroup/delete
- /cloudapi/flipgroup/edit
- /cloudapi/flipgroup/get
- /cloudapi/flipgroup/list
< / details >
< details > < summary > image< / summary >
2025-11-25 18:09:46 +03:00
- /cloudapi/image/change_storage_policy
2025-06-06 08:20:45 +03:00
- /cloudapi/image/create
- /cloudapi/image/createVirtual
- /cloudapi/image/delete
- /cloudapi/image/get
- /cloudapi/image/link
- /cloudapi/image/list
- /cloudapi/image/rename
2025-03-21 17:47:09 +03:00
< / details >
2025-06-30 15:09:41 +03:00
< details > < summary > k8ci< / summary >
- /cloudapi/k8ci/get
- /cloudapi/k8ci/list
- /cloudapi/k8ci/listDeleted
< / details >
2025-07-21 20:27:59 +07:00
< details > < summary > k8s< / summary >
- /cloudapi/k8s/create
- /cloudapi/k8s/delete
2025-11-25 18:09:46 +03:00
- /cloudapi/k8s/deleteMasterFromGroup
- /cloudapi/k8s/deleteWorkerFromGroup
- /cloudapi/k8s/disable
- /cloudapi/k8s/enable
2025-07-21 20:27:59 +07:00
- /cloudapi/k8s/get
- /cloudapi/k8s/getConfig
2025-11-25 18:09:46 +03:00
- /cloudapi/k8s/getNodeAnnotations
- /cloudapi/k8s/getNodeLabels
- /cloudapi/k8s/getNodeTaints
2025-07-21 20:27:59 +07:00
- /cloudapi/k8s/list
- /cloudapi/k8s/listDeleted
2025-11-25 18:09:46 +03:00
- /cloudapi/k8s/migrateToZone
2025-07-21 20:27:59 +07:00
- /cloudapi/k8s/restore
2025-11-25 18:09:46 +03:00
- /cloudapi/k8s/start
- /cloudapi/k8s/stop
- /cloudapi/k8s/update
- /cloudapi/k8s/updateWorkerNodesMetaData
- /cloudapi/k8s/workerAdd
2025-07-21 20:27:59 +07:00
- /cloudapi/k8s/workerReset
- /cloudapi/k8s/workerRestart
- /cloudapi/k8s/workersGroupAdd
- /cloudapi/k8s/workersGroupDelete
- /cloudapi/k8s/workersGroupGetByName
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > kvmx86< / summary >
- /cloudapi/kvmx86/create
2025-06-06 08:20:45 +03:00
- /cloudapi/kvmx86/createBlank
< / details >
< details > < summary > lb< / summary >
- /cloudapi/lb/backendCreate
- /cloudapi/lb/backendDelete
- /cloudapi/lb/backendServerAdd
- /cloudapi/lb/backendServerDelete
- /cloudapi/lb/backendServerUpdate
- /cloudapi/lb/backendUpdate
2025-11-25 18:09:46 +03:00
- /cloudapi/lb/configReset
2025-06-06 08:20:45 +03:00
- /cloudapi/lb/create
- /cloudapi/lb/delete
2025-07-21 20:27:59 +07:00
- /cloudapi/lb/disable
- /cloudapi/lb/enable
2025-06-30 15:09:41 +03:00
- /cloudapi/lb/frontendBind
- /cloudapi/lb/frontendBindDelete
- /cloudapi/lb/frontendBindingUpdate
- /cloudapi/lb/frontendCreate
- /cloudapi/lb/frontendDelete
2025-06-06 08:20:45 +03:00
- /cloudapi/lb/get
- /cloudapi/lb/list
- /cloudapi/lb/listDeleted
2025-07-21 20:27:59 +07:00
- /cloudapi/lb/makeHighlyAvailable
2025-11-25 18:09:46 +03:00
- /cloudapi/lb/migrateToZone
- /cloudapi/lb/restart
- /cloudapi/lb/restore
- /cloudapi/lb/start
- /cloudapi/lb/stop
- /cloudapi/lb/update
- /cloudapi/lb/updateSysctlParams
2025-06-06 08:20:45 +03:00
< / details >
< details > < summary > locations< / summary >
- /cloudapi/locations/getUrl
- /cloudapi/locations/list
2025-03-21 17:47:09 +03:00
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > pcidevice< / summary >
- /cloudapi/pcidevice/list
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > rg< / summary >
2025-06-06 08:20:45 +03:00
- /cloudapi/rg/accessGrant
- /cloudapi/rg/accessRevoke
2025-11-25 18:09:46 +03:00
- /cloudapi/rg/add_storage_policy
2025-03-21 17:47:09 +03:00
- /cloudapi/rg/create
2025-11-25 18:09:46 +03:00
- /cloudapi/rg/del_storage_policy
2025-06-06 08:20:45 +03:00
- /cloudapi/rg/delete
- /cloudapi/rg/disable
- /cloudapi/rg/enable
2025-03-21 17:47:09 +03:00
- /cloudapi/rg/get
2025-11-25 18:09:46 +03:00
- /cloudapi/rg/getResourceConsumption
2025-03-21 17:47:09 +03:00
- /cloudapi/rg/list
2025-11-25 18:09:46 +03:00
- /cloudapi/rg/listDeleted
2025-06-06 08:20:45 +03:00
- /cloudapi/rg/removeDefNet
- /cloudapi/rg/restore
- /cloudapi/rg/setDefNet
- /cloudapi/rg/update
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > security_group< / summary >
- /cloudapi/security_group/get
- /cloudapi/security_group/create
- /cloudapi/security_group/create_rule
- /cloudapi/security_group/delete
- /cloudapi/security_group/delete_rule
- /cloudapi/security_group/list
- /cloudapi/security_group/update
< / details >
< details > < summary > sep< / summary >
- /cloudapi/sep/listAvailableSepAndPools
< / details >
2025-06-06 08:20:45 +03:00
< details > < summary > stack< / summary >
- /cloudapi/stack/get
- /cloudapi/stack/list
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > storage_policy< / summary >
- /cloudapi/storage_policy/get
- /cloudapi/storage_policy/list
< / details >
2025-06-06 08:20:45 +03:00
< details > < summary > tasks< / summary >
- /cloudapi/tasks/get
- /cloudapi/tasks/list
2025-03-21 17:47:09 +03:00
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > trunk< / summary >
- /cloudapi/trunk/get
- /cloudapi/trunk/list
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > user< / summary >
2025-07-21 20:27:59 +07:00
- /cloudapi/user/apiList
2025-11-25 18:09:46 +03:00
- /cloudapi/user/brief
2025-03-21 17:47:09 +03:00
- /cloudapi/user/get
2025-11-25 18:09:46 +03:00
- /cloudapi/user/getResourceConsumption
- /cloudapi/user/setData
< / details >
< details > < summary > vfpool< / summary >
- /cloudapi/vfpool/get
- /cloudapi/vfpool/list
< / details >
< details > < summary > vgpu< / summary >
- /cloudapi/vgpu/list
2025-03-21 17:47:09 +03:00
< / details >
2025-06-06 08:20:45 +03:00
< details > < summary > vins< / summary >
- /cloudapi/vins/createInAccount
- /cloudapi/vins/createInRG
- /cloudapi/vins/delete
2025-06-30 15:09:41 +03:00
- /cloudapi/vins/disable
2025-11-25 18:09:46 +03:00
- /cloudapi/vins/dnsApply
2025-06-30 15:09:41 +03:00
- /cloudapi/vins/enable
2025-11-25 18:09:46 +03:00
- /cloudapi/vins/extNetConnect
- /cloudapi/vins/extNetDisconnect
- /cloudapi/vins/extNetList
2025-06-06 08:20:45 +03:00
- /cloudapi/vins/get
- /cloudapi/vins/ipList
- /cloudapi/vins/ipRelease
- /cloudapi/vins/ipReserve
- /cloudapi/vins/list
- /cloudapi/vins/listDeleted
2025-11-25 18:09:46 +03:00
- /cloudapi/vins/migrateToZone
- /cloudapi/vins/natRuleAdd
- /cloudapi/vins/natRuleDel
- /cloudapi/vins/natRuleList
2025-06-06 08:20:45 +03:00
- /cloudapi/vins/restore
- /cloudapi/vins/staticRouteAdd
- /cloudapi/vins/staticRouteDel
- /cloudapi/vins/staticRouteList
- /cloudapi/vins/vnfdevRedeploy
- /cloudapi/vins/vnfdevRestart
< / details >
2025-11-25 18:09:46 +03:00
< details > < summary > zone< / summary >
- /cloudapi/zone/get
- /cloudapi/zone/list
< / details >
2025-06-06 08:20:45 +03:00
#### Cloudbroker
< details > < summary > account< / summary >
2025-11-25 18:09:46 +03:00
- /cloudbroker/account/add_storage_policy
- /cloudbroker/account/addUser
- /cloudbroker/account/addZone
2025-06-06 08:20:45 +03:00
- /cloudbroker/account/create
2025-11-25 18:09:46 +03:00
- /cloudbroker/account/del_storage_policy
- /cloudbroker/account/delete
- /cloudbroker/account/deleteAccounts
- /cloudbroker/account/deleteUser
- /cloudbroker/account/disable
- /cloudbroker/account/disableAccounts
- /cloudbroker/account/enable
- /cloudbroker/account/enableAccounts
- /cloudbroker/account/get
- /cloudbroker/account/getResourceConsumption
- /cloudbroker/account/list
- /cloudbroker/account/listDeleted
- /cloudbroker/account/removeZone
- /cloudbroker/account/restore
< / details >
< details > < summary > audit< / summary >
- /cloudbroker/audit/list
< / details >
< details > < summary > compute< / summary >
- /cloudbroker/compute/change_security_groups
- /cloudbroker/compute/clone
- /cloudbroker/compute/clone_abort
- /cloudbroker/compute/migrate_storage_list
- /cloudbroker/compute/start_migration_in
- /cloudbroker/compute/start_migration_out
- /cloudbroker/compute/stop_migration_in
- /cloudbroker/compute/stop_migration_out
< / details >
< details > < summary > disks< / summary >
- /cloudbroker/disks/migrate
- /cloudbroker/disks/migrate_abort
- /cloudbroker/disks/migrate_status
< / details >
< details > < summary > image< / summary >
- /cloudbroker/image/change_storage_policy
< / details >
< details > < summary > node< / summary >
- cloudbroker/node/add_ssh_identity
- cloudbroker/node/get_ssh_identity
- cloudbroker/node/update_description
< / details >
< details > < summary > rg< / summary >
- /cloudbroker/rg/add_storage_policy
- /cloudbroker/rg/del_storage_policy
< / details >
< details > < summary > security_group< / summary >
- /cloudbroker/security_group/create
- /cloudbroker/security_group/create_rule
- /cloudbroker/security_group/delete
- /cloudbroker/security_group/delete_rule
- /cloudbroker/security_group/get
- /cloudbroker/security_group/list
- /cloudbroker/security_group/update
< / details >
< details > < summary > storage_policy< / summary >
- /cloudbroker/storage_policy/add_pool
- /cloudbroker/storage_policy/create
- /cloudbroker/storage_policy/delete
- /cloudbroker/storage_policy/delete_pool
- /cloudbroker/storage_policy/disable
- /cloudbroker/storage_policy/enable
- /cloudbroker/storage_policy/get
- /cloudbroker/storage_policy/list
- /cloudbroker/storage_policy/update
< / details >
< details > < summary > user< / summary >
- /cloudbroker/user/block
- /cloudbroker/user/create
- /cloudbroker/user/get
- /cloudbroker/user/list
- /cloudbroker/user/unblock
< / details >
< details > < summary > vins< / summary >
- /cloudbroker/vins/update
< / details >
< details > < summary > vnfdev< / summary >
- /cloudbroker/vnfdev/migrate_abort
2025-06-06 08:20:45 +03:00
< / details >
2025-03-21 17:47:09 +03:00
#### System
2025-11-25 18:09:46 +03:00
< details > < summary > info< / summary >
- /system/info/version
< / details >
2025-03-21 17:47:09 +03:00
< details > < summary > usermanager< / summary >
- /system/usermanager/whoami
< / details >