7 Commits
1.1.2 ... 1.4.0

Author SHA1 Message Date
66601495dd 1.4.0 2026-03-13 17:18:28 +03:00
fac66abef6 1.3.2 2026-01-29 21:27:09 +07:00
56db28cb37 1.3.1 2025-12-05 20:51:29 +07:00
1703d1ed33 1.3.0 2025-12-02 10:48:38 +03:00
9eac1da63f 1.2.2 2025-10-28 17:56:12 +07:00
c4d0acfba2 1.2.1 2025-10-16 19:08:06 +07:00
a63ff017af 1.2.0 2025-07-21 20:27:59 +07:00
323 changed files with 7337 additions and 1795 deletions

View File

@@ -1,32 +0,0 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: file-contents-sorter
files: .*mapping.yml
args:
- --unique
- id: no-commit-to-branch
name: no-commit-to-branch (main, master, dev_*)
args:
- --pattern
- dev_.*
- repo: https://github.com/pycqa/flake8
rev: 7.1.2
hooks:
- id: flake8
name: flake8 (1/2)
files: src/dynamix_sdk/types\.py|.*__init__\.py|.*_api\.py
args:
- --extend-ignore=F401,F403,F405
- id: flake8
name: flake8 (2/2)
exclude: src/dynamix_sdk/types\.py|.*__init__\.py|.*_api\.py
- repo: local
hooks:
- id: pytest-local-tests
name: pytest local tests
entry: pytest tests/local
language: system
pass_filenames: false

View File

@@ -1,113 +1,385 @@
# Список изменений в версии 1.1.0 # Список изменений в версии 1.4.0
## Добавлено ## Добавлено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BPYS-23 | Функция API `/cloudapi/account/get`: добавлен атрибут `CloudapiAccountGetResultModel.description`. | | BPYS-750 | Добавлена функция `cloudbroker.account.set_cpu_allocation_parameter`. |
| BPYS-23 | Функция API `/cloudapi/account/list`: добавлен атрибут `CloudapiAccountListResultModel.data.description`. | | BPYS-733 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-23 | Функция API `/cloudapi/account/listDeleted`: добавлен атрибут `CloudapiAccountListDeletedResultModel.data.description`. | | BPYS-733 | Функция `cloudapi.account.update`: добавлен параметр `sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-214 | Функция API `/cloudbroker/account/create`: добавлен параметр `description`. | | BPYS-733 | Функция `cloudapi.rg.get`: добавлен атрибут `CloudapiRgGetResultModel.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-201 | Функция API `/cloudapi/account/update`: добавлен параметр `description`. | | BPYS-733 | Функция `cloudapi.rg.list_deleted`: добавлен атрибут `CloudapiRgListDeletedResultModel.data.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-200 | Функция API `/cloudapi/account/disable`: добавлен параметр `reason`. | | BPYS-733 | Функция `cloudapi.rg.list`: добавлен атрибут `CloudapiRgListResultModel.data.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-203 | Функция API `/cloudapi/bservice/groupAdd`: добавлен параметр `chipset`. | | BPYS-733 | Функция `cloudapi.rg.update`: добавлен параметр `clear_sep_pools` в связи с переименованием из `clear_uniq_pools`. |
| BPYS-213 | Функция API `/cloudapi/vins/list`: добавлен параметр `status`. | | BPYS-733 | Функция `cloudapi.rg.update`: добавлен параметр `sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-211 | Функция API `/cloudapi/extnet/list`: добавлен параметр `ovs_bridge`. | | BPYS-733 | Функция `cloudbroker.account.create`: добавлен параметр `sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-172 | Добавлены функции API `/cloudapi/lb/frontendBindDelete`, `/cloudapi/lb/frontendBindingUpdate`, `/cloudapi/lb/frontendBind`, `/cloudapi/lb/frontendCreate`, `/cloudapi/lb/frontendDelete`. | | BPYS-733 | Функция `cloudbroker.account.get`: добавлен атрибут `CloudbrokerAccountGetResultModel.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.boot_loader_type`. | | BPYS-733 | Функция `cloudbroker.account.list_deleted`: добавлен атрибут `CloudbrokerAccountListDeletedResultModel.data.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.boot_mode`. | | BPYS-733 | Функция `cloudbroker.account.list`: добавлен атрибут `CloudbrokerAccountListResultModel.data.sep_pools` в связи с переименованием из `uniq_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.created_by`. | | BPYS-751 | Добавлена функция `cloudbroker.account.set_cpu_allocation_ratio`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.deleted_by`. | | BPYS-754 | Добавлена функция `cloudbroker.account.update_resource_types`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.size_available`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_remove`, `cloudapi.compute.anti_affinity_rule_add`, `cloudapi.compute.anti_affinity_rule_remove`: в перечисляемый тип `AffinityTopology` было добавлено значение `VM` в связи с переименованием из `vm`.|
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.hot_resize`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_remove`, `cloudapi.compute.anti_affinity_rule_add`, `cloudapi.compute.anti_affinity_rule_remove`: в перечисляемый тип `AffinityTopology` было добавлено значение `NODE` в связи с переименованием из `node`.|
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.network_interface_naming`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`: в перечисляемый тип `BootDevice` было добавлено значение `CDROM` в связи с переименованием из `cdrom`.|
| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.pinned_to_stack` в связи с переименованием из `pinned`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`: в перечисляемый тип `BootDevice` было добавлено значение `HD` в связи с переименованием из `hd`.|
| BPYS-25 | Функция API `/cloudapi/compute/get`: тип атрибута `CloudapiComputeGetResultModel.disks.present_to` изменен с `list[int] `на` dict[str, int]`. | | BPYS-755 | Функции `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.update`, `cloudapi.bservice.group_get`, `cloudapi.bservice.group_add`, `cloudapi.bservice.group_resize`, `cloudapi.k8s.create`, `cloudapi.k8s.worker_add`, `cloudapi.k8s.workers_group_add`, `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: в перечисляемый тип `Chipset` было добавлено значение `I440FX` в связи с переименованием из `i440fx`.|
| BPYS-25 | Функция API `/cloudapi/compute/get`: тип атрибута `CloudapiComputeGetResultModel.disks.updated_by` изменен с `Any` на `str`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемый тип `NumaAffinity` было добавлено значение `NONE` в связи с переименованием из `none`.|
| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.boot_loader_type`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемый тип `NumaAffinity` было добавлено значение `STRICT` в связи с переименованием из `strict`.|
| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.boot_mode`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемый тип `NumaAffinity` было добавлено значение `LOOSE` в связи с переименованием из `loose`.|
| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.hot_resize`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `TXMode` было добавлено значение `IOTHREAD` в связи с переименованием из `iothread`.|
| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.network_interface_naming`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `TXMode` было добавлено значение `SELECTED_BY_HYPERVISOR` в связи с переименованием из `selected by hypervisor`.|
| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.pinned_to_stack` в связи с переименованием из `pinned`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `TXMode` было добавлено значение `TIMER` в связи с переименованием из `timer`.|
| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.created_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `Ioeventfd` было добавлено значение `OFF` в связи с переименованием из `off`.|
| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.deleted_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `Ioeventfd` было добавлено значение `ON` в связи с переименованием из `on`.|
| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.size_available`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `Ioeventfd` было добавлено значение `SELECTED_BY_HYPERVISOR` в связи с переименованием из `selected by hypervisor`.|
| BPYS-25 | Функция API `/cloudapi/disks/get`: тип атрибута `CloudapiDisksGetResultModel.present_to` изменен с `list[int] `на` dict[str, int]`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `EventIdx` было добавлено значение `OFF` в связи с переименованием из `off`.|
| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.created_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `EventIdx` было добавлено значение `ON` в связи с переименованием из `on`.|
| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.deleted_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемый тип `EventIdx` было добавлено значение `SELECTED_BY_HYPERVISOR` в связи с переименованием из `selected by hypervisor`.|
| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.size_available`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `CHANGEMAC` в связи с переименованием из `changemac`.|
| BPYS-25 | Функция API `/cloudapi/disks/list`: тип атрибута `CloudapiDisksListResultModel.data.present_to` изменен с `list[int] `на` dict[str, int]`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `CPUPIN` в связи с переименованием из `cpupin`.|
| BPYS-25 | Функция API `/cloudapi/image/create`: у параметра `boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `DPDK` в связи с переименованием из `dpdk`.|
| BPYS-25 | Функция API `/cloudapi/image/get`: у атрибута `CloudapiImageGetResultModel.boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `HUGEPAGES` в связи с переименованием из `hugepages`.|
| BPYS-25 | Функция API `/cloudapi/image/list`: у атрибута `CloudapiImageListResultModel.data.boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `NUMA` в связи с переименованием из `numa`.|
| BPYS-185 | Добавлены функции API `/cloudapi/audit/get`, `/cloudapi/user/getAudit`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `TRUNK` в связи с переименованием из `trunk`.|
| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `boot_loader_type`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `VMFeature` было добавлено значение `VFNIC` в связи с переименованием из `vfnic`.|
| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `boot_mode`. | | BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `RGResourceType` было добавлено значение `VM` в связи с переименованием из `vm`.|
| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `hot_resize`. | | BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `RGResourceType` было добавлено значение `K8S` в связи с переименованием из `k8s`.|
| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `network_interface_naming`. | | BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `RGResourceType` было добавлено значение `LB` в связи с переименованием из `lb`.|
| BPYS-207 | Функция API `/cloudapi/compute/netAttach`: добавлен параметр `mac`. | | BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемый тип `RGResourceType` было добавлено значение `VINS` в связи с переименованием из `vins`.|
| BPYS-56 | Функция API `/cloudapi/kvmx86/create`: добавлен параметр `interfaces.mac`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемый тип `AccountResourceType` было добавлено значение `VM` в связи с переименованием из `vm`.|
| BPYS-56 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `interfaces.mac`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемый тип `AccountResourceType` было добавлено значение `K8S` в связи с переименованием из `k8s`.|
| BPYS-204 | Функция API `/cloudapi/bservice/groupResize`: добавлено значение по умолчанию для параметра `count_change_mode`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемый тип `AccountResourceType` было добавлено значение `LB` в связи с переименованием из `lb`.|
| BPYS-204 | Функция API `/cloudapi/bservice/groupResize`: добавлен параметр `chipset`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемый тип `AccountResourceType` было добавлено значение `VINS` в связи с переименованием из `vins`.|
| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `boot_loader_type`. | | BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемый тип `AccountResourceType` было добавлено значение `FLIPGROUP` в связи с переименованием из `flipgroup`.|
| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `boot_mode`. | | BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `ImageType` было добавлено значение `CDROM` в связи с переименованием из `cdrom`.|
| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `hot_resize`. | | BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `ImageType` было добавлено значение `LINUX` в связи с переименованием из `linux`.|
| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `network_interface_naming`. | | BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `ImageType` было добавлено значение `UNKNOWN` в связи с переименованием из `unknown`.|
| BPYS-153 | Функция API `/cloudapi/tasks/list`: тип параметра `status` изменен с `str` на перечисляемый тип `TaskStatus`. | | BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `ImageType` было добавлено значение `VIRTUAL` в связи с переименованием из `virtual`.|
| BPYS-153 | Функция API `/cloudapi/tasks/get`: тип атрибута `CloudapiTasksGetResultModel.status` изменен с `str` на перечисляемый тип `TaskStatus`. | | BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `ImageType` было добавлено значение `WINDOWS` в связи с переименованием из `windows`.|
| BPYS-153 | Функция API `/cloudapi/tasks/list`: тип атрибута `CloudapiTasksListResultModel.data.status` изменен с `str` на перечисляемый тип `TaskStatus`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `NetIfaceNamingTemplate` было добавлено значение `ENS` в связи с переименованием из `ens`.|
| BPYS-179 | Добавлены функции API `/cloudapi/k8ci/get`, `/cloudapi/k8ci/list`, `/cloudapi/k8ci/listDeleted` . | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `NetIfaceNamingTemplate` было добавлено значение `ETH` в связи с переименованием из `eth`.|
| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.milestones`. | | BPYS-755 | Функции `cloudapi.vins.get`, `cloudapi.vins.nat_rule_add`, `cloudapi.vins.nat_rule_list`, `cloudapi.compute.pfw_list`, `cloudapi.compute.pfw_add`, `cloudapi.compute.pfw_del`: в перечисляемый тип `NATRuleProtocol` было добавлено значение `TCP` в связи с переименованием из `tcp`.|
| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.vm_id`. | | BPYS-755 | Функции `cloudapi.vins.get`, `cloudapi.vins.nat_rule_add`, `cloudapi.vins.nat_rule_list`, `cloudapi.compute.pfw_list`, `cloudapi.compute.pfw_add`, `cloudapi.compute.pfw_del`: в перечисляемый тип `NATRuleProtocol` было добавлено значение `UDP` в связи с переименованием из `udp`.|
| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.vm_name`. | | BPYS-755 | Функция `cloudapi.vins.get`: в перечисляемый тип `VNFDevType` было добавлено значение `VYOS` в связи с переименованием из `vyos`.|
| BPYS-64 | Функция API `/cloudapi/disks/get`: тип атрибута `CloudapiDisksGetResultModel.updated_by` изменен на `str`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `BootMode` было добавлено значение `BIOS` в связи с переименованием из `bios`.|
| BPYS-64 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.milestones`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемый тип `BootMode` было добавлено значение `UEFI` в связи с переименованием из `uefi`.|
| BPYS-64 | Функция API `/cloudapi/disks/list`: тип атрибута `CloudapiDisksListResultModel.data.updated_by` изменен на `str`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемый тип `BootLoaderType` было добавлено значение `LINUX` в связи с переименованием из `linux`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.created_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемый тип `BootLoaderType` было добавлено значение `UNKNOWN` в связи с переименованием из `unknown`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.deleted_by`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемый тип `BootLoaderType` было добавлено значение `WINDOWS` в связи с переименованием из `windows`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.milestones`. | | BPYS-755 | Функция `cloudapi.compute.change_link_state`: в перечисляемый тип `LinkState` было добавлено значение `ON` в связи с переименованием из `on`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.size_available`. | | BPYS-755 | Функция `cloudapi.compute.change_link_state`: в перечисляемый тип `LinkState` было добавлено значение `OFF` в связи с переименованием из `off`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: тип атрибута `CloudapiDisksListDeletedResultModel.data.present_to` изменен с `list[int] `на` dict[str, int]`. | | BPYS-768 | Добавлена функция `cloudbroker.account.update_user`. |
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: тип атрибута `CloudapiDisksListDeletedResultModel.data.updated_by` изменен на `str`. | | BPYS-752 | Добавлена функция `cloudbroker.account.update`. |
| BPYS-183 | Добавлены функции API `/cloudapi/vins/enable`, `/cloudapi/vins/disable`. | | BPYS-756 | Добавлен атрибут `status_code` в классе `RequestException`. |
| BPYS-255 | Функция API `/cloudapi/image/get`: тип атрибута `CloudapiImageGetResultModel.present_to` изменен с `list[int]` на `dict[str, int]`. | | BPYS-767 | Функция `cloudapi.rg.update`: добавлен параметр `storage_policies_quotas` в связи с переименованием из `storage_policies`. |
| BPYS-257 | Функция API `/cloudapi/extnet/get`: добавлен атрибут `CloudapiExtnetGetResultModel.ntp_servers`. | | BPYS-762 | Функция `cloudbroker.compute.migrate_storage_list`: добавлен атрибут `CloudbrokerComputeMigrateStorageListResultModel.data.source_node_id` в связи с переименованием из `source_stack_id`. |
| BPYS-256 | Функция API `/cloudapi/vins/get`: тип атрибута `CloudapiVinsGetResultModel.vnfdev.config.resources.stack_id` изменен с `int` на `int \| None`. | | BPYS-763 | Функция `cloudbroker.compute.migrate_storage_list`: добавлен атрибут `CloudbrokerComputeMigrateStorageListResultModel.data.target_node_id` в связи с переименованием из `target_stack_id`. |
| BPYS-259 | Функция API `/cloudapi/bservice/get`: тип атрибута `CloudapiBserviceGetResultModel.vms.stack_id` изменен с `int` на `int \| None`. | | BPYS-800 | Добавлена функция `cloudbroker.account.update_compute_features`. |
| BPYS-258 | Функция API `/cloudapi/stack/get`: тип атрибута `CloudapiStackGetResultModel.cpu_allocation_ratio` изменен с `float` на `float \| None`. | | BPYS-787 | Функция `cloudapi.bservice.group_add`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-258 | Функция API `/cloudapi/stack/get`: тип атрибута `CloudapiStackGetResultModel.mem_allocation_ratio` изменен с `float` на `float \| None`. | | BPYS-789 | Функция `cloudapi.bservice.group_resize`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-791 | Функция `cloudapi.k8s.create`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-793 | Функция `cloudapi.k8s.worker_add`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-795 | Функция `cloudapi.k8s.workers_group_add`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-797 | Функция `cloudapi.kvmx86.create`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-799 | Функция `cloudapi.kvmx86.create_blank`: у параметра `chipset` изменено значение по умолчанию с `Chipset.I440FX` на `Chipset.Q35`. |
| BPYS-810 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.pinned_to_node` в связи с переименованием из `pinned_to_stack`. |
| BPYS-811 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.read_only`. |
| BPYS-807 | Добавлена функция `cloudapi.compute.pin_to_node` в связи с переименованием из `cloudapi.compute.pin_to_stack`. |
| BPYS-808 | Добавлена функция `cloudapi.compute.unpin_from_node` в связи с переименованием из `cloudapi.compute.unpin_from_stack`. |
| BPYS-833 | Добавлена функция `cloudbroker.compute.change_read_only`. |
| BPYS-813 | Функция `cloudapi.kvmx86.create_blank`: добавлен параметр `cpu_pin`. |
| BPYS-814 | Функция `cloudapi.kvmx86.create_blank`: добавлен параметр `hp_backed`. |
| BPYS-815 | Функция `cloudapi.kvmx86.create_blank`: добавлен параметр `numa_affinity`. |
| BPYS-830 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfdev.config.resources.node_id` в связи с переименованием из `stack_id`. |
| BPYS-828 | Функция `cloudapi.bservice.get`: добавлен атрибут `CloudapiBserviceGetResultModel.vms.node_id` в связи с переименованием из `stack_id`. |
| BPYS-824 | Функция `cloudbroker.compute.start_migration_in`: добавлен параметр `node_id` в связи с переименованием из `stack_id`. |
| BPYS-821 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.pinned_to_node` в связи с переименованием из `pinned_to_stack`. |
| BPYS-821 | Функция `cloudapi.compute.list_deleted`: добавлен атрибут `CloudapiComputeListDeletedResultModel.data.pinned_to_node` в связи с переименованием из `pinned_to_stack`. |
| BPYS-822 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.read_only`. |
| BPYS-822 | Функция `cloudapi.compute.list_deleted`: добавлен атрибут `CloudapiComputeListDeletedResultModel.data.read_only`. |
| BPYS-758 | Добавлена возможность обращаться к аттрибутам `cloudapi`, `cloudbroker`, `system` через аттрибуты `ca`, `cb`, `sys`. |
| BPYS-803 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.total_disks_size_gb` в связи с переименованием из `total_disks_size`. |
| BPYS-803 | Функция `cloudapi.compute.list_deleted`: добавлен атрибут `CloudapiComputeListDeletedResultModel.data.total_disks_size_gb` в связи с переименованием из `total_disks_size`. |
| BPYS-804 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.size_used_gb` в связи с переименованием из `size_used`. |
| BPYS-804 | Функция `cloudapi.disk.get`: добавлен атрибут `CloudapiDiskGetResultModel.size_used_gb` в связи с переименованием из `size_used`. |
| BPYS-804 | Функция `cloudapi.disk.list_deleted`: добавлен атрибут `CloudapiDiskListDeletedResultModel.data.size_used_gb` в связи с переименованием из `size_used`. |
| BPYS-804 | Функция `cloudapi.disk.list_unattached`: добавлен атрибут `CloudapiDiskListUnattachedResultModel.data.size_used_gb` в связи с переименованием из `size_used`. |
| BPYS-804 | Функция `cloudapi.disk.list`: добавлен атрибут `CloudapiDiskListResultModel.data.size_used_gb` в связи с переименованием из `size_used`. |
| BPYS-805 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.size_available_gb` в связи с переименованием из `size_available`. |
| BPYS-805 | Функция `cloudapi.disk.get`: добавлен атрибут `CloudapiDiskGetResultModel.size_available_gb` в связи с переименованием из `size_available`. |
| BPYS-805 | Функция `cloudapi.disk.list_deleted`: добавлен атрибут `CloudapiDiskListDeletedResultModel.data.size_available_gb` в связи с переименованием из `size_available`. |
| BPYS-805 | Функция `cloudapi.disk.list_unattached`: добавлен атрибут `CloudapiDiskListUnattachedResultModel.data.size_available_gb` в связи с переименованием из `size_available`. |
| BPYS-805 | Функция `cloudapi.disk.list`: добавлен атрибут `CloudapiDiskListResultModel.data.size_available_gb` в связи с переименованием из `size_available`. |
| BPYS-832 | Функция `cloudapi.pcidevice.list`: добавлен атрибут `CloudapiPcideviceListResultModel.data.node_id` в связи с переименованием из `stack_id`. |
| BPYS-834 | Реализовано добавление генерируемых полей моделей в словарь, возвращаемый методом `model_dump`. |
| BPYS-844 | Функция `cloudapi.compute.redeploy`: у параметра `storage_policy_id` добавлено значение по умолчанию `None`. |
| BPYS-839 | Функция `cloudapi.disks.list_types`: в перечисляемом типе `PoolDiskType` был добавлен атрибут `BOOT` в связи с переименованием из `B`.|
| BPYS-839 | Функция `cloudapi.disks.list_types`: в перечисляемом типе `PoolDiskType` был добавлен атрибут `DATA` в связи с переименованием из `D`.|
| BPYS-839 | Функции `cloudapi.compute.disk_add`, `cloudapi.compute.disk_attach`, `cloudapi.compute.get`, `cloudapi.disks.get`, `cloudapi.disks.list`, `cloudapi.disks.list_deleted`, `cloudapi.disks.list_unattached`: в перечисляемом типе `DiskType` был добавлен атрибут `BOOT` в связи с переименованием из `B`.|
| BPYS-839 | Функции `cloudapi.compute.disk_add`, `cloudapi.compute.disk_attach`, `cloudapi.compute.get`, `cloudapi.disks.get`, `cloudapi.disks.list`, `cloudapi.disks.list_deleted`, `cloudapi.disks.list_unattached`: в перечисляемом типе `DiskType` был добавлен атрибут `DATA` в связи с переименованием из `D`.|
| BPYS-836 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.account.list_deleted`: добавлен атрибут `CloudapiAccountListDeletedResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.account.list`: добавлен атрибут `CloudapiAccountListResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.account.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.rg.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.vm.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.account.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.rg.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.vm.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.account.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.k8s.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.rg.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.rg.get`: добавлен атрибут `CloudapiRgGetResultModel.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.rg.list_deleted`: добавлен атрибут `CloudapiRgListDeletedResultModel.data.account_acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.rg.list_deleted`: добавлен атрибут `CloudapiRgListDeletedResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudapi.rg.list`: добавлен атрибут `CloudapiRgListResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudbroker.account.get`: добавлен атрибут `CloudbrokerAccountGetResultModel.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudbroker.account.list_deleted`: добавлен атрибут `CloudbrokerAccountListDeletedResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-836 | Функция `cloudbroker.account.list`: добавлен атрибут `CloudbrokerAccountListResultModel.data.acl.user_name` в связи с переименованием из `user_group_id`. |
| BPYS-838 | Функция `cloudapi.bservice.group_parent_add`: добавлен параметр `child_id` в связи с переименованием из `bsgroup_id`. |
| BPYS-838 | Функция `cloudapi.bservice.group_parent_remove`: добавлен параметр `child_id` в связи с переименованием из `bsgroup_id`. |
| BPYS-840 | Функция `cloudapi.compute.list_deleted`: добавлен атрибут `CloudapiComputeListDeletedResultModel.data.pci_devices` в связи с переименованием из `devices`. |
| BPYS-840 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.pci_devices` в связи с переименованием из `devices`. |
| BPYS-853 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfdev.config.mgmt.user_name` в связи с переименованием из `user`. |
| BPYS-866 | Функция `cloudbroker.user.create`: добавлен параметр `email_address` в связи с переименованием из `email_addresses`. |
| BPYS-866 | Функция `cloudbroker.user.create`: у параметра `email_address` изменен тип с `list[str]` на `str`. |
| BPYS-866 | Функция `cloudbroker.user.create`: тип ответа функции изменен с `bool` на `str`. |
| BPYS-869 | Функция `cloudbroker.user.list`: добавлено значение по умолчанию `1` для параметра `page_number`. |
| BPYS-870 | Функция `cloudbroker.user.list`: добавлено значение по умолчанию `100` для параметра `page_size`. |
| BPYS-858 | Функция `cloudapi.storage_policy.list`: добавлен параметр `sep_tech_status`. |
| BPYS-864 | Функция `cloudbroker.storage_policy.list`: добавлен параметр `sep_tech_status`. |
| BPYS-860 | Функция `cloudapi.storage_policy.list`: добавлен атрибут `CloudapiStoragePolicyListResultModel.data.sep_pools.sep_tech_status`. |
| BPYS-860 | Функция `cloudbroker.storage_policy.list`: добавлен атрибут `CloudbrokerStoragePolicyListResultModel.data.sep_pools.sep_tech_status`. |
| BPYS-885 | Функции `cloudapi.trunk.list`, `cloudapi.trunk.get`: добавлен атрибут `TrunkAPIResultNM.mtu`. |
| BPYS-875 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.disks.sep_id`. |
| BPYS-878 | Функция `cloudapi.kvmx86.create`: добавлен параметр `interfaces.net_prefix`. |
| BPYS-878 | Функция `cloudapi.kvmx86.create_blank`: добавлен параметр `interfaces.net_prefix`. |
| BPYS-874 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.account.list_deleted`: добавлен атрибут `CloudapiAccountListDeletedResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.account.list`: добавлен атрибут `CloudapiAccountListResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.account.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.rg.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.vm.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.account.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.rg.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: добавлен атрибут `CloudapiComputeUserListResultModel.data.acl.vm.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.account.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.k8s.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: добавлен атрибут `CloudapiK8sGetResultModel.acl.rg.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.rg.get`: добавлен атрибут `CloudapiRgGetResultModel.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.rg.list_deleted`: добавлен атрибут `CloudapiRgListDeletedResultModel.data.account_acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.rg.list_deleted`: добавлен атрибут `CloudapiRgListDeletedResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudapi.rg.list`: добавлен атрибут `CloudapiRgListResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudbroker.account.get`: добавлен атрибут `CloudbrokerAccountGetResultModel.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudbroker.account.list_deleted`: добавлен атрибут `CloudbrokerAccountListDeletedResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-874 | Функция `cloudbroker.account.list`: добавлен атрибут `CloudbrokerAccountListResultModel.data.acl.user_emails` в связи с переименованием из `emails`. |
| BPYS-895 | Функции `cloudapi.disks.get`, `cloudapi.disks.list`, `cloudapi.disks.list_deleted`, `cloudapi.sep.list_available_sep_and_pools`: в перечисляемый тип `SEPType` добавлен атрибут `USTOR`. |
| BPYS-910 | Функция `cloudapi.compute.get`: в модель результата добавлено поле `disks.cache_mode`. |
| BPYS-912 | Функция `cloudapi.disks.get`: в модель результата добавлено поле `cache_mode`. |
| BPYS-911 | Функции `cloudapi.disks.list`, `cloudapi.disks.list_deleted`: в модели результата добавлено поле `cache_mode`. |
| BPYS-880 | Функция `cloudapi.compute.net_attach`: добавлен параметр `net_prefix`. |
| BPYS-941 | Функция `cloudapi.zone.get`: в модель результата добавлено поле `node_auto_start`. |
| BPYS-942 | Функция `cloudapi.zone.list`: в модель результата добавлено поле `data.node_auto_start`. |
| BPYS-976 | Функция `cloudapi.compute.net_attach`: добавлен параметр `sdn_segment_id`. |
| BPYS-977 | Функция `cloudapi.compute.net_attach`: добавлен параметр `sdn_object_group_id`. |
| BPYS-978 | Функция `cloudapi.compute.net_attach`: добавлен параметр `sdn_logical_port_display_name`. |
| BPYS-979 | Функция `cloudapi.compute.net_attach`: добавлен параметр `sdn_logical_port_description`. |
| BPYS-984 | Функции `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: добавлен параметр `interfaces.sdn_segment_id`. |
| BPYS-985 | Функции `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: добавлен параметр `interfaces.sdn_object_group_id`. |
| BPYS-986 | Функции `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: добавлен параметр `interfaces.sdn_logical_port_display_name`. |
| BPYS-987 | Функции `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: добавлен параметр `interfaces.sdn_logical_port_description`. |
| BPYS-996 | Функция `cloudapi.compute.get`: в модель результата добавлено поле `disks.blkdiscard`. |
| BPYS-997 | Функция `cloudapi.disks.get`: в модель результата добавлено поле `blkdiscard`. |
| BPYS-998 | Функции `cloudapi.disks.list`, `cloudapi.disks.list_deleted`: в модели результата добавлено поле `data.blkdiscard`. |
## Удалено ## Удалено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BPYS-47 | Функция API `/cloudapi/rg/create`: удален параметр `register_computes`. | | BPYS-733 | Функция `cloudapi.account.get`: удален атрибут `CloudapiAccountGetResultModel.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-208 | Функция API `/cloudapi/disks/create`: удален параметр `grid_id`. | | BPYS-733 | Функция `cloudapi.account.update`: удален параметр `uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.disks.order`. | | BPYS-733 | Функция `cloudapi.rg.get`: удален атрибут `CloudapiRgGetResultModel.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.pinned` в связи с переименованием в `pinned_to_stack`. | | BPYS-733 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.registered`. | | BPYS-733 | Функция `cloudapi.rg.list`: удален атрибут `CloudapiRgListResultModel.data.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.disks.bus_number`. | | BPYS-733 | Функция `cloudapi.rg.update`: удален параметр `clear_uniq_pools` в связи с переименованием из `clear_sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.disks.pci_slot`. | | BPYS-733 | Функция `cloudapi.rg.update`: удален параметр `uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.pinned` в связи с переименованием в `pinned_to_stack`. | | BPYS-733 | Функция `cloudbroker.account.create`: удален параметр `uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.registered`. | | BPYS-733 | Функция `cloudbroker.account.get`: удален атрибут `CloudbrokerAccountGetResultModel.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/disks/get`: удален атрибут `CloudapiDisksGetResultModel.order`. | | BPYS-733 | Функция `cloudbroker.account.list_deleted`: удален атрибут `CloudbrokerAccountListDeletedResultModel.data.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/disks/list`: удален атрибут `CloudapiDisksListResultModel.data.order`. | | BPYS-733 | Функция `cloudbroker.account.list`: удален атрибут `CloudbrokerAccountListResultModel.data.uniq_pools` в связи с переименованием в `sep_pools`. |
| BPYS-25 | Функция API `/cloudapi/image/create`: у параметра `boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_remove`, `cloudapi.compute.anti_affinity_rule_add`, `cloudapi.compute.anti_affinity_rule_remove`: в перечисляемом типе `AffinityTopology` было удалено значение `vm` в связи с переименованием в `VM`.|
| BPYS-25 | Функция API `/cloudapi/image/get`: у атрибута `CloudapiImageGetResultModel.boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_add`, `cloudapi.compute.affinity_rule_remove`, `cloudapi.compute.anti_affinity_rule_add`, `cloudapi.compute.anti_affinity_rule_remove`: в перечисляемом типе `AffinityTopology` было удалено значение `node` в связи с переименованием в `NODE`.|
| BPYS-25 | Функция API `/cloudapi/image/list`: у атрибута `CloudapiImageListResultModel.data.boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`: в перечисляемом типе `BootDevice` было удалено значение `cdrom` в связи с переименованием в `CDROM`.|
| BPYS-46 | Функция API `/cloudapi/rg/list`: удалён атрибут `CloudapiRgListResultModel.data.register_computes`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`: в перечисляемом типе `BootDevice` было удалено значение `hd` в связи с переименованием в `HD`.|
| BPYS-46 | Функция API `/cloudapi/rg/get`: удалён атрибут `CloudapiRgGetResultModel.register_computes`. | | BPYS-755 | Функции `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.compute.update`, `cloudapi.bservice.group_get`, `cloudapi.bservice.group_add`, `cloudapi.bservice.group_resize`, `cloudapi.k8s.create`, `cloudapi.k8s.worker_add`, `cloudapi.k8s.workers_group_add`, `cloudapi.kvmx86.create`, `cloudapi.kvmx86.create_blank`: в перечисляемом типе `Chipset` было удалено значение `i440fx` в связи с переименованием в `I440FX`.|
| BPYS-53 | Функция API `/cloudapi/rg/update`: удален параметр `register_computes`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемом типе `NumaAffinity` было удалено значение `none` в связи с переименованием в `NONE`.|
| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: удален атрибут `CloudapiDisksListDeletedResultModel.data.order`. | | BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемом типе `NumaAffinity` было удалено значение `strict` в связи с переименованием в `STRICT`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create`: в перечисляемом типе `NumaAffinity` было удалено значение `loose` в связи с переименованием в `LOOSE`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `TXMode` было удалено значение `iothread` в связи с переименованием в `IOTHREAD`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `TXMode` было удалено значение `selected by hypervisor` в связи с переименованием в `SELECTED_BY_HYPERVISOR`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `TXMode` было удалено значение `timer` в связи с переименованием в `TIMER`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `Ioeventfd` было удалено значение `off` в связи с переименованием в `OFF`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `Ioeventfd` было удалено значение `on` в связи с переименованием в `ON`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `Ioeventfd` было удалено значение `selected by hypervisor` в связи с переименованием в `SELECTED_BY_HYPERVISOR`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `EventIdx` было удалено значение `off` в связи с переименованием в `OFF`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `EventIdx` было удалено значение `on` в связи с переименованием в `ON`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.net_attach`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.vins.get`: в перечисляемом типе `EventIdx` было удалено значение `selected by hypervisor` в связи с переименованием в `SELECTED_BY_HYPERVISOR`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `changemac` в связи с переименованием в `CHANGEMAC`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `cpupin` в связи с переименованием в `CPUPIN`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `dpdk` в связи с переименованием в `DPDK`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `hugepages` в связи с переименованием в `HUGEPAGES`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `numa` в связи с переименованием в `NUMA`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `trunk` в связи с переименованием в `TRUNK`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudapi.account.list`, `cloudapi.account.list_deleted` `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`, `cloudbroker.account.create`, `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `VMFeature` было удалено значение `vfnic` в связи с переименованием в `VFNIC`.|
| BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `RGResourceType` было удалено значение `vm` в связи с переименованием в `VM`.|
| BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `RGResourceType` было удалено значение `k8s` в связи с переименованием в `K8S`.|
| BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `RGResourceType` было удалено значение `lb` в связи с переименованием в `LB`.|
| BPYS-755 | Функции `cloudapi.rg.get`, `cloudapi.rg.list`, `cloudapi.rg.list_deleted`: в перечисляемом типе `RGResourceType` было удалено значение `vins` в связи с переименованием в `VINS`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемом типе `AccountResourceType` было удалено значение `vm` в связи с переименованием в `VM`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемом типе `AccountResourceType` было удалено значение `k8s` в связи с переименованием в `K8S`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемом типе `AccountResourceType` было удалено значение `lb` в связи с переименованием в `LB`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемом типе `AccountResourceType` было удалено значение `vins` в связи с переименованием в `VINS`.|
| BPYS-755 | Функции `cloudapi.account.get`, `cloudbroker.account.get`, `cloudbroker.account.list`, `cloudbroker.account.list_deleted`: в перечисляемом типе `AccountResourceType` было удалено значение `flipgroup` в связи с переименованием в `FLIPGROUP`.|
| BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `ImageType` было удалено значение `cdrom` в связи с переименованием в `CDROM`.|
| BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `ImageType` было удалено значение `linux` в связи с переименованием в `LINUX`.|
| BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `ImageType` было удалено значение `unknown` в связи с переименованием в `UNKNOWN`.|
| BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `ImageType` было удалено значение `virtual` в связи с переименованием в `VIRTUAL`.|
| BPYS-755 | Функции `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `ImageType` было удалено значение `windows` в связи с переименованием в `WINDOWS`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `NetIfaceNamingTemplate` было удалено значение `ens` в связи с переименованием в `ENS`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `NetIfaceNamingTemplate` было удалено значение `eth` в связи с переименованием в `ETH`.|
| BPYS-755 | Функции `cloudapi.vins.get`, `cloudapi.vins.nat_rule_add`, `cloudapi.vins.nat_rule_list`, `cloudapi.compute.pfw_list`, `cloudapi.compute.pfw_add`, `cloudapi.compute.pfw_del`: в перечисляемом типе `NATRuleProtocol` было удалено значение `tcp` в связи с переименованием в `TCP`.|
| BPYS-755 | Функции `cloudapi.vins.get`, `cloudapi.vins.nat_rule_add`, `cloudapi.vins.nat_rule_list`, `cloudapi.compute.pfw_list`, `cloudapi.compute.pfw_add`, `cloudapi.compute.pfw_del`: в перечисляемом типе `NATRuleProtocol` было удалено значение `udp` в связи с переименованием в `UDP`.|
| BPYS-755 | Функция `cloudapi.vins.get`: в перечисляемом типе `VNFDevType` было удалено значение `vyos` в связи с переименованием в `VYOS`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `BootMode` было удалено значение `bios` в связи с переименованием в `BIOS`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`, `cloudapi.image.list`: в перечисляемом типе `BootMode` было удалено значение `uefi` в связи с переименованием в `UEFI`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемом типе `BootLoaderType` было удалено значение `linux` в связи с переименованием в `LINUX`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемом типе `BootLoaderType` было удалено значение `unknown` в связи с переименованием в `UNKNOWN`.|
| BPYS-755 | Функции `cloudapi.compute.get`, `cloudapi.compute.update`, `cloudapi.compute.list`, `cloudapi.compute.list_deleted`, `cloudapi.kvmx86.create_blank`, `cloudapi.image.create`, `cloudapi.image.get`: в перечисляемом типе `BootLoaderType` было удалено значение `windows` в связи с переименованием в `WINDOWS`.|
| BPYS-755 | Функция `cloudapi.compute.change_link_state`: в перечисляемом типе `LinkState` было удалено значение `on` в связи с переименованием в `ON`.|
| BPYS-755 | Функция `cloudapi.compute.change_link_state`: в перечисляемом типе `LinkState` было удалено значение `off` в связи с переименованием в `OFF`.|
| BPYS-767 | Функция `cloudapi.rg.update`: удален параметр `storage_policies` в связи с переименованием в `storage_policies_quotas`. |
| BPYS-762 | Функция `cloudbroker.compute.migrate_storage_list`: удален атрибут `CloudbrokerComputeMigrateStorageListResultModel.data.source_stack_id` в связи с переименованием в `source_node_id`. |
| BPYS-763 | Функция `cloudbroker.compute.migrate_storage_list`: удален атрибут `CloudbrokerComputeMigrateStorageListResultModel.data.target_stack_id` в связи с переименованием в `target_node_id`. |
| BPYS-765 | Функция `cloudapi.account.update`: удален параметр `ext_traffic_quota`. |
| BPYS-771 | Функция `cloudbroker.account.create`: удален параметр `ext_traffic_quota`. |
| BPYS-783 | Функция `cloudapi.rg.update`: удален параметр `ext_traffic_quota`. |
| BPYS-810 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.pinned_to_stack` в связи с переименованием в `pinned_to_node`. |
| BPYS-807 | Удалена функция `cloudapi.compute.pin_to_stack` в связи с переименованием в `cloudapi.compute.pin_to_node`. |
| BPYS-808 | Удалена функция `cloudapi.compute.unpin_from_stack` в связи с переименованием в `cloudapi.compute.unpin_from_node`. |
| BPYS-830 | Функция `cloudapi.vins.get`: удален атрибут `CloudapiVinsGetResultModel.vnfdev.config.resources.stack_id` в связи с переименованием в `node_id`. |
| BPYS-828 | Функция `cloudapi.bservice.get`: удален атрибут `CloudapiBserviceGetResultModel.vms.stack_id` в связи с переименованием в `node_id`. |
| BPYS-824 | Функция `cloudbroker.compute.start_migration_in`: удален параметр `stack_id` в связи с переименованием в `node_id`. |
| BPYS-818 | Удалена функция `cloudapi.stack.get`. |
| BPYS-785 | Функция `cloudapi.rg.create`: удален параметр `ext_traffic_quota`. |
| BPYS-821 | Функция `cloudapi.compute.list`: удален атрибут `CloudapiComputeListResultModel.data.pinned_to_stack` в связи с переименованием в `pinned_to_node`. |
| BPYS-821 | Функция `cloudapi.compute.list_deleted`: удален атрибут `CloudapiComputeListDeletedResultModel.data.pinned_to_stack` в связи с переименованием в `pinned_to_node`. |
| BPYS-803 | Функция `cloudapi.compute.list`: удален атрибут `CloudapiComputeListResultModel.data.total_disks_size` в связи с переименованием в `total_disks_size_gb`. |
| BPYS-803 | Функция `cloudapi.compute.list_deleted`: удален атрибут `CloudapiComputeListDeletedResultModel.data.total_disks_size` в связи с переименованием в `total_disks_size_gb`. |
| BPYS-804 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.size_used` в связи с переименованием в `size_used_gb`. |
| BPYS-804 | Функция `cloudapi.disk.get`: удален атрибут `CloudapiDiskGetResultModel.size_used` в связи с переименованием в `size_used_gb`. |
| BPYS-804 | Функция `cloudapi.disk.list_deleted`: удален атрибут `CloudapiDiskListDeletedResultModel.data.size_used` в связи с переименованием в `size_used_gb`. |
| BPYS-804 | Функция `cloudapi.disk.list_unattached`: удален атрибут `CloudapiDiskListUnattachedResultModel.data.size_used` в связи с переименованием в `size_used_gb`. |
| BPYS-804 | Функция `cloudapi.disk.list`: удален атрибут `CloudapiDiskListResultModel.data.size_used` в связи с переименованием в `size_used_gb`. |
| BPYS-805 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.size_available` в связи с переименованием в `size_available_gb`. |
| BPYS-805 | Функция `cloudapi.disk.get`: удален атрибут `CloudapiDiskGetResultModel.size_available` в связи с переименованием в `size_available_gb`. |
| BPYS-805 | Функция `cloudapi.disk.list_deleted`: удален атрибут `CloudapiDiskListDeletedResultModel.data.size_available` в связи с переименованием в `size_available_gb`. |
| BPYS-805 | Функция `cloudapi.disk.list_unattached`: удален атрибут `CloudapiDiskListUnattachedResultModel.data.size_available` в связи с переименованием в `size_available_gb`. |
| BPYS-805 | Функция `cloudapi.disk.list`: удален атрибут `CloudapiDiskListResultModel.data.size_available` в связи с переименованием в `size_available_gb`. |
| BPYS-766 | Функция `cloudapi.account.get`: удален атрибут `CloudapiAccountGetResultModel.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudbroker.account.get`: удален атрибут `CloudbrokerAccountGetResultModel.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudbroker.account.list`: удален атрибут `CloudbrokerAccountListResultModel.data.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudbroker.account.list_deleted`: удален атрибут `CloudbrokerAccountListDeletedResultModel.data.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudapi.rg.get`: удален атрибут `CloudapiRgGetResultModel.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudapi.rg.list`: удален атрибут `CloudapiRgListResultModel.data.quotas.ext_traffic`. |
| BPYS-766 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.quotas.ext_traffic`. |
| BPYS-819 | Удалена функция `cloudapi.stack.list`. |
| BPYS-832 | Функция `cloudapi.pcidevice.list`: удален атрибут `CloudapiPcideviceListResultModel.data.stack_id` в связи с переименованием в `node_id`. |
| BPYS-850 | Функция `cloudapi.account.get_resource_consumption`: удален атрибут `CloudapiAccountGetResourceConsumptionResultModel.consumed.ext_traffic`. |
| BPYS-850 | Функция `cloudapi.rg.get_resource_consumption`: удален атрибут `CloudapiRgGetResourceConsumptionResultModel.consumed.ext_traffic`. |
| BPYS-850 | Функция `cloudapi.user.get_resource_consumption`: удален атрибут `CloudapiUserGetResourceConsumptionResultModel.consumed.ext_traffic`. |
| BPYS-850 | Функция `cloudbroker.account.get_resource_consumption`: удален атрибут `CloudbrokerAccountGetResourceConsumptionResultModel.consumed.ext_traffic`. |
| BPYS-851 | Функция `cloudapi.account.get_resource_consumption`: удален атрибут `CloudapiAccountGetResourceConsumptionResultModel.reserved.ext_traffic`. |
| BPYS-851 | Функция `cloudapi.rg.get_resource_consumption`: удален атрибут `CloudapiRgGetResourceConsumptionResultModel.reserved.ext_traffic`. |
| BPYS-851 | Функция `cloudapi.user.get_resource_consumption`: удален атрибут `CloudapiUserGetResourceConsumptionResultModel.reserved.ext_traffic`. |
| BPYS-851 | Функция `cloudbroker.account.get_resource_consumption`: удален атрибут `CloudbrokerAccountGetResourceConsumptionResultModel.reserved.ext_traffic`. |
| BPYS-852 | Функция `cloudapi.account.get_resource_consumption`: удален атрибут `CloudapiAccountGetResourceConsumptionResultModel.quotas.ext_traffic`. |
| BPYS-852 | Функция `cloudapi.rg.get_resource_consumption`: удален атрибут `CloudapiRgGetResourceConsumptionResultModel.quotas.ext_traffic`. |
| BPYS-852 | Функция `cloudbroker.account.get_resource_consumption`: удален атрибут `CloudbrokerAccountGetResourceConsumptionResultModel.quotas.ext_traffic`. |
| BPYS-839 | Функция `cloudapi.disks.list_types`: в перечисляемом типе `PoolDiskType` был удален атрибут `B` в связи с переименованием в `BOOT`.|
| BPYS-839 | Функция `cloudapi.disks.list_types`: в перечисляемом типе `PoolDiskType` был удален атрибут `D` в связи с переименованием в `DATA`.|
| BPYS-839 | Функции `cloudapi.compute.disk_add`, `cloudapi.compute.disk_attach`, `cloudapi.compute.get`, `cloudapi.disks.get`, `cloudapi.disks.list`, `cloudapi.disks.list_deleted`, `cloudapi.disks.list_unattached`: в перечисляемом типе `DiskType` был удален атрибут `B` в связи с переименованием в `BOOT`.|
| BPYS-839 | Функции `cloudapi.compute.disk_add`, `cloudapi.compute.disk_attach`, `cloudapi.compute.get`, `cloudapi.disks.get`, `cloudapi.disks.list`, `cloudapi.disks.list_deleted`, `cloudapi.disks.list_unattached`: в перечисляемом типе `DiskType` был удален атрибут `D` в связи с переименованием в `DATA`.|
| BPYS-836 | Функция `cloudapi.account.get`: удален атрибут `CloudapiAccountGetResultModel.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.account.list_deleted`: удален атрибут `CloudapiAccountListDeletedResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.account.list`: удален атрибут `CloudapiAccountListResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.account.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.rg.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.vm.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.account.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.rg.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.vm.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.account.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.k8s.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.rg.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.rg.get`: удален атрибут `CloudapiRgGetResultModel.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.account_acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudapi.rg.list`: удален атрибут `CloudapiRgListResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudbroker.account.get`: удален атрибут `CloudbrokerAccountGetResultModel.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudbroker.account.list_deleted`: удален атрибут `CloudbrokerAccountListDeletedResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-836 | Функция `cloudbroker.account.list`: удален атрибут `CloudbrokerAccountListResultModel.data.acl.user_group_id` в связи с переименованием в `user_name`. |
| BPYS-838 | Функция `cloudapi.bservice.group_parent_add`: удален параметр `bsgroup_id` в связи с переименованием в `child_id`. |
| BPYS-838 | Функция `cloudapi.bservice.group_parent_remove`: удален параметр `bsgroup_id` в связи с переименованием в `child_id`. |
| BPYS-840 | Функция `cloudapi.compute.list_deleted`: удален атрибут `CloudapiComputeListDeletedResultModel.data.devices` в связи с переименованием в `pci_devices`. |
| BPYS-840 | Функция `cloudapi.compute.list`: удален атрибут `CloudapiComputeListResultModel.data.devices` в связи с переименованием в `pci_devices`. |
| BPYS-853 | Функция `cloudapi.vins.get`: удален атрибут `CloudapiVinsGetResultModel.vnfdev.config.mgmt.user` в связи с переименованием в `user_name`. |
| BPYS-866 | Функция `cloudbroker.user.create`: удален параметр `email_addresses` в связи с переименованием в `email_address`. |
| BPYS-874 | Функция `cloudapi.account.get`: удален атрибут `CloudapiAccountGetResultModel.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.account.list_deleted`: удален атрибут `CloudapiAccountListDeletedResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.account.list`: удален атрибут `CloudapiAccountListResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.account.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.rg.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.get`: удален атрибут `CloudapiComputeGetResultModel.acl.vm.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.account.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.rg.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.compute.user_list`: удален атрибут `CloudapiComputeUserListResultModel.data.acl.vm.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.account.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.k8s.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.k8s.get`: удален атрибут `CloudapiK8sGetResultModel.acl.rg.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.rg.get`: удален атрибут `CloudapiRgGetResultModel.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.account_acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.rg.list_deleted`: удален атрибут `CloudapiRgListDeletedResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudapi.rg.list`: удален атрибут `CloudapiRgListResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudbroker.account.get`: удален атрибут `CloudbrokerAccountGetResultModel.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudbroker.account.list_deleted`: удален атрибут `CloudbrokerAccountListDeletedResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-874 | Функция `cloudbroker.account.list`: удален атрибут `CloudbrokerAccountListResultModel.data.acl.emails` в связи с переименованием в `user_emails`. |
| BPYS-899 | Функция `cloudbroker.compute.clone`: удалена возможность не задавать параметр `storage_policy_id`. |
| BPYS-900 | Функции `cloudapi.compute.list`, `cloudapi.compute.list_deleted`: из модели результата удалено поле `data.snapshot_sets.disks` в связи с переименованием в `data.snapshot_sets.disk_ids`. |
| BPYS-900 | Функция `cloudapi.compute.get`: из модели результата удалено поле `snapshot_sets.disks` в связи с переименованием в `snapshot_sets.disk_ids`. |
| BPYS-900 | Функция `cloudapi.compute.snapshot_list`: из модели результата удалено поле `data.disks` в связи с переименованием в `data.disk_ids`. |
| BPYS-887 | Функции `cloudapi.security_group.get`, `cloudapi.security_group.update`, `cloudbroker.security_group.get`, `cloudbroker.security_group.update`: из модели результата удалено поле `rules.remote_ip_prefix` в связи с переименованием в `rules.remote_net_cidr`. |
| BPYS-887 | Функции `cloudapi.security_group.list`, `cloudbroker.security_group.list`: из модели результата удалено поле `data.rules.remote_ip_prefix` в связи с переименованием в `data.rules.remote_net_cidr`. |
| BPYS-887 | Функции `cloudapi.security_group.create_rule`, `cloudbroker.security_group.create_rule`: удален параметр `remote_ip_prefix` в связи с переименованием в `remote_net_cidr`. |
| BPYS-928 | Функция `cloudapi.image.get`: в моделе ответа тип поля `res_id` изменен с `str` на `str \| None`. |
| BPYS-924 | Функция `cloudbroker.account.update`: для параметра `send_access_emails` изменено значение по умолчанию с `False` на `None` . |
| BPYS-919 | Функция `cloudapi.account.update`: для параметра `send_access_emails` изменено значение по умолчанию с `False` на `None` . |
| BPYS-944 | Функция `cloudapi.bservice.group_add`: удален параметр `driver` . |
| BPYS-936 | Функции `cloudbroker.account.get`, `cloudapi.account.get`, `cloudapi.rg.get`: в моделе ответа тип поля `acl.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функции `cloudapi.account.list_deleted`, `cloudapi.account.list`, `cloudapi.rg.list`, `cloudbroker.account.list`, `cloudapi.rg.list_deleted`, `cloudbroker.account.list_deleted`: в моделе ответа тип поля `data.acl.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функции `cloudapi.k8s.get`, `cloudapi.compute.get`: в моделе ответа тип поля `acl.account.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функции `cloudapi.compute.get`, `cloudapi.k8s.get`: в моделе ответа тип поля `acl.rg.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функция `cloudapi.compute.get`: в моделе ответа тип поля `acl.vm.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функция `cloudapi.compute.user_list`: в моделе ответа тип поля `data.acl.account.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функция `cloudapi.compute.user_list`: в моделе ответа тип поля `data.acl.rg.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функция `cloudapi.compute.user_list`: в моделе ответа тип поля `data.acl.vm.guid` изменен с `str` на `str \| None`. |
| BPYS-936 | Функция `cloudapi.k8s.get`: в моделе ответа тип поля `acl.k8s.guid` изменен с `str` на `str \| None`. |
| BPYS-956 | Функция `cloudapi.flipgroup.list`: удален параметр `rg_id`. |
| BPYS-952 | Функция `cloudapi.flipgroup.get`: из модели результата удалено поле `rg_id` . |
| BPYS-953 | Функция `cloudapi.flipgroup.get`: из модели результата удалено поле `rg_name` . |
| BPYS-999 | Функция `cloudapi.image.get`: из модели результата удалено поле `ckey` . |
## Исправлено ## Исправлено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BPYS-238 | Функция API `cloudapi/flipgroup/create`: у параметра `client_type` исправлена ошибка в значении по умолчанию. | | BPYS-842 | Функция `cloudbroker.user.get`: вызов функции завершался ошибкой валидации полей `_ckey` и `_meta`. |
| BPYS-220 | Функция API `/cloudapi/compute/pfwAdd`: удалено значение по умолчанию для параметра `protocol`. | | BPYS-922 | Функция `cloudbroker.account.add_user`: вызов функции завершался ошибкой: `HTTPError: 400 Client Error` при передаче значения `CXDRAU` из перечисляемого типа `AccessType`. Тип параметра был исправлен с `AccessType` на `AccessTypeForSet`. |
| BPYS-239 | Функция API `cloudapi/flipgroup/create`: при вызове функции, возникала ошибка валидации атрибута `CloudapiFlipgroupCreateResultModel.ip_addr`. |

View File

@@ -1,4 +0,0 @@
dev:
pip install -e .
pip install -r requirements-dev.txt
pre-commit install

391
README.md
View File

@@ -15,7 +15,8 @@
- [Ошибки и исключения (exceptions)](#ошибки-и-исключения-exceptions) - [Ошибки и исключения (exceptions)](#ошибки-и-исключения-exceptions)
- [Ошибки валидации данных](#ошибки-валидации-данных) - [Ошибки валидации данных](#ошибки-валидации-данных)
- [Ошибки HTTP](#ошибки-http) - [Ошибки HTTP](#ошибки-http)
- [Доступный функционал](#доступный-функционал) - [Ошибка несовместимости c API](#ошибка-несовместимости-с-api)
- [Доступная функциональность](#доступная-функциональность)
- [Способы авторизации](#способы-авторизации) - [Способы авторизации](#способы-авторизации)
- [Функции API](#функции-api) - [Функции API](#функции-api)
- [Cloudapi](#cloudapi) - [Cloudapi](#cloudapi)
@@ -26,7 +27,7 @@
**Dynamix Python SDK** предоставляет удобный интерфейс для интеграции взаимодействия с API **Dynamix Enterprise** в программный код на языке Python. **Dynamix Python SDK** предоставляет удобный интерфейс для интеграции взаимодействия с API **Dynamix Enterprise** в программный код на языке Python.
**Примечание:** проект находится в стадии активной разработки, [доступный функционал](#доступный-функционал) будет расширяться с каждой новой версией. **Примечание:** проект находится в стадии активной разработки, [доступная функциональность](#доступная-функциональность) будет расширяться с каждой новой версией.
## Системные требования ## Системные требования
@@ -34,6 +35,9 @@
| Версия платформы | Версия SDK | | Версия платформы | Версия 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 | | 4.3.0 | 1.1.x |
| 4.2.0 | 1.0.x | | 4.2.0 | 1.0.x |
@@ -118,6 +122,24 @@ dx = Dynamix(
</details> </details>
<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>
<details><summary>Настройка повторных попыток при 503</summary> <details><summary>Настройка повторных попыток при 503</summary>
По умолчанию SDK при получении кода ответа 503 производит 10 повторных попыток с интервалом 5 секунд. Данное поведение можно скорректировать: По умолчанию SDK при получении кода ответа 503 производит 10 повторных попыток с интервалом 5 секунд. Данное поведение можно скорректировать:
@@ -185,6 +207,24 @@ BVSAuth(
</details> </details>
<details><summary>Игнорирование проверки совместимости с API</summary>
**Важно:** игнорирование проверки совместимости с API может вызвать непредвиденные ошибки в работе SDK, поэтому использование данной возможности допустимо только принимая на себя всю ответственность за возможные последствия.
При игнорирование выводится только сообщение с предупреждением о несовместимости.
```python
from dynamix_sdk import Dynamix
Dynamix(
...,
ignore_api_compatibility=True,
)
```
</details>
### Функциональный интерфейс ### Функциональный интерфейс
Функциональный интерфейс предоставляет функции, соответствующие функциям API платформы. Функциональный интерфейс предоставляет функции, соответствующие функциям API платформы.
@@ -195,17 +235,35 @@ BVSAuth(
![](/demo/select_api_function_and_passing_params_and_save_result.gif) ![](/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>
<details><summary>Передача вложенных параметров </summary> <details><summary>Передача вложенных параметров </summary>
```python ```python
from dynamix_sdk import Dynamix, types from dynamix_sdk import Dynamix, types as sdk_types
dx = Dynamix(...) 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 # /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create( new_vm_id = dx.api.cloudapi.kvmx86.create(
@@ -223,7 +281,7 @@ new_vm_id = dx.api.cloudapi.kvmx86.create(
<details><summary>Передача параметров перечисляемого типа (enum) </summary> <details><summary>Передача параметров перечисляемого типа (enum) </summary>
```python ```python
from dynamix_sdk import Dynamix, types from dynamix_sdk import Dynamix, types as sdk_types
dx = Dynamix(...) dx = Dynamix(...)
@@ -235,8 +293,8 @@ new_vm_id = dx.api.cloudapi.kvmx86.create(
cpu_count=1, cpu_count=1,
ram_size_mb=1024, ram_size_mb=1024,
image_id=456, image_id=456,
chipset=types.Chipset.Q35, # enum chipset=sdk_types.Chipset.Q35, # enum
numa_affinity=types.NumaAffinity.none, # enum numa_affinity=sdk_types.NumaAffinity.NONE, # enum
) )
``` ```
@@ -454,8 +512,13 @@ SDK для выполнения HTTP-запросов использует би
from requests.exceptions import RequestException, HTTPError from requests.exceptions import RequestException, HTTPError
from dynamix_sdk import Dynamix from dynamix_sdk import Dynamix
try:
dx = Dynamix(...) 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 vm_id = 1
@@ -476,7 +539,26 @@ except RequestException as e:
Подробную информацию об исключениях библиотеки **Requests** можно получить в [соответствующем разделе официальной документации Requests](https://requests.readthedocs.io/en/latest/user/quickstart/#errors-and-exceptions). Подробную информацию об исключениях библиотеки **Requests** можно получить в [соответствующем разделе официальной документации Requests](https://requests.readthedocs.io/en/latest/user/quickstart/#errors-and-exceptions).
## Доступный функционал <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
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
При создании экземпляра класса `Dynamix`, SDK производит проверку совместимости с API.
При несовместимости будет вызвано исключение `exceptions.IncompatibleAPIError`.
## Доступная функциональность
### Способы авторизации ### Способы авторизации
@@ -498,6 +580,7 @@ except RequestException as e:
- /cloudapi/account/disable - /cloudapi/account/disable
- /cloudapi/account/enable - /cloudapi/account/enable
- /cloudapi/account/get - /cloudapi/account/get
- /cloudapi/account/getResourceConsumption
- /cloudapi/account/list - /cloudapi/account/list
- /cloudapi/account/listDeleted - /cloudapi/account/listDeleted
- /cloudapi/account/restore - /cloudapi/account/restore
@@ -509,6 +592,7 @@ except RequestException as e:
<details><summary>audit</summary> <details><summary>audit</summary>
- /cloudapi/audit/get - /cloudapi/audit/get
- /cloudapi/audit/list
</details> </details>
@@ -533,7 +617,12 @@ except RequestException as e:
- /cloudapi/bservice/groupUpdateVins - /cloudapi/bservice/groupUpdateVins
- /cloudapi/bservice/list - /cloudapi/bservice/list
- /cloudapi/bservice/listDeleted - /cloudapi/bservice/listDeleted
- /cloudapi/bservice/migrateToZone
- /cloudapi/bservice/restore - /cloudapi/bservice/restore
- /cloudapi/bservice/snapshotCreate
- /cloudapi/bservice/snapshotDelete
- /cloudapi/bservice/snapshotList
- /cloudapi/bservice/snapshotRollback
- /cloudapi/bservice/start - /cloudapi/bservice/start
- /cloudapi/bservice/stop - /cloudapi/bservice/stop
@@ -541,6 +630,7 @@ except RequestException as e:
<details><summary>compute</summary> <details><summary>compute</summary>
- /cloudapi/compute/abort_shared_snapshot_merge
- /cloudapi/compute/affinityLabelRemove - /cloudapi/compute/affinityLabelRemove
- /cloudapi/compute/affinityLabelSet - /cloudapi/compute/affinityLabelSet
- /cloudapi/compute/affinityRelations - /cloudapi/compute/affinityRelations
@@ -550,29 +640,54 @@ except RequestException as e:
- /cloudapi/compute/antiAffinityRuleAdd - /cloudapi/compute/antiAffinityRuleAdd
- /cloudapi/compute/antiAffinityRuleRemove - /cloudapi/compute/antiAffinityRuleRemove
- /cloudapi/compute/antiAffinityRulesClear - /cloudapi/compute/antiAffinityRulesClear
- /cloudapi/compute/attachGpu
- /cloudapi/compute/attachPciDevice
- /cloudapi/compute/bootDiskSet
- /cloudapi/compute/cdEject - /cloudapi/compute/cdEject
- /cloudapi/compute/cdInsert - /cloudapi/compute/cdInsert
- /cloudapi/compute/changeMac
- /cloudapi/compute/change_mtu
- /cloudapi/compute/change_security_groups
- /cloudapi/compute/changeIp - /cloudapi/compute/changeIp
- /cloudapi/compute/changeLinkState
- /cloudapi/compute/clone - /cloudapi/compute/clone
- /cloudapi/compute/clone_abort
- /cloudapi/compute/createTemplate
- /cloudapi/compute/delete - /cloudapi/compute/delete
- /cloudapi/compute/deleteCustomFields - /cloudapi/compute/deleteCustomFields
- /cloudapi/compute/detachGpu
- /cloudapi/compute/detachPciDevice
- /cloudapi/compute/disable
- /cloudapi/compute/diskAdd - /cloudapi/compute/diskAdd
- /cloudapi/compute/diskAttach - /cloudapi/compute/diskAttach
- /cloudapi/compute/diskDel - /cloudapi/compute/diskDel
- /cloudapi/compute/diskDetach - /cloudapi/compute/diskDetach
- /cloudapi/compute/diskResize - /cloudapi/compute/diskMigrate
- /cloudapi/compute/diskSwitchToReplication
- /cloudapi/compute/enable
- /cloudapi/compute/get - /cloudapi/compute/get
- /cloudapi/compute/getConsoleUrl
- /cloudapi/compute/guest_agent_disable
- /cloudapi/compute/guest_agent_enable
- /cloudapi/compute/guest_agent_execute
- /cloudapi/compute/guest_agent_feature_update
- /cloudapi/compute/list - /cloudapi/compute/list
- /cloudapi/compute/listDeleted
- /cloudapi/compute/migrateToZone
- /cloudapi/compute/moveToRg
- /cloudapi/compute/netAttach - /cloudapi/compute/netAttach
- /cloudapi/compute/netDetach - /cloudapi/compute/netDetach
- /cloudapi/compute/pause - /cloudapi/compute/pause
- /cloudapi/compute/pfwAdd - /cloudapi/compute/pfwAdd
- /cloudapi/compute/pfwDel - /cloudapi/compute/pfwDel
- /cloudapi/compute/pfwList - /cloudapi/compute/pfwList
- /cloudapi/compute/pinToStack - /cloudapi/compute/pin_to_node
- /cloudapi/compute/powerCycle
- /cloudapi/compute/reboot - /cloudapi/compute/reboot
- /cloudapi/compute/redeploy - /cloudapi/compute/redeploy
- /cloudapi/compute/reset
- /cloudapi/compute/resize - /cloudapi/compute/resize
- /cloudapi/compute/restore
- /cloudapi/compute/resume - /cloudapi/compute/resume
- /cloudapi/compute/setCustomFields - /cloudapi/compute/setCustomFields
- /cloudapi/compute/snapshotCreate - /cloudapi/compute/snapshotCreate
@@ -582,7 +697,7 @@ except RequestException as e:
- /cloudapi/compute/stop - /cloudapi/compute/stop
- /cloudapi/compute/tagAdd - /cloudapi/compute/tagAdd
- /cloudapi/compute/tagRemove - /cloudapi/compute/tagRemove
- /cloudapi/compute/unpinFromStack - /cloudapi/compute/unpin_from_node
- /cloudapi/compute/update - /cloudapi/compute/update
- /cloudapi/compute/userGrant - /cloudapi/compute/userGrant
- /cloudapi/compute/userList - /cloudapi/compute/userList
@@ -593,6 +708,7 @@ except RequestException as e:
<details><summary>disks</summary> <details><summary>disks</summary>
- /cloudapi/disks/change_disk_storage_policy
- /cloudapi/disks/create - /cloudapi/disks/create
- /cloudapi/disks/delete - /cloudapi/disks/delete
- /cloudapi/disks/deleteDisks - /cloudapi/disks/deleteDisks
@@ -612,6 +728,13 @@ except RequestException as e:
</details> </details>
<details><summary>dpdknet</summary>
- /cloudapi/dpdknet/get
- /cloudapi/dpdknet/list
</details>
<details><summary>extnet</summary> <details><summary>extnet</summary>
- /cloudapi/extnet/get - /cloudapi/extnet/get
@@ -634,6 +757,7 @@ except RequestException as e:
<details><summary>image</summary> <details><summary>image</summary>
- /cloudapi/image/change_storage_policy
- /cloudapi/image/create - /cloudapi/image/create
- /cloudapi/image/createVirtual - /cloudapi/image/createVirtual
- /cloudapi/image/delete - /cloudapi/image/delete
@@ -652,6 +776,36 @@ except RequestException as e:
</details> </details>
<details><summary>k8s</summary>
- /cloudapi/k8s/create
- /cloudapi/k8s/delete
- /cloudapi/k8s/deleteMasterFromGroup
- /cloudapi/k8s/deleteWorkerFromGroup
- /cloudapi/k8s/disable
- /cloudapi/k8s/enable
- /cloudapi/k8s/get
- /cloudapi/k8s/getConfig
- /cloudapi/k8s/getNodeAnnotations
- /cloudapi/k8s/getNodeLabels
- /cloudapi/k8s/getNodeTaints
- /cloudapi/k8s/list
- /cloudapi/k8s/listDeleted
- /cloudapi/k8s/migrateToZone
- /cloudapi/k8s/restore
- /cloudapi/k8s/start
- /cloudapi/k8s/stop
- /cloudapi/k8s/update
- /cloudapi/k8s/updateWorkerNodesMetaData
- /cloudapi/k8s/workerAdd
- /cloudapi/k8s/workerReset
- /cloudapi/k8s/workerRestart
- /cloudapi/k8s/workersGroupAdd
- /cloudapi/k8s/workersGroupDelete
- /cloudapi/k8s/workersGroupGetByName
</details>
<details><summary>kvmx86</summary> <details><summary>kvmx86</summary>
- /cloudapi/kvmx86/create - /cloudapi/kvmx86/create
@@ -667,8 +821,11 @@ except RequestException as e:
- /cloudapi/lb/backendServerDelete - /cloudapi/lb/backendServerDelete
- /cloudapi/lb/backendServerUpdate - /cloudapi/lb/backendServerUpdate
- /cloudapi/lb/backendUpdate - /cloudapi/lb/backendUpdate
- /cloudapi/lb/configReset
- /cloudapi/lb/create - /cloudapi/lb/create
- /cloudapi/lb/delete - /cloudapi/lb/delete
- /cloudapi/lb/disable
- /cloudapi/lb/enable
- /cloudapi/lb/frontendBind - /cloudapi/lb/frontendBind
- /cloudapi/lb/frontendBindDelete - /cloudapi/lb/frontendBindDelete
- /cloudapi/lb/frontendBindingUpdate - /cloudapi/lb/frontendBindingUpdate
@@ -677,6 +834,14 @@ except RequestException as e:
- /cloudapi/lb/get - /cloudapi/lb/get
- /cloudapi/lb/list - /cloudapi/lb/list
- /cloudapi/lb/listDeleted - /cloudapi/lb/listDeleted
- /cloudapi/lb/makeHighlyAvailable
- /cloudapi/lb/migrateToZone
- /cloudapi/lb/restart
- /cloudapi/lb/restore
- /cloudapi/lb/start
- /cloudapi/lb/stop
- /cloudapi/lb/update
- /cloudapi/lb/updateSysctlParams
</details> </details>
@@ -687,16 +852,26 @@ except RequestException as e:
</details> </details>
<details><summary>pcidevice</summary>
- /cloudapi/pcidevice/list
</details>
<details><summary>rg</summary> <details><summary>rg</summary>
- /cloudapi/rg/accessGrant - /cloudapi/rg/accessGrant
- /cloudapi/rg/accessRevoke - /cloudapi/rg/accessRevoke
- /cloudapi/rg/add_storage_policy
- /cloudapi/rg/create - /cloudapi/rg/create
- /cloudapi/rg/del_storage_policy
- /cloudapi/rg/delete - /cloudapi/rg/delete
- /cloudapi/rg/disable - /cloudapi/rg/disable
- /cloudapi/rg/enable - /cloudapi/rg/enable
- /cloudapi/rg/get - /cloudapi/rg/get
- /cloudapi/rg/getResourceConsumption
- /cloudapi/rg/list - /cloudapi/rg/list
- /cloudapi/rg/listDeleted
- /cloudapi/rg/removeDefNet - /cloudapi/rg/removeDefNet
- /cloudapi/rg/restore - /cloudapi/rg/restore
- /cloudapi/rg/setDefNet - /cloudapi/rg/setDefNet
@@ -704,10 +879,28 @@ except RequestException as e:
</details> </details>
<details><summary>stack</summary> <details><summary>security_group</summary>
- /cloudapi/stack/get - /cloudapi/security_group/get
- /cloudapi/stack/list - /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>
<details><summary>storage_policy</summary>
- /cloudapi/storage_policy/get
- /cloudapi/storage_policy/list
</details> </details>
@@ -718,10 +911,33 @@ except RequestException as e:
</details> </details>
<details><summary>trunk</summary>
- /cloudapi/trunk/get
- /cloudapi/trunk/list
</details>
<details><summary>user</summary> <details><summary>user</summary>
- /cloudapi/user/apiList
- /cloudapi/user/brief
- /cloudapi/user/get - /cloudapi/user/get
- /cloudapi/user/getAudit - /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
</details> </details>
@@ -731,13 +947,21 @@ except RequestException as e:
- /cloudapi/vins/createInRG - /cloudapi/vins/createInRG
- /cloudapi/vins/delete - /cloudapi/vins/delete
- /cloudapi/vins/disable - /cloudapi/vins/disable
- /cloudapi/vins/dnsApply
- /cloudapi/vins/enable - /cloudapi/vins/enable
- /cloudapi/vins/extNetConnect
- /cloudapi/vins/extNetDisconnect
- /cloudapi/vins/extNetList
- /cloudapi/vins/get - /cloudapi/vins/get
- /cloudapi/vins/ipList - /cloudapi/vins/ipList
- /cloudapi/vins/ipRelease - /cloudapi/vins/ipRelease
- /cloudapi/vins/ipReserve - /cloudapi/vins/ipReserve
- /cloudapi/vins/list - /cloudapi/vins/list
- /cloudapi/vins/listDeleted - /cloudapi/vins/listDeleted
- /cloudapi/vins/migrateToZone
- /cloudapi/vins/natRuleAdd
- /cloudapi/vins/natRuleDel
- /cloudapi/vins/natRuleList
- /cloudapi/vins/restore - /cloudapi/vins/restore
- /cloudapi/vins/staticRouteAdd - /cloudapi/vins/staticRouteAdd
- /cloudapi/vins/staticRouteDel - /cloudapi/vins/staticRouteDel
@@ -747,16 +971,149 @@ except RequestException as e:
</details> </details>
<details><summary>zone</summary>
- /cloudapi/zone/get
- /cloudapi/zone/list
</details>
#### Cloudbroker #### Cloudbroker
<details><summary>account</summary> <details><summary>account</summary>
- /cloudbroker/account/add_storage_policy
- /cloudbroker/account/addUser
- /cloudbroker/account/addZone
- /cloudbroker/account/create - /cloudbroker/account/create
- /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
- /cloudbroker/account/setCpuAllocationParameter
- /cloudbroker/account/setCpuAllocationRatio
- /cloudbroker/account/update
- /cloudbroker/account/updateComputeFeatures
- /cloudbroker/account/updateResourceTypes
- /cloudbroker/account/updateUser
</details>
<details><summary>audit</summary>
- /cloudbroker/audit/list
</details>
<details><summary>compute</summary>
- /cloudbroker/compute/change_read_only
- /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
</details> </details>
#### System #### System
<details><summary>info</summary>
- /system/info/version
</details>
<details><summary>usermanager</summary> <details><summary>usermanager</summary>
- /system/usermanager/whoami - /system/usermanager/whoami

View File

@@ -1,15 +1,19 @@
[project] [project]
name = "dynamix-sdk" name = "dynamix-sdk"
authors = [{name = "Dmitriy Smirnov"}] authors = [
version = "1.1.0" {name = "Dmitriy Smirnov"},
{name = "Vladislav Nesterov"},
{name = "Stanislav Karimov"},
]
version = "1.4.0"
readme = "README.md" readme = "README.md"
requires-python = ">=3.10.12" requires-python = ">=3.12"
dependencies = [ dependencies = [
"requests>=2.32.3", "requests>=2.32.3",
"pydantic>=2.10.5", "pydantic==2.10.5",
"pyyaml>=6.0.2", "pyyaml>=6.0.2",
] ]

View File

@@ -1,2 +0,0 @@
pre-commit==4.1.0
pytest==8.3.5

View File

@@ -8,3 +8,15 @@ class API(_base.BaseAPI):
cloudapi: CloudapiAPI cloudapi: CloudapiAPI
cloudbroker: CloudbrokerAPI cloudbroker: CloudbrokerAPI
system: SystemAPI system: SystemAPI
@property
def ca(self):
return self.cloudapi
@property
def cb(self):
return self.cloudbroker
@property
def sys(self):
return self.system

View File

@@ -1,3 +1,5 @@
from enum import Enum
from dynamix_sdk.utils import ( from dynamix_sdk.utils import (
AutoNameEnum as _AutoNameEnum, AutoNameEnum as _AutoNameEnum,
enum_auto as _enum_auto, enum_auto as _enum_auto,
@@ -23,19 +25,19 @@ class AffinityPolicy(str, _AutoNameEnum):
class AffinityTopology(str, _AutoNameEnum): class AffinityTopology(str, _AutoNameEnum):
vm = 'compute' VM = 'compute'
node = _enum_auto() NODE = 'node'
class BootDevice(str, _AutoNameEnum): class BootDevice(str, _AutoNameEnum):
cdrom = _enum_auto() CDROM = 'cdrom'
hd = _enum_auto() HD = 'hd'
network = _enum_auto() NETWORK = 'network'
class Chipset(str, _AutoNameEnum): class Chipset(str, _AutoNameEnum):
Q35 = _enum_auto() Q35 = _enum_auto()
i440fx = _enum_auto() I440FX = 'i440fx'
class Driver(str, _AutoNameEnum): class Driver(str, _AutoNameEnum):
@@ -47,6 +49,8 @@ class NetType(str, _AutoNameEnum):
DPDK = _enum_auto() DPDK = _enum_auto()
EMPTY = _enum_auto() EMPTY = _enum_auto()
EXTNET = _enum_auto() EXTNET = _enum_auto()
SDN = _enum_auto()
TRUNK = _enum_auto()
VFNIC = _enum_auto() VFNIC = _enum_auto()
VINS = _enum_auto() VINS = _enum_auto()
@@ -57,27 +61,27 @@ class NetTypeForChangeIP(str, _AutoNameEnum):
class NumaAffinity(str, _AutoNameEnum): class NumaAffinity(str, _AutoNameEnum):
none = _enum_auto() NONE = 'none'
strict = _enum_auto() STRICT = 'strict'
loose = _enum_auto() LOOSE = 'loose'
class TXMode(str, _AutoNameEnum): class TXMode(str, _AutoNameEnum):
iothread = _enum_auto() IOTHREAD = 'iothread'
selected_by_hypervisor = 'selected by hypervisor' SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
timer = _enum_auto() TIMER = 'timer'
class Ioeventfd(str, _AutoNameEnum): class Ioeventfd(str, _AutoNameEnum):
off = _enum_auto() OFF = 'off'
on = _enum_auto() ON = 'on'
selected_by_hypervisor = 'selected by hypervisor' SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
class EventIdx(str, _AutoNameEnum): class EventIdx(str, _AutoNameEnum):
off = _enum_auto() OFF = 'off'
on = _enum_auto() ON = 'on'
selected_by_hypervisor = 'selected by hypervisor' SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
class ResourceGroupStatus(str, _AutoNameEnum): class ResourceGroupStatus(str, _AutoNameEnum):
@@ -99,11 +103,13 @@ class LockStatus(str, _AutoNameEnum):
class VMFeature(str, _AutoNameEnum): class VMFeature(str, _AutoNameEnum):
cpupin = _enum_auto() CHANGEMAC = 'changemac'
dpdk = _enum_auto() CPUPIN = 'cpupin'
hugepages = _enum_auto() DPDK = 'dpdk'
numa = _enum_auto() HUGEPAGES = 'hugepages'
vfnic = _enum_auto() NUMA = 'numa'
TRUNK = 'trunk'
VFNIC = 'vfnic'
class RGDefaultNetTypeForSet(str, _AutoNameEnum): class RGDefaultNetTypeForSet(str, _AutoNameEnum):
@@ -118,21 +124,27 @@ class RGDefaultNetType(str, _AutoNameEnum):
class RGResourceType(str, _AutoNameEnum): class RGResourceType(str, _AutoNameEnum):
vm = 'compute' VM = 'compute'
k8s = _enum_auto() K8S = 'k8s'
lb = _enum_auto() LB = 'lb'
vins = _enum_auto() VINS = 'vins'
class DiskStatus(str, _AutoNameEnum): class DiskStatus(str, _AutoNameEnum):
ASSIGNED = _enum_auto() ASSIGNED = _enum_auto()
BACKUP_RUNNING = _enum_auto()
CLONING = _enum_auto()
CREATED = _enum_auto() CREATED = _enum_auto()
CREATING = _enum_auto()
DELETED = _enum_auto() DELETED = _enum_auto()
DESTROYED = _enum_auto() DESTROYED = _enum_auto()
DESTROYING = _enum_auto() MERGE = _enum_auto()
MIGRATING = _enum_auto()
MODELED = _enum_auto() MODELED = _enum_auto()
PURGED = _enum_auto() PURGED = _enum_auto()
REPLICATION = _enum_auto() REPLICATION = _enum_auto()
ROLLBACK = _enum_auto()
SNAPCREATE = _enum_auto()
class DiskTechStatus(str, _AutoNameEnum): class DiskTechStatus(str, _AutoNameEnum):
@@ -155,11 +167,17 @@ class VMStatus(str, _AutoNameEnum):
class VMTechStatus(str, _AutoNameEnum): class VMTechStatus(str, _AutoNameEnum):
BACKUP_RUNNING = _enum_auto() BACKUP_RUNNING = _enum_auto()
BACKUP_STOPPED = _enum_auto() BACKUP_STOPPED = _enum_auto()
CLONING = _enum_auto()
DOWN = _enum_auto() DOWN = _enum_auto()
MERGE = _enum_auto()
MIGRATING = _enum_auto() MIGRATING = _enum_auto()
MIGRATING_IN = _enum_auto()
MIGRATING_OUT = _enum_auto()
PAUSED = _enum_auto() PAUSED = _enum_auto()
PAUSING = _enum_auto() PAUSING = _enum_auto()
ROLLBACK = _enum_auto()
SCHEDULED = _enum_auto() SCHEDULED = _enum_auto()
SNAPCREATE = _enum_auto()
STARTED = _enum_auto() STARTED = _enum_auto()
STARTING = _enum_auto() STARTING = _enum_auto()
STOPPED = _enum_auto() STOPPED = _enum_auto()
@@ -167,8 +185,8 @@ class VMTechStatus(str, _AutoNameEnum):
class DiskType(str, _AutoNameEnum): class DiskType(str, _AutoNameEnum):
B = _enum_auto() BOOT = 'B'
D = _enum_auto() DATA = 'D'
class AccountStatus(str, _AutoNameEnum): class AccountStatus(str, _AutoNameEnum):
@@ -180,11 +198,11 @@ class AccountStatus(str, _AutoNameEnum):
class AccountResourceType(str, _AutoNameEnum): class AccountResourceType(str, _AutoNameEnum):
vm = 'compute' VM = 'compute'
k8s = _enum_auto() K8S = 'k8s'
lb = _enum_auto() LB = 'lb'
vins = _enum_auto() VINS = 'vins'
flipgroup = _enum_auto() FLIPGROUP = 'flipgroup'
class ImageTechStatus(str, _AutoNameEnum): class ImageTechStatus(str, _AutoNameEnum):
@@ -201,16 +219,16 @@ class ImageStatus(str, _AutoNameEnum):
class ImageType(str, _AutoNameEnum): class ImageType(str, _AutoNameEnum):
cdrom = _enum_auto() CDROM = 'cdrom'
linux = _enum_auto() LINUX = 'linux'
other = _enum_auto() UNKNOWN = 'unknown'
virtual = _enum_auto() VIRTUAL = 'virtual'
windows = _enum_auto() WINDOWS = 'windows'
class NetIfaceNamingTemplate(str, _AutoNameEnum): class NetIfaceNamingTemplate(str, _AutoNameEnum):
ens = _enum_auto() ENS = 'ens'
eth = _enum_auto() ETH = 'eth'
class VINSStatus(str, _AutoNameEnum): class VINSStatus(str, _AutoNameEnum):
@@ -233,6 +251,23 @@ class VNFType(str, _AutoNameEnum):
class VNFDevStatus(str, _AutoNameEnum): class VNFDevStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
class VNFDevTechStatus(str, _AutoNameEnum):
DOWN = _enum_auto()
MIGRATING = _enum_auto()
SCHEDULED = _enum_auto()
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class VNFStatus(str, _AutoNameEnum):
MODELED = _enum_auto() MODELED = _enum_auto()
CREATED = _enum_auto() CREATED = _enum_auto()
ENABLED = _enum_auto() ENABLED = _enum_auto()
@@ -242,7 +277,7 @@ class VNFDevStatus(str, _AutoNameEnum):
STASHED = _enum_auto() STASHED = _enum_auto()
class VNFDevTechStatus(str, _AutoNameEnum): class VNFTechStatus(str, _AutoNameEnum):
STARTING = _enum_auto() STARTING = _enum_auto()
STARTED = _enum_auto() STARTED = _enum_auto()
STOPPING = _enum_auto() STOPPING = _enum_auto()
@@ -255,17 +290,17 @@ class VINSInterfaceType(str, _AutoNameEnum):
class NATRuleProtocol(str, _AutoNameEnum): class NATRuleProtocol(str, _AutoNameEnum):
tcp = _enum_auto() TCP = 'tcp'
udp = _enum_auto() UDP = 'udp'
class VNFDevType(str, _AutoNameEnum): class VNFDevType(str, _AutoNameEnum):
vyos = _enum_auto() VYOS = 'vyos'
class BootMode(str, _AutoNameEnum): class BootMode(str, _AutoNameEnum):
bios = _enum_auto() BIOS = 'bios'
uefi = _enum_auto() UEFI = 'uefi'
class BServiceStatus(str, _AutoNameEnum): class BServiceStatus(str, _AutoNameEnum):
@@ -323,6 +358,7 @@ class SEPType(str, _AutoNameEnum):
TATLIN = _enum_auto() TATLIN = _enum_auto()
DORADO = _enum_auto() DORADO = _enum_auto()
SHARED = _enum_auto() SHARED = _enum_auto()
USTOR = _enum_auto()
class ExtNetStatus(str, _AutoNameEnum): class ExtNetStatus(str, _AutoNameEnum):
@@ -337,9 +373,9 @@ class ExtNetStatus(str, _AutoNameEnum):
class BootLoaderType(str, _AutoNameEnum): class BootLoaderType(str, _AutoNameEnum):
linux = _enum_auto() LINUX = 'linux'
unknown = _enum_auto() UNKNOWN = 'unknown'
windows = _enum_auto() WINDOWS = 'windows'
class FlipGroupClientType(str, _AutoNameEnum): class FlipGroupClientType(str, _AutoNameEnum):
@@ -357,8 +393,8 @@ class FlipGroupNetType(str, _AutoNameEnum):
class PoolDiskType(str, _AutoNameEnum): class PoolDiskType(str, _AutoNameEnum):
B = _enum_auto() BOOT = 'B'
D = _enum_auto() DATA = 'D'
ANY = _enum_auto() ANY = _enum_auto()
@@ -412,15 +448,6 @@ class DataDisksChangeMode(str, _AutoNameEnum):
KEEP = _enum_auto() KEEP = _enum_auto()
class PhysicalNodeStatus(str, _AutoNameEnum):
DECOMMISSIONED = _enum_auto()
DECOMMISSIONING = _enum_auto()
ENABLED = _enum_auto()
INSTALLING = _enum_auto()
MAINTENANCE = _enum_auto()
RESTRICTED = _enum_auto()
class AuthBroker(str, _AutoNameEnum): class AuthBroker(str, _AutoNameEnum):
DECS3O = 'decs3o' DECS3O = 'decs3o'
BVS = 'bvs' BVS = 'bvs'
@@ -434,6 +461,8 @@ class DHCPReservationType(str, _AutoNameEnum):
class TaskStatus(str, _AutoNameEnum): class TaskStatus(str, _AutoNameEnum):
ABORTED = _enum_auto()
CLEANUPED = _enum_auto()
ERROR = _enum_auto() ERROR = _enum_auto()
OK = _enum_auto() OK = _enum_auto()
PROCESSING = _enum_auto() PROCESSING = _enum_auto()
@@ -453,3 +482,145 @@ class K8CIStatus(str, _AutoNameEnum):
DISABLED = _enum_auto() DISABLED = _enum_auto()
ENABLED = _enum_auto() ENABLED = _enum_auto()
MODELED = _enum_auto() MODELED = _enum_auto()
class K8sStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
CREATING = _enum_auto()
DELETED = _enum_auto()
DELETING = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
DISABLED = _enum_auto()
DISABLING = _enum_auto()
ENABLED = _enum_auto()
ENABLING = _enum_auto()
MODELED = _enum_auto()
RESTORING = _enum_auto()
class K8sTechStatus(str, _AutoNameEnum):
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class DPDKNetStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
class VFPoolStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
class LinkState(str, _AutoNameEnum):
ON = 'on'
OFF = 'off'
class ZoneStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
class TrafficDirection(str, _AutoNameEnum):
INBOUND = 'inbound'
OUTBOUND = 'outbound'
class SGRuleEthertype(str, _AutoNameEnum):
IPV4 = 'IPv4'
IPV6 = 'IPv6'
class SGRuleProtocol(str, _AutoNameEnum):
ICMP = 'icmp'
TCP = 'tcp'
UDP = 'udp'
class TrunkStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
ENABLING = _enum_auto()
MODELED = _enum_auto()
class StoragePolicyStatus(str, _AutoNameEnum):
DISABLED = _enum_auto()
ENABLED = _enum_auto()
class JobStatus(str, _AutoNameEnum):
ABORTED = _enum_auto()
CLEANUPED = _enum_auto()
ERROR = _enum_auto()
OK = _enum_auto()
PROCESSING = _enum_auto()
SCHEDULED = _enum_auto()
class PGPUProcessorType(str, _AutoNameEnum):
NVIDIA = _enum_auto()
DUMMY = _enum_auto()
class PGPUMode(str, _AutoNameEnum):
PASSTHROUGH = _enum_auto()
class VGPUStatus(str, _AutoNameEnum):
ALLOCATED = _enum_auto()
ALLOCATING = _enum_auto()
CLAIMED = _enum_auto()
CLAIMING = _enum_auto()
CREATED = _enum_auto()
DEALLOCATED = _enum_auto()
DEALLOCATING = _enum_auto()
DESTROYED = _enum_auto()
ERROR = _enum_auto()
class NetMapSourceType(str, _AutoNameEnum):
NETWORK = 'network'
BRIDGE = 'bridge'
class DiskMigrateJobType(int, Enum):
PULL = 1
COPY = 2
COMMIT = 3
class PCIDeviceStatus(str, _AutoNameEnum):
CLAIMED = _enum_auto()
CLAIMING = _enum_auto()
DESTROYED = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
ERROR = _enum_auto()
class CPUAllocationMode(str, _AutoNameEnum):
STRICT = 'strict'
LOOSE = 'loose'
class SEPTechStatus(str, _AutoNameEnum):
DISABLED = _enum_auto()
ENABLED = _enum_auto()
class DiskCacheMode(str, _AutoNameEnum):
NONE = 'none'
WRITETHROUGH = 'writethrough'

View File

@@ -5,6 +5,7 @@ from . import enums as _enums
class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel): class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
name: str name: str
size_gb: int size_gb: int
storage_policy_id: int
description: None | str = None description: None | str = None
image_id: None | int = None image_id: None | int = None
@@ -13,8 +14,17 @@ class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel): class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel):
enabled: bool = True
net_id: int net_id: int
net_prefix: None | int = None
net_type: _enums.NetType net_type: _enums.NetType
sdn_logical_port_id: None | str = None
security_group_ids: None | list[int] = None
security_group_mode: bool = False
sdn_segment_id: None | str = None
sdn_object_group_id: None | str = None
sdn_logical_port_display_name: None | str = None
sdn_logical_port_description: None | str = None
ip_addr: None | str = None ip_addr: None | str = None
mac: None | str = None mac: None | str = None
@@ -25,3 +35,26 @@ class RouteAPIParamsNM(_base.BaseAPIParamsNestedModel):
dst_net_ip: str dst_net_ip: str
dst_net_mask: str dst_net_mask: str
gateway: str gateway: str
class StoragePolicyQuotasAPIParamsNM(_base.BaseAPIParamsNestedModel):
id: int
storage_size_gb: int
class SEPPoolsAPIParamsNM(_base.BaseAPIParamsNestedModel):
pool_names: list[str]
sep_id: int
class OSUserAPIParamsNM(_base.BaseAPIParamsNestedModel):
guid: str
login: str
password: str
ssh_public_key: str
class NetMapConfigAPIParamsNM(_base.BaseAPIParamsNestedModel):
target_dev: str
source_type: _enums.NetMapSourceType
source_value: str

File diff suppressed because it is too large Load Diff

View File

@@ -4,18 +4,27 @@ from .audit import *
from .bservice import * from .bservice import *
from .compute import * from .compute import *
from .disks import * from .disks import *
from .dpdknet import *
from .extnet import * from .extnet import *
from .flipgroup import * from .flipgroup import *
from .image import * from .image import *
from .k8ci import * from .k8ci import *
from .k8s import *
from .kvmx86 import * from .kvmx86 import *
from .lb import * from .lb import *
from .locations import * from .locations import *
from .pcidevice import *
from .rg import * from .rg import *
from .stack import * from .security_group import *
from .sep import *
from .storage_policy import *
from .tasks import * from .tasks import *
from .trunk import *
from .user import * from .user import *
from .vfpool import *
from .vgpu import *
from .vins import * from .vins import *
from .zone import *
class CloudapiAPI(_base.BaseAPI): class CloudapiAPI(_base.BaseAPI):
@@ -24,15 +33,24 @@ class CloudapiAPI(_base.BaseAPI):
bservice: CloudapiBserviceAPI bservice: CloudapiBserviceAPI
compute: CloudapiComputeAPI compute: CloudapiComputeAPI
disks: CloudapiDisksAPI disks: CloudapiDisksAPI
dpdknet: CloudapiDpdknetAPI
extnet: CloudapiExtnetAPI extnet: CloudapiExtnetAPI
flipgroup: CloudapiFlipgroupAPI flipgroup: CloudapiFlipgroupAPI
image: CloudapiImageAPI image: CloudapiImageAPI
k8ci: CloudapiK8ciAPI k8ci: CloudapiK8ciAPI
k8s: CloudapiK8sAPI
kvmx86: CloudapiKvmx86API kvmx86: CloudapiKvmx86API
lb: CloudapiLbAPI lb: CloudapiLbAPI
locations: CloudapiLocationsAPI locations: CloudapiLocationsAPI
pcidevice: CloudapiPcideviceAPI
rg: CloudapiRgAPI rg: CloudapiRgAPI
stack: CloudapiStackAPI security_group: CloudapiSecurityGroupAPI
sep: CloudapiSepAPI
storage_policy: CloudapiStoragePolicyAPI
tasks: CloudapiTasksAPI tasks: CloudapiTasksAPI
trunk: CloudapiTrunkAPI
user: CloudapiUserAPI user: CloudapiUserAPI
vfpool: CloudapiVfpoolAPI
vgpu: CloudapiVgpuAPI
vins: CloudapiVinsAPI vins: CloudapiVinsAPI
zone: CloudapiZoneAPI

View File

@@ -5,6 +5,7 @@ from .delete_user import *
from .disable import * from .disable import *
from .enable import * from .enable import *
from .get import * from .get import *
from .get_resource_consumption import *
from .list import * from .list import *
from .list_deleted import * from .list_deleted import *
from .restore import * from .restore import *
@@ -20,6 +21,7 @@ class CloudapiAccountAPI(
CloudapiAccountDisableProtocol, CloudapiAccountDisableProtocol,
CloudapiAccountEnableProtocol, CloudapiAccountEnableProtocol,
CloudapiAccountGetProtocol, CloudapiAccountGetProtocol,
CloudapiAccountGetResourceConsumptionProtocol,
CloudapiAccountListDeletedProtocol, CloudapiAccountListDeletedProtocol,
CloudapiAccountListProtocol, CloudapiAccountListProtocol,
CloudapiAccountRestoreProtocol, CloudapiAccountRestoreProtocol,

View File

@@ -12,6 +12,6 @@ class CloudapiAccountAddUserProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
account_id: int, account_id: int,
access_type: _nested.AccessTypeForSet, access_type: _nested.AccessTypeForSet,
user_id: str, user_name: str,
) -> CloudapiAccountAddUserResultBool: ) -> CloudapiAccountAddUserResultBool:
... ...

View File

@@ -1,7 +1,7 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
class CloudapiAccountDeleteResultBool(_base.BaseAPIResultBool): class CloudapiAccountDeleteResultStr(_base.BaseAPIResultStr):
pass pass
@@ -11,5 +11,5 @@ class CloudapiAccountDeleteProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
account_id: int, account_id: int,
permanently: bool = False, permanently: bool = False,
) -> CloudapiAccountDeleteResultBool: ) -> CloudapiAccountDeleteResultStr:
... ...

View File

@@ -10,6 +10,6 @@ class CloudapiAccountDeleteUserProtocol(_base.BasePostAPIFunctionProtocol):
self, self,
*, *,
account_id: int, account_id: int,
user_id: str, user_name: str,
) -> CloudapiAccountDeleteUserResultBool: ) -> CloudapiAccountDeleteUserResultBool:
... ...

View File

@@ -10,6 +10,5 @@ class CloudapiAccountDisableProtocol(_base.BasePostAPIFunctionProtocol):
self, self,
*, *,
account_id: int, account_id: int,
reason: str | None = None,
) -> CloudapiAccountDisableResultBool: ) -> CloudapiAccountDisableResultBool:
... ...

View File

@@ -2,33 +2,54 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiAccountGetResultModel( class CloudapiAccountGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel, acc_lvl_vins_ids: list[int]
_nested.AccountAPIResultNM, acl: list[_nested.AccessAPIResultNM]
):
company: str
company_url: str company_url: str
company: str
cpu_allocation_parameter: str cpu_allocation_parameter: str
cpu_allocation_ratio: int cpu_allocation_ratio: int
created_by: str created_by: str
created_timestamp: int
dc_location: str dc_location: str
deactivation_timestamp: int deactivation_timestamp: int
default_zone_id: int
deleted_by: str deleted_by: str
deleted_timestamp: int
description: str
display_name: str display_name: str
guid: int guid: int
id: int
name: str
quotas: _nested.TenantQuotasAPIResultNM quotas: _nested.TenantQuotasAPIResultNM
resource_types: list[_nested.AccountResourceType] resource_types: list[_nested.AccountResourceType]
send_access_emails: bool send_access_emails: bool
uniq_pools: list[str] status: _nested.AccountStatus
storage_policy_ids: list[int]
sep_pools: list[str]
updated_timestamp: int
version: int version: int
vins_count: int vins_count: int
acc_lvl_vins_ids: list[int]
vm_counts: _nested.VMCountsAPIResultNM vm_counts: _nested.VMCountsAPIResultNM
vm_features: list[_nested.VMFeature]
zones: list[_nested.ZoneAPIResultNM]
@property @_base.computed_field
def deactivation_datetime(self): def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@_base.computed_field
def deactivation_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deactivation_timestamp) return self._get_datetime_from_timestamp(self.deactivation_timestamp)
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiAccountGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiAccountGetProtocol(_base.BasePostAPIFunctionProtocol):
def get( def get(

View File

@@ -0,0 +1,21 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountGetResourceConsumptionResultModel(
_base.BaseAPIResultModel,
):
id: int
consumed: _nested.ResourceCountersAPIResultNM
reserved: _nested.ResourceCountersAPIResultNM
quotas: _nested.TenantQuotasForResourceConsumptionAPIResultNM
class CloudapiAccountGetResourceConsumptionProtocol(
_base.BasePostAPIFunctionProtocol,
):
def get_resource_consumption(
self,
*,
account_id: int,
) -> CloudapiAccountGetResourceConsumptionResultModel: ...

View File

@@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested
class CloudapiAccountListResultModel(_base.BaseAPIResultModel): class CloudapiAccountListResultModel(_base.BaseAPIResultModel):
data: list[_nested.AccountAPIResultNM] data: list[_nested.AccountForCAAPIResultNM]
entry_count: int entry_count: int
@@ -14,6 +14,7 @@ class CloudapiAccountListProtocol(_base.BasePostAPIFunctionProtocol):
access_type: None | _nested.AccessType = None, access_type: None | _nested.AccessType = None,
id: None | int = None, id: None | int = None,
name: None | str = None, name: None | str = None,
zone_id: None | int = None,
page_number: None | int = None, page_number: None | int = None,
page_size: None | int = None, page_size: None | int = None,
sort_by: None | str = None, sort_by: None | str = None,

View File

@@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested
class CloudapiAccountListDeletedResultModel(_base.BaseAPIResultModel): class CloudapiAccountListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.AccountAPIResultNM] data: list[_nested.AccountForCAAPIResultNM]
entry_count: int entry_count: int

View File

@@ -1,7 +1,7 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
class CloudapiAccountRestoreResultBool(_base.BaseAPIResultBool): class CloudapiAccountRestoreResultStr(_base.BaseAPIResultStr):
pass pass
@@ -10,5 +10,5 @@ class CloudapiAccountRestoreProtocol(_base.BasePostAPIFunctionProtocol):
self, self,
*, *,
account_id: int, account_id: int,
) -> CloudapiAccountRestoreResultBool: ) -> CloudapiAccountRestoreResultStr:
... ...

View File

@@ -11,14 +11,14 @@ class CloudapiAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
account_id: int, account_id: int,
cpu_count_quota: None | int = None, cpu_count_quota: None | int = None,
ext_traffic_quota: None | int = None,
gpu_count_quota: None | int = None, gpu_count_quota: None | int = None,
name: None | str = None, name: None | str = None,
public_ip_count_quota: None | int = None, ext_ip_count_quota: None | int = None,
ram_size_quota_mb: None | int = None, ram_size_quota_mb: None | int = None,
send_access_emails: None | bool = None, send_access_emails: bool | None = None,
storage_size_quota_gb: None | int = None, storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None, sep_pools: None | list[str] = None,
description: str | None = None, description: str | None = None,
default_zone_id: int | None = None,
) -> CloudapiAccountUpdateResultBool: ) -> CloudapiAccountUpdateResultBool:
... ...

View File

@@ -12,6 +12,6 @@ class CloudapiAccountUpdateUserProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
account_id: int, account_id: int,
access_type: _nested.AccessTypeForSet, access_type: _nested.AccessTypeForSet,
user_id: str, user_name: str,
) -> CloudapiAccountUpdateUserResultBool: ) -> CloudapiAccountUpdateUserResultBool:
... ...

View File

@@ -1,9 +1,11 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
from .get import * from .get import *
from .list import *
class CloudapiAuditAPI( class CloudapiAuditAPI(
_base.BaseAPI, _base.BaseAPI,
CloudapiAuditGetProtocol, CloudapiAuditGetProtocol,
CloudapiAuditListProtocol,
): ):
pass pass

View File

@@ -1,27 +1,12 @@
import dynamix_sdk.api._nested as _nested
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
class CloudapiAuditGetResultModel(_base.BaseAPIResultModel): class CloudapiAuditGetResultModel(
args: str _base.BaseAPIResultModel,
api_url_path: str _nested.AuditAPIResultNM,
guid: str ):
kwargs: str pass
client_ip_addr: str
execution_time_sec: float
result: str
status_code: int
request_timestamp: float
response_timestamp: float
user_name: str
request_datetime_iso8601: str
@property
def request_datetime(self):
return self._get_datetime_from_timestamp(self.request_timestamp)
@property
def response_datetime(self):
return self._get_datetime_from_timestamp(self.response_timestamp)
class CloudapiAuditGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiAuditGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -0,0 +1,35 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAuditListResultModel(_base.BaseAPIResultModel):
data: list[_nested.AuditAPIResultNM]
entry_count: int
class CloudapiAuditListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
account_id: int | None = None,
api_url_path: str | None = None,
bservice_id: int | None = None,
exclude_audit_lines: bool = False,
flip_group_id: int | None = None,
request_id: str | None = None,
k8s_id: int | None = None,
lb_id: int | None = None,
max_status_code: int | None = None,
min_status_code: int | None = None,
page_number: int = 1,
page_size: int = 100,
request_timestamp_end: int | None = None,
request_timestamp_start: int | None = None,
rg_id: int | None = None,
sep_id: int | None = None,
sort_by: str | None = None,
user_name: str | None = None,
vins_id: int | None = None,
vm_id: int | None = None,
) -> CloudapiAuditListResultModel:
...

View File

@@ -18,7 +18,12 @@ from .group_update_extnet import *
from .group_update_vins import * from .group_update_vins import *
from .list import * from .list import *
from .list_deleted import * from .list_deleted import *
from .migrate_to_zone import *
from .restore import * from .restore import *
from .snapshot_create import *
from .snapshot_delete import *
from .snapshot_list import *
from .snapshot_rollback import *
from .start import * from .start import *
from .stop import * from .stop import *
@@ -44,7 +49,12 @@ class CloudapiBserviceAPI(
CloudapiBserviceGroupUpdateVinsProtocol, CloudapiBserviceGroupUpdateVinsProtocol,
CloudapiBserviceListDeletedProtocol, CloudapiBserviceListDeletedProtocol,
CloudapiBserviceListProtocol, CloudapiBserviceListProtocol,
CloudapiBserviceMigrateToZoneProtocol,
CloudapiBserviceRestoreProtocol, CloudapiBserviceRestoreProtocol,
CloudapiBserviceSnapshotCreateProtocol,
CloudapiBserviceSnapshotDeleteProtocol,
CloudapiBserviceSnapshotListProtocol,
CloudapiBserviceSnapshotRollbackProtocol,
CloudapiBserviceStartProtocol, CloudapiBserviceStartProtocol,
CloudapiBserviceStopProtocol, CloudapiBserviceStopProtocol,
): ):

View File

@@ -11,7 +11,8 @@ class CloudapiBserviceCreateProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
name: str, name: str,
rg_id: int, rg_id: int,
ssh_user: str | None = None, ssh_user_name: str | None = None,
ssh_key: str | None = None, ssh_public_key: str | None = None,
zone_id: int | None = None,
) -> CloudapiBserviceCreateResultInt: ) -> CloudapiBserviceCreateResultInt:
... ...

View File

@@ -2,18 +2,49 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGetResultModel( class CloudapiBserviceGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel, account_id: int
_nested.BaseBServiceAPIResultNM, account_name: str
): base_domain: str
cpu_count_total: int cpu_count_total: int
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
disk_size_total_gb: int disk_size_total_gb: int
grid_id: int
groups: list[_nested.BServiceGroupAPIResultNM] groups: list[_nested.BServiceGroupAPIResultNM]
guid: int
id: int
milestones: int milestones: int
name: str
parent_service_id: int
parent_service_type: str
ram_size_total_mb: int ram_size_total_mb: int
rg_id: int
rg_name: str
snapshots: list[_nested.BServiceSnapshotAPIResultNM] snapshots: list[_nested.BServiceSnapshotAPIResultNM]
ssh_key: str ssh_public_key: str
ssh_user_name: str
status: _nested.BServiceStatus
tech_status: _nested.BServiceTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vms: list[_nested.BServiceVMAPIResultNM] vms: list[_nested.BServiceVMAPIResultNM]
zone_id: int
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiBserviceGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiBserviceGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -14,10 +14,10 @@ class CloudapiBserviceGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
vm_count: int, vm_count: int,
cpu_count: int, cpu_count: int,
boot_disk_size_gb: int, boot_disk_size_gb: int,
driver: _nested.Driver,
image_id: int, image_id: int,
name: str, name: str,
ram_size_mb: int, ram_size_mb: int,
storage_policy_id: int | None = None,
ci_user_data: str | None = None, ci_user_data: str | None = None,
extnet_ids: list[int] | None = None, extnet_ids: list[int] | None = None,
role: str | None = None, role: str | None = None,
@@ -25,6 +25,6 @@ class CloudapiBserviceGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
sep_pool_name: str | None = None, sep_pool_name: str | None = None,
start_timeout: int | None = None, start_timeout: int | None = None,
vins_ids: list[int] | None = None, vins_ids: list[int] | None = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx, chipset: _nested.Chipset = _nested.Chipset.Q35,
) -> CloudapiBserviceGroupAddResultInt: ) -> CloudapiBserviceGroupAddResultInt:
... ...

View File

@@ -39,16 +39,16 @@ class CloudapiBserviceGroupGetResultModel(
vins_ids: list[int] vins_ids: list[int]
vms: list[_nested.BServiceGroupVMAPIResultNM] vms: list[_nested.BServiceGroupVMAPIResultNM]
@property @_base.computed_field
def created_datetime(self): def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp) return self._get_datetime_from_timestamp(self.created_timestamp)
@property @_base.computed_field
def deleted_datetime(self): def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp) return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property @_base.computed_field
def updated_datetime(self): def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp) return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -12,7 +12,7 @@ class CloudapiBserviceGroupParentAddProtocol(
self, self,
*, *,
bservice_id: int, bservice_id: int,
bsgroup_id: int, child_id: int,
parent_id: int, parent_id: int,
) -> CloudapiBserviceGroupParentAddResultBool: ) -> CloudapiBserviceGroupParentAddResultBool:
... ...

View File

@@ -12,7 +12,7 @@ class CloudapiBserviceGroupParentRemoveProtocol(
self, self,
*, *,
bservice_id: int, bservice_id: int,
bsgroup_id: int, child_id: int,
parent_id: int, parent_id: int,
) -> CloudapiBserviceGroupParentRemoveResultBool: ) -> CloudapiBserviceGroupParentRemoveResultBool:
... ...

View File

@@ -14,7 +14,7 @@ class CloudapiBserviceGroupResizeProtocol(
*, *,
bservice_id: int, bservice_id: int,
bsgroup_id: int, bsgroup_id: int,
chipset: _nested.Chipset = _nested.Chipset.i440fx, chipset: _nested.Chipset = _nested.Chipset.Q35,
count_change_mode: _nested.CountChangeMode = ( count_change_mode: _nested.CountChangeMode = (
_nested.CountChangeMode.RELATIVE _nested.CountChangeMode.RELATIVE
), ),

View File

@@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested
class CloudapiBserviceListResultModel(_base.BaseAPIResultModel): class CloudapiBserviceListResultModel(_base.BaseAPIResultModel):
data: list[_nested.BServiceForListAPIResultNM] data: list[_nested.BServiceAPIResultNM]
entry_count: int entry_count: int
@@ -15,6 +15,7 @@ class CloudapiBserviceListProtocol(_base.BasePostAPIFunctionProtocol):
account_name: str | None = None, account_name: str | None = None,
id: int | None = None, id: int | None = None,
name: str | None = None, name: str | None = None,
zone_id: int | None = None,
page_number: int | None = None, page_number: int | None = None,
page_size: int | None = None, page_size: int | None = None,
rg_id: int | None = None, rg_id: int | None = None,

View File

@@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested
class CloudapiBserviceListDeletedResultModel(_base.BaseAPIResultModel): class CloudapiBserviceListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.BServiceForListAPIResultNM] data: list[_nested.BServiceAPIResultNM]
entry_count: int entry_count: int

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiBserviceMigrateToZoneResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceMigrateToZoneProtocol(_base.BasePostAPIFunctionProtocol):
def migrate_to_zone(
self,
*,
bservice_id: int,
zone_id: int,
) -> CloudapiBserviceMigrateToZoneResultBool:
...

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiBserviceSnapshotCreateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceSnapshotCreateProtocol(
_base.BasePostAPIFunctionProtocol,
):
def snapshot_create(
self,
*,
bservice_id: int,
label: str,
) -> CloudapiBserviceSnapshotCreateResultBool:
...

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiBserviceSnapshotDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceSnapshotDeleteProtocol(
_base.BasePostAPIFunctionProtocol,
):
def snapshot_delete(
self,
*,
bservice_id: int,
label: str,
) -> CloudapiBserviceSnapshotDeleteResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceSnapshotListResultModel(_base.BaseAPIResultModel):
data: list[_nested.BServiceSnapshotAPIResultNM]
entry_count: int
class CloudapiBserviceSnapshotListProtocol(_base.BasePostAPIFunctionProtocol):
def snapshot_list(
self,
*,
bservice_id: int,
) -> CloudapiBserviceSnapshotListResultModel:
...

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiBserviceSnapshotRollbackResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceSnapshotRollbackProtocol(
_base.BasePostAPIFunctionProtocol,
):
def snapshot_rollback(
self,
*,
bservice_id: int,
label: str,
) -> CloudapiBserviceSnapshotRollbackResultBool:
...

View File

@@ -1,4 +1,5 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
from .abort_shared_snapshot_merge import *
from .affinity_label_remove import * from .affinity_label_remove import *
from .affinity_label_set import * from .affinity_label_set import *
from .affinity_relations import * from .affinity_relations import *
@@ -8,29 +9,54 @@ from .affinity_rules_clear import *
from .anti_affinity_rule_add import * from .anti_affinity_rule_add import *
from .anti_affinity_rule_remove import * from .anti_affinity_rule_remove import *
from .anti_affinity_rules_clear import * from .anti_affinity_rules_clear import *
from .attach_gpu import *
from .attach_pci_device import *
from .boot_disk_set import *
from .cd_eject import * from .cd_eject import *
from .cd_insert import * from .cd_insert import *
from .change_ip import * from .change_ip import *
from .change_link_state import *
from .change_mac import *
from .change_mtu import *
from .change_security_groups import *
from .clone import * from .clone import *
from .clone_abort import *
from .create_template import *
from .delete import * from .delete import *
from .delete_custom_fields import * from .delete_custom_fields import *
from .detach_gpu import *
from .detach_pci_device import *
from .disable import *
from .disk_add import * from .disk_add import *
from .disk_attach import * from .disk_attach import *
from .disk_migrate import *
from .disk_del import * from .disk_del import *
from .disk_detach import * from .disk_detach import *
from .disk_resize import * from .disk_switch_to_replication import *
from .enable import *
from .get import * from .get import *
from .get_console_url import *
from .guest_agent_disable import *
from .guest_agent_enable import *
from .guest_agent_execute import *
from .guest_agent_feature_update import *
from .list import * from .list import *
from .list_deleted import *
from .migrate_to_zone import *
from .move_to_rg import *
from .net_attach import * from .net_attach import *
from .net_detach import * from .net_detach import *
from .pause import * from .pause import *
from .pfw_add import * from .pfw_add import *
from .pfw_del import * from .pfw_del import *
from .pfw_list import * from .pfw_list import *
from .pin_to_stack import * from .pin_to_node import *
from .power_cycle import *
from .reboot import * from .reboot import *
from .redeploy import * from .redeploy import *
from .reset import *
from .resize import * from .resize import *
from .restore import *
from .resume import * from .resume import *
from .set_custom_fields import * from .set_custom_fields import *
from .snapshot_create import * from .snapshot_create import *
@@ -40,7 +66,7 @@ from .start import *
from .stop import * from .stop import *
from .tag_add import * from .tag_add import *
from .tag_remove import * from .tag_remove import *
from .unpin_from_stack import * from .unpin_from_node import *
from .update import * from .update import *
from .user_grant import * from .user_grant import *
from .user_list import * from .user_list import *
@@ -50,6 +76,7 @@ from .user_update import *
class CloudapiComputeAPI( class CloudapiComputeAPI(
_base.BaseAPI, _base.BaseAPI,
CloudapiComputeAbortSharedSnapshotMergeProtocol,
CloudapiComputeAffinityLabelRemoveProtocol, CloudapiComputeAffinityLabelRemoveProtocol,
CloudapiComputeAffinityLabelSetProtocol, CloudapiComputeAffinityLabelSetProtocol,
CloudapiComputeAffinityRelationsProtocol, CloudapiComputeAffinityRelationsProtocol,
@@ -59,29 +86,54 @@ class CloudapiComputeAPI(
CloudapiComputeAntiAffinityRuleAddProtocol, CloudapiComputeAntiAffinityRuleAddProtocol,
CloudapiComputeAntiAffinityRuleRemoveProtocol, CloudapiComputeAntiAffinityRuleRemoveProtocol,
CloudapiComputeAntiAffinityRulesClearProtocol, CloudapiComputeAntiAffinityRulesClearProtocol,
CloudapiComputeAttachGpuProtocol,
CloudapiComputeAttachPciDeviceProtocol,
CloudapiComputeBootDiskSetProtocol,
CloudapiComputeCdEjectProtocol, CloudapiComputeCdEjectProtocol,
CloudapiComputeCdInsertProtocol, CloudapiComputeCdInsertProtocol,
CloudapiComputeChangeIpProtocol, CloudapiComputeChangeIpProtocol,
CloudapiComputeChangeLinkStateProtocol,
CloudapiComputeChangeMacProtocol,
CloudapiComputeChangeMtuProtocol,
CloudapiComputeChangeSecurityGroupsProtocol,
CloudapiComputeCloneAbortProtocol,
CloudapiComputeCloneProtocol, CloudapiComputeCloneProtocol,
CloudapiComputeCreateTemplateProtocol,
CloudapiComputeDeleteCustomFieldsProtocol, CloudapiComputeDeleteCustomFieldsProtocol,
CloudapiComputeDeleteProtocol, CloudapiComputeDeleteProtocol,
CloudapiComputeDetachGpuProtocol,
CloudapiComputeDetachPciDeviceProtocol,
CloudapiComputeDisableProtocol,
CloudapiComputeDiskAddProtocol, CloudapiComputeDiskAddProtocol,
CloudapiComputeDiskAttachProtocol, CloudapiComputeDiskAttachProtocol,
CloudapiComputeDiskDelProtocol, CloudapiComputeDiskDelProtocol,
CloudapiComputeDiskDetachProtocol, CloudapiComputeDiskDetachProtocol,
CloudapiComputeDiskResizeProtocol, CloudapiComputeDiskMigrateProtocol,
CloudapiComputeDiskSwitchToReplicationProtocol,
CloudapiComputeEnableProtocol,
CloudapiComputeGetConsoleUrlProtocol,
CloudapiComputeGetProtocol, CloudapiComputeGetProtocol,
CloudapiComputeGuestAgentDisableProtocol,
CloudapiComputeGuestAgentEnableProtocol,
CloudapiComputeGuestAgentExecuteProtocol,
CloudapiComputeGuestAgentFeatureUpdateProtocol,
CloudapiComputeListProtocol, CloudapiComputeListProtocol,
CloudapiComputeListDeletedProtocol,
CloudapiComputeMigrateToZoneProtocol,
CloudapiComputeMoveToRgProtocol,
CloudapiComputeNetAttachProtocol, CloudapiComputeNetAttachProtocol,
CloudapiComputeNetDetachProtocol, CloudapiComputeNetDetachProtocol,
CloudapiComputePauseProtocol, CloudapiComputePauseProtocol,
CloudapiComputePfwAddProtocol, CloudapiComputePfwAddProtocol,
CloudapiComputePfwDelProtocol, CloudapiComputePfwDelProtocol,
CloudapiComputePfwListProtocol, CloudapiComputePfwListProtocol,
CloudapiComputePinToStackProtocol, CloudapiComputePinToNodeProtocol,
CloudapiComputePowerCycleProtocol,
CloudapiComputeRebootProtocol, CloudapiComputeRebootProtocol,
CloudapiComputeRedeployProtocol, CloudapiComputeRedeployProtocol,
CloudapiComputeResetProtocol,
CloudapiComputeResizeProtocol, CloudapiComputeResizeProtocol,
CloudapiComputeRestoreProtocol,
CloudapiComputeResumeProtocol, CloudapiComputeResumeProtocol,
CloudapiComputeSetCustomFieldsProtocol, CloudapiComputeSetCustomFieldsProtocol,
CloudapiComputeSnapshotCreateProtocol, CloudapiComputeSnapshotCreateProtocol,
@@ -91,7 +143,7 @@ class CloudapiComputeAPI(
CloudapiComputeStopProtocol, CloudapiComputeStopProtocol,
CloudapiComputeTagAddProtocol, CloudapiComputeTagAddProtocol,
CloudapiComputeTagRemoveProtocol, CloudapiComputeTagRemoveProtocol,
CloudapiComputeUnpinFromStackProtocol, CloudapiComputeUnpinFromNodeProtocol,
CloudapiComputeUpdateProtocol, CloudapiComputeUpdateProtocol,
CloudapiComputeUserGrantProtocol, CloudapiComputeUserGrantProtocol,
CloudapiComputeUserListProtocol, CloudapiComputeUserListProtocol,

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
class CloudapiComputeAbortSharedSnapshotMergeResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudapiComputeAbortSharedSnapshotMergeProtocol(
_base.BasePostAPIFunctionProtocol
):
def abort_shared_snapshot_merge(
self,
*,
vm_id: int,
label: str,
) -> CloudapiComputeAbortSharedSnapshotMergeResultBool:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeAttachGpuResultInt(_base.BaseAPIResultInt):
pass
class CloudapiComputeAttachGpuProtocol(_base.BasePostAPIFunctionProtocol):
def attach_gpu(
self,
*,
vm_id: int,
vgpu_id: int,
) -> CloudapiComputeAttachGpuResultInt:
...

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiComputeAttachPciDeviceResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAttachPciDeviceProtocol(
_base.BasePostAPIFunctionProtocol,
):
def attach_pci_device(
self,
*,
vm_id: int,
pci_device_id: int,
) -> CloudapiComputeAttachPciDeviceResultBool:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeBootDiskSetResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeBootDiskSetProtocol(_base.BasePostAPIFunctionProtocol):
def boot_disk_set(
self,
*,
vm_id: int,
disk_id: int,
) -> CloudapiComputeBootDiskSetResultBool:
...

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeChangeLinkStateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeChangeLinkStateProtocol(
_base.BasePostAPIFunctionProtocol
):
def change_link_state(
self,
*,
interface: str,
state: _nested.LinkState,
vm_id: int,
) -> CloudapiComputeChangeLinkStateResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeChangeMacResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeChangeMacProtocol(_base.BasePostAPIFunctionProtocol):
def change_mac(
self,
*,
vm_id: int,
current_mac: str,
new_mac: str,
) -> CloudapiComputeChangeMacResultBool:
...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeChangeMtuResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeChangeMtuProtocol(
_base.BasePostAPIFunctionProtocol
):
def change_mtu(
self,
*,
vm_id: int,
interface: str,
mtu: int,
) -> CloudapiComputeChangeMtuResultBool:
...

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
class CloudapiComputeChangeSecurityGroupsResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeChangeSecurityGroupsProtocol(
_base.BasePostAPIFunctionProtocol
):
def change_security_groups(
self,
*,
vm_id: int,
interface: str,
security_group_ids: list[int] | None = None,
security_group_mode: bool | None = None,
) -> CloudapiComputeChangeSecurityGroupsResultBool:
...

View File

@@ -1,7 +1,7 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
class CloudapiComputeCloneResultInt(_base.BaseAPIResultInt): class CloudapiComputeCloneResultStr(_base.BaseAPIResultStr):
pass pass
@@ -12,7 +12,10 @@ class CloudapiComputeCloneProtocol(_base.BasePostAPIFunctionProtocol):
vm_id: int, vm_id: int,
name: str, name: str,
force: bool = False, force: bool = False,
storage_policy_id: int,
snapshot_timestamp: int | None = None, snapshot_timestamp: int | None = None,
snapshot_name: str | None = None, snapshot_name: str | None = None,
) -> CloudapiComputeCloneResultInt: sep_pool_name: str | None = None,
sep_id: int | None = None,
) -> CloudapiComputeCloneResultStr:
... ...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeCloneAbortResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudapiComputeCloneAbortProtocol(
_base.BasePostAPIFunctionProtocol
):
def clone_abort(
self,
*,
vm_id: int,
) -> CloudapiComputeCloneAbortResultBool:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeCreateTemplateResultStr(_base.BaseAPIResultStr):
pass
class CloudapiComputeCreateTemplateProtocol(_base.BasePostAPIFunctionProtocol):
def create_template(
self,
*,
vm_id: int,
name: str
) -> CloudapiComputeCreateTemplateResultStr:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeDetachGpuResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDetachGpuProtocol(_base.BasePostAPIFunctionProtocol):
def detach_gpu(
self,
*,
vm_id: int,
vgpu_id: int | None = None,
) -> CloudapiComputeDetachGpuResultBool:
...

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiComputeDetachPciDeviceResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDetachPciDeviceProtocol(
_base.BasePostAPIFunctionProtocol,
):
def detach_pci_device(
self,
*,
vm_id: int,
pci_device_id: int,
) -> CloudapiComputeDetachPciDeviceResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeDisableResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDisableProtocol(
_base.BasePostAPIFunctionProtocol
):
def disable(
self,
*,
vm_id: int,
) -> CloudapiComputeDisableResultBool:
...

View File

@@ -13,11 +13,13 @@ class CloudapiComputeDiskAddProtocol(_base.BasePostAPIFunctionProtocol):
vm_id: int, vm_id: int,
name: str, name: str,
disk_size_gb: int, disk_size_gb: int,
disk_type: _nested.DiskType = _nested.DiskType.D, storage_policy_id: int,
disk_type: _nested.DiskType = _nested.DiskType.DATA,
sep_id: int | None = None, sep_id: int | None = None,
sep_pool_name: str | None = None, sep_pool_name: str | None = None,
description: str | None = None, description: str | None = None,
image_id: int | None = None, image_id: int | None = None,
pci_slot_num_hex: str | None = None,
bus_num_hex: str | None = None,
) -> CloudapiComputeDiskAddResultInt: ) -> CloudapiComputeDiskAddResultInt:
... ...

View File

@@ -12,6 +12,8 @@ class CloudapiComputeDiskAttachProtocol(_base.BasePostAPIFunctionProtocol):
*, *,
vm_id: int, vm_id: int,
disk_id: int, disk_id: int,
disk_type: _nested.DiskType = _nested.DiskType.D, disk_type: _nested.DiskType = _nested.DiskType.DATA,
pci_slot_num_hex: str | None = None,
bus_num_hex: str | None = None,
) -> CloudapiComputeDiskAttachResultBool: ) -> CloudapiComputeDiskAttachResultBool:
... ...

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
class CloudapiComputeDiskMigrateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDiskMigrateProtocol(
_base.BasePostAPIFunctionProtocol
):
def disk_migrate(
self,
*,
vm_id: int,
disk_id: int,
target_disk_id: int,
mode: int = 1,
) -> CloudapiComputeDiskMigrateResultBool:
...

View File

@@ -1,16 +0,0 @@
import dynamix_sdk.base as _base
class CloudapiComputeDiskResizeResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDiskResizeProtocol(_base.BasePostAPIFunctionProtocol):
def disk_resize(
self,
*,
vm_id: int,
disk_id: int,
disk_size_gb: int,
) -> CloudapiComputeDiskResizeResultBool:
...

View File

@@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
class CloudapiComputeDiskSwitchToReplicationResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudapiComputeDiskSwitchToReplicationProtocol(
_base.BasePostAPIFunctionProtocol,
):
def disk_switch_to_replication(
self,
*,
vm_id: int,
disk_id: int,
stop_replication: bool = False,
) -> CloudapiComputeDiskSwitchToReplicationResultBool:
...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputeEnableResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeEnableProtocol(_base.BasePostAPIFunctionProtocol):
def enable(
self,
*,
vm_id: int,
) -> CloudapiComputeEnableResultBool:
...

View File

@@ -2,18 +2,82 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiComputeGetResultModel( class CloudapiComputeGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel, account_id: int
_nested.BaseVMAPIResultNM, account_name: str
): acl: _nested.VMACLAPIResultNM
acl: _nested.VMACLForComputeGetAPIResultNM affinity_label: str
affinity_rules: list[_nested.AffinityRuleAPIResultNM]
affinity_weight: int
anti_affinity_rules: list[_nested.AffinityRuleAPIResultNM]
arch: str
auto_start: bool
boot_disk_size_gb: int
boot_image_id: int
boot_loader_metaiso: _nested.BootLoaderMetaisoAPIResultNM | None
boot_loader_type: _nested.BootLoaderType
boot_mode: _nested.BootMode
boot_order: list[_nested.BootDevice]
cdrom_image_id: int
chipset: _nested.Chipset
ci_user_data: dict ci_user_data: dict
clone_ids: list[int]
clone_reference: int
cpu_count: int
cpu_pin: bool
created_by: str
created_timestamp: int
custom_fields: dict
deleted_by: str
deleted_timestamp: int
description: str
devices: dict
disks: list[_nested.DiskForCAComputeGetAPIResultNM] disks: list[_nested.DiskForCAComputeGetAPIResultNM]
driver: _nested.Driver
grid_id: int
guid: int
hot_resize: bool
hp_backed: bool
id: int
image_id: None | int
image_name: None | str image_name: None | str
interfaces: list[_nested.InterfaceForComputeGetAPIResultNM] interfaces: list[_nested.InterfaceForComputeGetAPIResultNM]
live_migration_job_id: int
lock_status: _nested.LockStatus
manager_id: int
manager_type: str
migration_job_id: int
milestones: int
name: str
need_reboot: bool
network_interface_naming: _nested.NetIfaceNamingTemplate
numa_affinity: _nested.NumaAffinity
numa_node_id: int
os_users: list[_nested.OSUserAPIResultNM] os_users: list[_nested.OSUserAPIResultNM]
virtual_image_name: None | str os_version: str
pinned_to_node: bool
preferred_cpu_cores: list[int]
ram_size_mb: int
read_only: bool
reference_id: str
res_name: str
reserved_cpu_cores: list[int]
rg_id: int
rg_name: str
snapshot_sets: list[_nested.SnapshotSetAPIResultNM]
stateless_sep_id: int | None = None
stateless_sep_type: str | None = None
status: _nested.VMStatus
tags: dict
tech_status: _nested.VMTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vgpus: list[_nested.VGPUAPIResultNM]
vm_ci_id: int
vnc_password: str vnc_password: str
guest_agent: _nested.GuestAgentAPIResultNM
zone_id: int
natable_vins_id: int = 0 natable_vins_id: int = 0
natable_vins_ip: str = '' natable_vins_ip: str = ''
@@ -21,6 +85,18 @@ class CloudapiComputeGetResultModel(
natable_vins_network: str = '' natable_vins_network: str = ''
natable_vins_network_name: str = '' natable_vins_network_name: str = ''
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiComputeGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiComputeGetProtocol(_base.BasePostAPIFunctionProtocol):
def get( def get(

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputeGetConsoleUrlResultStr(_base.BaseAPIResultStr):
pass
class CloudapiComputeGetConsoleUrlProtocol(_base.BasePostAPIFunctionProtocol):
def get_console_url(
self,
*,
vm_id: int,
) -> CloudapiComputeGetConsoleUrlResultStr:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeGuestAgentDisableResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeGuestAgentDisableProtocol(
_base.BasePostAPIFunctionProtocol
):
def guest_agent_disable(
self,
*,
vm_id: int,
) -> CloudapiComputeGuestAgentDisableResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeGuestAgentEnableResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeGuestAgentEnableProtocol(
_base.BasePostAPIFunctionProtocol
):
def guest_agent_enable(
self,
*,
vm_id: int,
) -> CloudapiComputeGuestAgentEnableResultBool:
...

View File

@@ -0,0 +1,21 @@
import typing as _typing
import dynamix_sdk.base as _base
class CloudapiComputeGuestAgentExecuteResultModel(
_base.BaseAPIResultModel,
):
exec_result: dict
class CloudapiComputeGuestAgentExecuteProtocol(
_base.BasePostAPIFunctionProtocol
):
def guest_agent_execute(
self,
*,
vm_id: int,
cmd: str,
args: dict[str, _typing.Any],
) -> CloudapiComputeGuestAgentExecuteResultModel:
...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeGuestAgentFeatureUpdateResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudapiComputeGuestAgentFeatureUpdateProtocol(
_base.BasePostAPIFunctionProtocol
):
def guest_agent_feature_update(
self,
*,
vm_id: int,
) -> CloudapiComputeGuestAgentFeatureUpdateResultBool:
...

View File

@@ -18,6 +18,7 @@ class CloudapiComputeListProtocol(_base.BasePostAPIFunctionProtocol):
include_deleted: bool = False, include_deleted: bool = False,
ip_addr: str | None = None, ip_addr: str | None = None,
name: str | None = None, name: str | None = None,
zone_id: int | None = None,
page_number: int | None = None, page_number: int | None = None,
page_size: int | None = None, page_size: int | None = None,
rg_id: int | None = None, rg_id: int | None = None,

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.VMAPIResultNM]
entry_count: int
class CloudapiComputeListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
id: int | None = None,
name: str | None = None,
account_id: int | None = None,
rg_name: str | None = None,
rg_id: int | None = None,
tech_status: _nested.VMTechStatus | None = None,
ip_addr: str | None = None,
ext_net_name: str | None = None,
ext_net_id: int | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str | None = None,
) -> CloudapiComputeListDeletedResultModel:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeMigrateToZoneResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeMigrateToZoneProtocol(_base.BasePostAPIFunctionProtocol):
def migrate_to_zone(
self,
*,
vm_id: int,
zone_id: int,
) -> CloudapiComputeMigrateToZoneResultBool:
...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeMoveToRgResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeMoveToRgProtocol(_base.BasePostAPIFunctionProtocol):
def move_to_rg(
self,
*,
vm_id: int,
rg_id: int,
new_vm_name: str | None = None,
auto_start: bool = False,
force_stop: bool = False,
) -> CloudapiComputeMoveToRgResultBool:
...

View File

@@ -16,8 +16,17 @@ class CloudapiComputeNetAttachProtocol(_base.BasePostAPIFunctionProtocol):
vm_id: int, vm_id: int,
net_type: _nested.NetType, net_type: _nested.NetType,
net_id: int, net_id: int,
security_group_ids: None | list[int] = None,
security_group_mode: bool = False,
enabled: bool = True,
ip_addr: None | str = None, ip_addr: None | str = None,
mtu: None | int = None, mtu: None | int = None,
mac: None | str = None, mac: None | str = None,
sdn_logical_port_id: None | str = None,
net_prefix: int | None = None,
sdn_segment_id: str | None = None,
sdn_object_group_id: str | None = None,
sdn_logical_port_display_name: str | None = None,
sdn_logical_port_description: str | None = None,
) -> CloudapiComputeNetAttachResultModel: ) -> CloudapiComputeNetAttachResultModel:
... ...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputePinToNodeResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputePinToNodeProtocol(_base.BasePostAPIFunctionProtocol):
def pin_to_node(
self,
*,
vm_id: int,
auto_start: bool = False,
) -> CloudapiComputePinToNodeResultBool:
...

View File

@@ -1,15 +0,0 @@
import dynamix_sdk.base as _base
class CloudapiComputePinToStackResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputePinToStackProtocol(_base.BasePostAPIFunctionProtocol):
def pin_to_stack(
self,
*,
vm_id: int,
auto_start: bool = False,
) -> CloudapiComputePinToStackResultBool:
...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputePowerCycleResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputePowerCycleProtocol(_base.BasePostAPIFunctionProtocol):
def power_cycle(
self,
*,
vm_id: int,
) -> CloudapiComputePowerCycleResultBool:
...

View File

@@ -11,6 +11,7 @@ class CloudapiComputeRedeployProtocol(_base.BasePostAPIFunctionProtocol):
self, self,
*, *,
vm_id: int, vm_id: int,
storage_policy_id: int | None = None,
start: bool = False, start: bool = False,
boot_disk_size_gb: int | None = None, boot_disk_size_gb: int | None = None,
data_disks_change_mode: _nested.DataDisksChangeMode = ( data_disks_change_mode: _nested.DataDisksChangeMode = (
@@ -18,5 +19,6 @@ class CloudapiComputeRedeployProtocol(_base.BasePostAPIFunctionProtocol):
), ),
force_stop: bool = False, force_stop: bool = False,
image_id: int | None = None, image_id: int | None = None,
os_version: str | None = None,
) -> CloudapiComputeRedeployResultBool: ) -> CloudapiComputeRedeployResultBool:
... ...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputeResetResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeResetProtocol(_base.BasePostAPIFunctionProtocol):
def reset(
self,
*,
vm_id: int,
) -> CloudapiComputeResetResultBool:
...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputeRestoreResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeRestoreProtocol(_base.BasePostAPIFunctionProtocol):
def restore(
self,
*,
vm_id: int,
) -> CloudapiComputeRestoreResultBool:
...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiComputeUnpinFromNodeResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUnpinFromNodeProtocol(_base.BasePostAPIFunctionProtocol):
def unpin_from_node(
self,
*,
vm_id: int,
) -> CloudapiComputeUnpinFromNodeResultBool:
...

View File

@@ -1,14 +0,0 @@
import dynamix_sdk.base as _base
class CloudapiComputeUnpinFromStackResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUnpinFromStackProtocol(_base.BasePostAPIFunctionProtocol):
def unpin_from_stack(
self,
*,
vm_id: int,
) -> CloudapiComputeUnpinFromStackResultBool:
...

View File

@@ -23,5 +23,6 @@ class CloudapiComputeUpdateProtocol(_base.BasePostAPIFunctionProtocol):
boot_mode: _nested.BootMode | None = None, boot_mode: _nested.BootMode | None = None,
network_interface_naming: _nested.NetIfaceNamingTemplate | None = None, network_interface_naming: _nested.NetIfaceNamingTemplate | None = None,
hot_resize: bool | None = None, hot_resize: bool | None = None,
os_version: str | None = None,
) -> CloudapiComputeUpdateResultBool: ) -> CloudapiComputeUpdateResultBool:
... ...

View File

@@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested
class CloudapiComputeUserListResultModel(_base.BaseAPIResultModel): class CloudapiComputeUserListResultModel(_base.BaseAPIResultModel):
data: _nested.VMACLForComputeUserListAPIResultNM data: _nested.VMACLAPIResultNM
entry_count: int entry_count: int

View File

@@ -1,4 +1,5 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
from .change_disk_storage_policy import *
from .create import * from .create import *
from .delete import * from .delete import *
from .delete_disks import * from .delete_disks import *
@@ -19,6 +20,7 @@ from .unshare import *
class CloudapiDisksAPI( class CloudapiDisksAPI(
_base.BaseAPI, _base.BaseAPI,
CloudapiDisksChangeDiskStoragePolicyProtocol,
CloudapiDisksCreateProtocol, CloudapiDisksCreateProtocol,
CloudapiDisksDeleteDisksProtocol, CloudapiDisksDeleteDisksProtocol,
CloudapiDisksDeleteProtocol, CloudapiDisksDeleteProtocol,

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiDisksChangeDiskStoragePolicyResultBool(_base.BaseAPIResultBool):
pass
class CloudapiDisksChangeDiskStoragePolicyProtocol(
_base.BasePostAPIFunctionProtocol,
):
def change_disk_storage_policy(
self,
*,
disk_id: int,
storage_policy_id: int,
) -> CloudapiDisksChangeDiskStoragePolicyResultBool:
...

View File

@@ -12,7 +12,7 @@ class CloudapiDisksCreateProtocol(_base.BasePostAPIFunctionProtocol):
account_id: int, account_id: int,
name: str, name: str,
size_gb: int, size_gb: int,
iops: int = 2000, storage_policy_id: int,
description: str | None = None, description: str | None = None,
sep_id: int | None = None, sep_id: int | None = None,
sep_pool_name: str | None = None, sep_pool_name: str | None = None,

View File

@@ -2,17 +2,72 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiDisksGetResultModel( class CloudapiDisksGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel, account_id: int
_nested.BaseDiskAPIResultNM, account_name: str
_nested.BaseDiskForCADisksAPIResultNM, acl: dict
): blkdiscard: bool
cache_mode: _nested.DiskCacheMode
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
description: str
destruction_timestamp: int
device_name: str | None = None
grid_id: int
id: int
image_id: int
image_ids: list[int]
io_tune: _nested.IOTuneAPIResultNM
milestones: int milestones: int
name: str
params: str
parent_id: int
present_to: dict[str, int]
purge_timestamp: int
replication: _nested.ReplicationAPIResultNM | dict
res_id: str
res_name: str
role: str
sep_id: int
sep_pool_name: str
sep_type: _nested.SEPType
shared: bool
size_available_gb: float
size_max_gb: int
size_used_gb: float
snapshots: list[_nested.SnapshotAPIResultNM]
status: _nested.DiskStatus
storage_policy_id: int
tech_status: _nested.DiskTechStatus
to_clean: bool
type: _nested.DiskType
updated_by: str
vm_id: int | None vm_id: int | None
vm_name: str | None vm_name: str | None
vms: dict[str, str] vms: dict[str, str]
device_name: str | None = None updated_timestamp: int = 0
sep_type: _nested.SEPType
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@_base.computed_field
def destruction_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@_base.computed_field
def purge_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.purge_timestamp)
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiDisksGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiDisksGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -23,6 +23,7 @@ class CloudapiDisksListProtocol(_base.BasePostAPIFunctionProtocol):
shared: bool | None = None, shared: bool | None = None,
sort_by: str | None = None, sort_by: str | None = None,
status: _nested.DiskStatus | None = None, status: _nested.DiskStatus | None = None,
storage_policy_id: int | None = None,
type: _nested.DiskType | None = None, type: _nested.DiskType | None = None,
) -> CloudapiDisksListResultModel: ) -> CloudapiDisksListResultModel:
... ...

View File

@@ -19,6 +19,7 @@ class CloudapiDisksListUnattachedProtocol(_base.BasePostAPIFunctionProtocol):
page_size: int | None = None, page_size: int | None = None,
sep_id: int | None = None, sep_id: int | None = None,
sep_pool_name: str | None = None, sep_pool_name: str | None = None,
storage_policy_id: int | None = None,
sort_by: str | None = None, sort_by: str | None = None,
status: _nested.DiskStatus | None = None, status: _nested.DiskStatus | None = None,
type: _nested.DiskType | None = None, type: _nested.DiskType | None = None,

View File

@@ -0,0 +1,11 @@
import dynamix_sdk.base as _base
from .get import *
from .list import *
class CloudapiDpdknetAPI(
_base.BaseAPI,
CloudapiDpdknetGetProtocol,
CloudapiDpdknetListProtocol,
):
pass

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiDpdknetGetResultModel(
_base.BaseAPIResultModel,
_nested.DPDKNetAPIResultNM,
):
pass
class CloudapiDpdknetGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
dpdk_net_id: int,
) -> CloudapiDpdknetGetResultModel:
...

View File

@@ -0,0 +1,24 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiDpdknetListResultModel(_base.BaseAPIResultModel):
data: list[_nested.DPDKNetAPIResultNM]
entry_count: int
class CloudapiDpdknetListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
description: str | None = None,
grid_id: int | None = None,
id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str | None = None,
status: _nested.DPDKNetStatus | None = None,
vm_ids: list[int] | None = None,
) -> CloudapiDpdknetListResultModel:
...

View File

@@ -2,32 +2,39 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiExtnetGetResultModel( class CloudapiExtnetGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel,
_nested.ExtNetForListAPIResultNM,
):
check_ips: list[str] check_ips: list[str]
default_qos: _nested.QOSAPIResultNM default_qos: _nested.QOSAPIResultNM
default: bool default: bool
description: str description: str
dns_servers: list[str]
dhcp_excluded_reservations: list[_nested.DHCPReservationAPIResultNM] dhcp_excluded_reservations: list[_nested.DHCPReservationAPIResultNM]
dhcp_reservations: list[_nested.DHCPReservationAPIResultNM]
dns_servers: list[str]
free_ip_count: int free_ip_count: int
gateway: str gateway: str
grid_id: int grid_id: int
guid: int guid: int
id: int
ip_cidr: str
milestones: int milestones: int
mtu: int
name: str
net_ip: str net_ip: str
network_id: int net_prefix: int
network_ids: _nested.NetworkIDsAPIResultNM
ntp_servers: list[str]
ovs_bridge: str ovs_bridge: str
pre_reservation_count: int pre_reservation_count: int
net_mask: int pre_reservations: list[_nested.DHCPReservationAPIResultNM]
primary_vnfdev_id: int primary_vnfdev_id: int
dhcp_reservations: list[_nested.DHCPReservationAPIResultNM] redundant: bool
secondary_vnfdev_id: int
security_group_mode: bool
shared_with: list[int] shared_with: list[int]
status: _nested.ExtNetStatus
vlan_id: int vlan_id: int
vnf_ids_by_type: dict[str, int] vnf_ids_by_type: dict[str, int]
ntp_servers: list[str] zone_id: int
class CloudapiExtnetGetProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiExtnetGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -16,6 +16,7 @@ class CloudapiExtnetListProtocol(_base.BasePostAPIFunctionProtocol):
name: str | None = None, name: str | None = None,
net_ip: str | None = None, net_ip: str | None = None,
ovs_bridge: str | None = None, ovs_bridge: str | None = None,
zone_id: int | None = None,
page_number: int | None = None, page_number: int | None = None,
page_size: int | None = None, page_size: int | None = None,
sort_by: str | None = None, sort_by: str | None = None,

View File

@@ -7,7 +7,7 @@ class CloudapiFlipgroupCreateResultModel(_base.BaseAPIResultModel):
id: int id: int
ip_addr: str ip_addr: str
name: str name: str
net_mask: int net_prefix: int
class CloudapiFlipgroupCreateProtocol(_base.BasePostAPIFunctionProtocol): class CloudapiFlipgroupCreateProtocol(_base.BasePostAPIFunctionProtocol):
@@ -18,9 +18,6 @@ class CloudapiFlipgroupCreateProtocol(_base.BasePostAPIFunctionProtocol):
name: str, name: str,
net_id: int, net_id: int,
net_type: _nested.FlipGroupNetType, net_type: _nested.FlipGroupNetType,
client_type: _nested.FlipGroupClientType = (
_nested.FlipGroupClientType.VM
),
description: str | None = None, description: str | None = None,
ip_addr: str | None = None, ip_addr: str | None = None,
) -> CloudapiFlipgroupCreateResultModel: ) -> CloudapiFlipgroupCreateResultModel:

View File

@@ -2,32 +2,43 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested import dynamix_sdk.api._nested as _nested
class CloudapiFlipgroupGetResultModel( class CloudapiFlipgroupGetResultModel(_base.BaseAPIResultModel):
_base.BaseAPIResultModel, account_id: int
_nested.BaseFlipGroupAPIResultNM,
):
account_name: str account_name: str
client_ids: list[int]
client_names: list[str] client_names: list[str]
client_type: _nested.FlipGroupClientType
conn_id: int
conn_type: str
created_by: str created_by: str
created_timestamp: int created_timestamp: int
default_gw: str
deleted_by: str deleted_by: str
deleted_timestamp: int deleted_timestamp: int
description: str
grid_id: int
guid: int
id: int
ip_addr: str
milestones: int
name: str
net_cidr: str net_cidr: str
rg_id: int net_id: int
rg_name: str net_type: _nested.FlipGroupNetType
status: _nested.FlipGroupStatus
updated_by: str updated_by: str
updated_timestamp: int updated_timestamp: int
@property @_base.computed_field
def created_datetime(self): def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp) return self._get_datetime_from_timestamp(self.created_timestamp)
@property @_base.computed_field
def deleted_datetime(self): def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp) return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property @_base.computed_field
def updated_datetime(self): def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp) return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -20,7 +20,6 @@ class CloudapiFlipgroupListProtocol(_base.BasePostAPIFunctionProtocol):
name: str | None = None, name: str | None = None,
page_number: int | None = None, page_number: int | None = None,
page_size: int | None = None, page_size: int | None = None,
rg_id: int | None = None,
sort_by: str | None = None, sort_by: str | None = None,
status: _nested.FlipGroupStatus | None = None, status: _nested.FlipGroupStatus | None = None,
vins_id: int | None = None, vins_id: int | None = None,

View File

@@ -1,4 +1,5 @@
import dynamix_sdk.base as _base import dynamix_sdk.base as _base
from .change_storage_policy import *
from .create import * from .create import *
from .create_virtual import * from .create_virtual import *
from .delete import * from .delete import *
@@ -10,6 +11,7 @@ from .rename import *
class CloudapiImageAPI( class CloudapiImageAPI(
_base.BaseAPI, _base.BaseAPI,
CloudapiImageChangeStoragePolicyProtocol,
CloudapiImageCreateProtocol, CloudapiImageCreateProtocol,
CloudapiImageCreateVirtualProtocol, CloudapiImageCreateVirtualProtocol,
CloudapiImageDeleteProtocol, CloudapiImageDeleteProtocol,

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiImageChangeStoragePolicyResultBool(_base.BaseAPIResultBool):
pass
class CloudapiImageChangeStoragePolicyProtocol(
_base.BasePostAPIFunctionProtocol,
):
def change_storage_policy(
self,
*,
image_id: int,
storage_policy_id: int,
) -> CloudapiImageChangeStoragePolicyResultBool:
...

Some files were not shown because too many files have changed in this diff Show More