This commit is contained in:
2026-02-11 12:20:55 +03:00
parent fac66abef6
commit 66601495dd
84 changed files with 1168 additions and 1567 deletions

View File

@@ -16,7 +16,7 @@
- [Ошибки валидации данных](#ошибки-валидации-данных)
- [Ошибки HTTP](#ошибки-http)
- [Ошибка несовместимости c API](#ошибка-несовместимости-с-api)
- [Доступный функционал](#доступный-функционал)
- [Доступная функциональность](#доступная-функциональность)
- [Способы авторизации](#способы-авторизации)
- [Функции API](#функции-api)
- [Cloudapi](#cloudapi)
@@ -27,7 +27,7 @@
**Dynamix Python SDK** предоставляет удобный интерфейс для интеграции взаимодействия с API **Dynamix Enterprise** в программный код на языке Python.
**Примечание:** проект находится в стадии активной разработки, [доступный функционал](#доступный-функционал) будет расширяться с каждой новой версией.
**Примечание:** проект находится в стадии активной разработки, [доступная функциональность](#доступная-функциональность) будет расширяться с каждой новой версией.
## Системные требования
@@ -35,6 +35,7 @@
| Версия платформы | Версия SDK |
| --- | --- |
| 4.5.0 | 1.4.x |
| 4.4.0 | 1.3.x |
| 4.4.0 build 963 | 1.2.x |
| 4.3.0 | 1.1.x |
@@ -208,7 +209,7 @@ BVSAuth(
<details><summary>Игнорирование проверки совместимости с API</summary>
**Важно:** игнорирование проверки совместимости с API может вызвать непредвиденные ошибки в работе SDK, поэтому использование данного функционала допустимо только принимая на себя всю ответственность за возможные последствия.
**Важно:** игнорирование проверки совместимости с API может вызвать непредвиденные ошибки в работе SDK, поэтому использование данной возможности допустимо только принимая на себя всю ответственность за возможные последствия.
При игнорирование выводится только сообщение с предупреждением о несовместимости.
@@ -234,17 +235,35 @@ Dynamix(
![](/demo/select_api_function_and_passing_params_and_save_result.gif)
Предусмотрена возможность использования сокращённого названия для некоторых часто используемых атрибутов:
```python
from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/kvmx86/create
dx.api.ca.kvmx86.create(...) # ca = cloudapi
# /cloudbroker/account/create
dx.api.cb.account.create(...) # cb = cloudbroker
# /system/usermanager/whoami
dx.api.sys.usermanager.whoami(...) # sys = system
```
</details>
<details><summary>Передача вложенных параметров </summary>
```python
from dynamix_sdk import Dynamix, types
from dynamix_sdk import Dynamix, types as sdk_types
dx = Dynamix(...)
data_disk_1 = types.DiskAPIParamsNM(name='data_disk_1', size_gb=10)
data_disk_1 = sdk_types.DiskAPIParamsNM(name='data_disk_1', size_gb=10)
# /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create(
@@ -262,7 +281,7 @@ new_vm_id = dx.api.cloudapi.kvmx86.create(
<details><summary>Передача параметров перечисляемого типа (enum) </summary>
```python
from dynamix_sdk import Dynamix, types
from dynamix_sdk import Dynamix, types as sdk_types
dx = Dynamix(...)
@@ -274,8 +293,8 @@ new_vm_id = dx.api.cloudapi.kvmx86.create(
cpu_count=1,
ram_size_mb=1024,
image_id=456,
chipset=types.Chipset.Q35, # enum
numa_affinity=types.NumaAffinity.none, # enum
chipset=sdk_types.Chipset.Q35, # enum
numa_affinity=sdk_types.NumaAffinity.NONE, # enum
)
```
@@ -493,8 +512,13 @@ SDK для выполнения HTTP-запросов использует би
from requests.exceptions import RequestException, HTTPError
from dynamix_sdk import Dynamix
dx = Dynamix(...)
try:
dx = Dynamix(...) # происходит HTTP-запрос для проверки совместимости с API
except HTTPError as e:
resp = e.response
print(f'{e}: {resp.text}')
except RequestException as e:
print(e)
vm_id = 1
@@ -524,16 +548,17 @@ class RequestException(Exception):
orig_exception: requests.exceptions.RequestException
func_name: str
func_kwargs: None | dict = None
status_code: None | int = 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.
При создании экземпляра класса `Dynamix`, SDK производит проверку совместимости с API.
При несовместимости будет вызвано исключение `exceptions.IncompatibleAPIError`.
## Доступный функционал
## Доступная функциональность
### Способы авторизации
@@ -656,7 +681,7 @@ SDK производит проверку совместимости с API.
- /cloudapi/compute/pfwAdd
- /cloudapi/compute/pfwDel
- /cloudapi/compute/pfwList
- /cloudapi/compute/pinToStack
- /cloudapi/compute/pin_to_node
- /cloudapi/compute/powerCycle
- /cloudapi/compute/reboot
- /cloudapi/compute/redeploy
@@ -672,7 +697,7 @@ SDK производит проверку совместимости с API.
- /cloudapi/compute/stop
- /cloudapi/compute/tagAdd
- /cloudapi/compute/tagRemove
- /cloudapi/compute/unpinFromStack
- /cloudapi/compute/unpin_from_node
- /cloudapi/compute/update
- /cloudapi/compute/userGrant
- /cloudapi/compute/userList
@@ -872,13 +897,6 @@ SDK производит проверку совместимости с API.
</details>
<details><summary>stack</summary>
- /cloudapi/stack/get
- /cloudapi/stack/list
</details>
<details><summary>storage_policy</summary>
- /cloudapi/storage_policy/get
@@ -982,6 +1000,12 @@ SDK производит проверку совместимости с API.
- /cloudbroker/account/listDeleted
- /cloudbroker/account/removeZone
- /cloudbroker/account/restore
- /cloudbroker/account/setCpuAllocationParameter
- /cloudbroker/account/setCpuAllocationRatio
- /cloudbroker/account/update
- /cloudbroker/account/updateComputeFeatures
- /cloudbroker/account/updateResourceTypes
- /cloudbroker/account/updateUser
</details>
@@ -993,6 +1017,7 @@ SDK производит проверку совместимости с API.
<details><summary>compute</summary>
- /cloudbroker/compute/change_read_only
- /cloudbroker/compute/change_security_groups
- /cloudbroker/compute/clone
- /cloudbroker/compute/clone_abort