main 1.0.1
Dmitriy Smirnov 6 days ago
parent 346ffd4255
commit caf367262c

@ -23,3 +23,10 @@ repos:
- 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

@ -1,28 +1,185 @@
# Список изменений в версии 1.0.0
# Список изменений в версии 1.0.1
## Добавлено
### Глобально
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BPYS-3 | Добавлена возможность авторизации через DECS3O. |
| BPYS-7 | Добавлена возможность авторизации через BVS. |
| BPYS-16 | Добавлена функция API `/cloudapi/account/list`. |
| BPYS-34 | Добавлена функция API `/cloudapi/account/update`. |
| BPYS-31 | Добавлена функция API `/cloudapi/account/get`. |
| BPYS-61 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.image_ids` в связи с переименованием из `images`. |
| BPYS-61 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.disks.image_ids` в связи с переименованием из `images`. |
| BPYS-22 | Добавлена функция API `/cloudapi/account/listDeleted`. |
| BPYS-59 | Добавлены функции API `/cloudapi/disks/get`, `/cloudapi/disks/list`, `/cloudapi/disks/listDeleted`, `/cloudapi/disks/listUnattached`. |
| BPYS-59 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.shared` в связи с переименованием из `shareable`. |
| BPYS-62 | Функция API `/cloudapi/compute/get`: добавлен параметр `vm_id` в связи с переименованием из `compute_id`. |
| BPYS-62 | Функция API `/cloudapi/compute/update`: добавлен параметр `vm_id` в связи с переименованием из `compute_id`. |
| BPYS-62 | Функция API `/cloudapi/compute/delete`: добавлен параметр `vm_id` в связи с переименованием из `compute_id`. |
| BPYS-36 | Добавлена функция API `/cloudapi/kvmx86/createBlank`. |
| BPYS-37 | Добавлена функция API `/cloudapi/compute/start`. |
| BPYS-38 | Добавлена функция API `/cloudapi/compute/stop`. |
| BPYS-39 | Добавлена функция API `/cloudapi/compute/reboot`. |
| BPYS-40 | Добавлена функция API `/cloudapi/compute/resize`. |
| BPYS-41 | Добавлена функция API `/cloudapi/compute/pause`. |
| BPYS-42 | Добавлена функция API `/cloudapi/compute/resume`. |
| BPYS-71 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.vm_features` в связи с переименованием из `compute_features`. |
| BPYS-71 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.vm_features` в связи с переименованием из `compute_features`. |
| BPYS-68 | Добавлена функция API `/cloudbroker/account/create`. |
| BPYS-63 | Добавлены функции API `/cloudapi/image/get`, `/cloudapi/image/list`. |
| BPYS-73 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.vm_ci_id` в связи с переименованием из `compute_ci_id`. |
| BPYS-73 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.vm_ci_id` в связи с переименованием из `compute_ci_id`. |
| BPYS-60 | Добавлены функции API `/cloudapi/vins/get`, `/cloudapi/vins/list`, `/cloudapi/vins/listDeleted`. |
| BPYS-66 | Добавлена функция API `/cloudapi/compute/changeIp`. |
| BPYS-67 | Добавлены функции API `/cloudapi/compute/netAttach`, `/cloudapi/compute/netDetach`. |
| BPYS-70 | Добавлены функции API `/cloudapi/bservice/get`, `/cloudapi/bservice/list`, `/cloudapi/bservice/listDeleted`. |
| BPYS-74 | Добавлена функция API `/cloudapi/bservice/groupGet`. |
| BPYS-75 | Добавлены функции API `/cloudapi/rg/delete`, `/cloudapi/rg/restore`. |
| BPYS-82 | Добавлены функции API `/cloudapi/bservice/create`, `/cloudapi/bservice/delete`, `/cloudapi/bservice/restore`. |
| BPYS-80 | Добавлены функции API `/cloudapi/disks/create`, `/cloudapi/disks/delete`, `/cloudapi/disks/restore`. |
| BPYS-84 | Добавлены функции API `/cloudapi/bservice/disable`, `/cloudapi/bservice/enable`, `/cloudapi/bservice/start`, `/cloudapi/bservice/stop`. |
| BPYS-87 | Добавлены функции API `/cloudapi/bservice/groupAdd`, `/cloudapi/bservice/groupRemove`. |
| BPYS-83 | Добавлены функции API `/cloudapi/image/create`, `/cloudapi/image/createVirtual`, `/cloudapi/image/delete`, `/cloudapi/image/link`, `/cloudapi/image/rename`. |
| BPYS-85 | Добавлены функции API `/cloudapi/extnet/get`, `/cloudapi/extnet/list`, `/cloudapi/extnet/getDefault`. |
| BPYS-88 | Добавлены функции API `/cloudapi/flipgroup/computeAdd`, `/cloudapi/flipgroup/computeRemove`, `/cloudapi/flipgroup/create`, `/cloudapi/flipgroup/delete`, `/cloudapi/flipgroup/edit`, `/cloudapi/flipgroup/get`, `/cloudapi/flipgroup/list`. |
| BPYS-78 | Добавлены функции API `/cloudapi/vins/createInAccount`, `/cloudapi/vins/createInRG`, `/cloudapi/vins/delete`, `/cloudapi/vins/restore`. |
| BPYS-76 | Добавлена функция API `/cloudapi/rg/update`. |
| BPYS-91 | Добавлены функции API `/cloudapi/bservice/groupComputeRemove`, `/cloudapi/bservice/groupParentAdd`, `/cloudapi/bservice/groupParentRemove`, `/cloudapi/bservice/groupResize`, `/cloudapi/bservice/groupStart`, `/cloudapi/bservice/groupStop`, `/cloudapi/bservice/groupUpdate`, `/cloudapi/bservice/groupUpdateExtnet`, `/cloudapi/bservice/groupUpdateVins` . |
| BPYS-77 | Добавлены функции API `/cloudapi/rg/setDefNet`, `/cloudapi/rg/removeDefNet`. |
| BPYS-81 | Добавлены функции API `/cloudapi/account/delete`, `/cloudapi/account/restore`. |
| BPYS-119 | Добавлена функция API `/cloudapi/compute/clone`. |
| BPYS-79 | Добавлены функции API `/cloudapi/lb/get`, `/cloudapi/lb/list`, `/cloudapi/lb/listDeleted`, `cloudapi/lb/create`, `/cloudapi/lb/delete`. |
| BPYS-95 | Добавлены функции API `/cloudapi/rg/accessGrant`, `/cloudapi/rg/accessRevoke`. |
| BPYS-93 | Добавлены функции API `/cloudapi/disks/deleteDisks`, `/cloudapi/disks/limitIO`, `/cloudapi/disks/listTypes`, `/cloudapi/disks/rename`, `/cloudapi/disks/resize2`, `/cloudapi/disks/share`, `/cloudapi/disks/snapshotDelete`, `/cloudapi/disks/snapshotRollback`, `/cloudapi/disks/unshare`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.acl.vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: для атрибута `CloudapiComputeGetResultModel.affinity_rules.topology` в перечисляемый тип `AffinityTopology` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: для атрибута `CloudapiComputeGetResultModel.anti_affinity_rules.topology` в перечисляемый тип `AffinityTopology` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/compute/list`: для атрибута `CloudapiComputeListResultModel.data.affinity_rules.topology` в перечисляемый тип `AffinityTopology` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/compute/list`: для атрибута `CloudapiComputeListResultModel.data.anti_affinity_rules.topology` в перечисляемый тип `AffinityTopology` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/rg/get`: для атрибута `CloudapiRgGetResultModel.resource_types` в перечисляемый тип `RGResourceType` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-98 | Функция API `/cloudapi/rg/list`: для атрибута `CloudapiRgListResultModel.data.resource_types` в перечисляемый тип `RGResourceType` добавлено значение `vm` в связи с переименованием из `compute`. |
| BPYS-118 | Добавлена функция API `/cloudapi/compute/redeploy`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: добавлен параметр `cpu_count` в связи с переименованием из `cpu`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: добавлен параметр `ram_size_mb` в связи с переименованием из `ram`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.cpu_count` в связи с переименованием из `cpu`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.disk_size_gb` в связи с переименованием из `disk_size`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.public_ip_count` в связи с переименованием из `public_ip`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.ram_size_mb` в связи с переименованием из `ram`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.storage_size_gb` в связи с переименованием из `storage`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.cpu_count` в связи с переименованием из `cpu`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.disk_size_gb` в связи с переименованием из `disk_size`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.public_ip_count` в связи с переименованием из `public_ip`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.ram_size_mb` в связи с переименованием из `ram`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.storage_size_gb` в связи с переименованием из `storage`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.cpu_count` в связи с переименованием из `cpu`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.ram_size_mb` в связи с переименованием из `ram`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.cpu_count` в связи с переименованием из `cpu`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.ram_size_mb` в связи с переименованием из `ram`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.boot_disk_size_gb` в связи с переименованием из `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.boot_disk_size_gb` в связи с переименованием из `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: добавлен параметр `boot_disk_size_gb` в связи с переименованием из `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `boot_disk_size_gb` в связи с переименованием из `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: добавлен параметр `cpu_count_quota` в связи с переименованием из `cpu_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: добавлен параметр `public_ip_count_quota` в связи с переименованием из `public_ip_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: добавлен параметр `ram_size_quota_mb` в связи с переименованием из `ram_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: добавлен параметр `storage_size_quota_gb` в связи с переименованием из `storage_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: добавлен атрибут `CloudapiRgGetResultModel.quotas.gpu_count` в связи с переименованием из `gpu`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: добавлен атрибут `CloudapiRgListResultModel.data.quotas.gpu_count` в связи с переименованием из `gpu`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: добавлен параметр `cpu_count_quota` в связи с переименованием из `cpu_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: добавлен параметр `public_ip_count_quota` в связи с переименованием из `public_ip_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: добавлен параметр `ram_size_quota_mb` в связи с переименованием из `ram_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: добавлен параметр `storage_size_quota_gb` в связи с переименованием из `storage_quota`. |
| BPYS-126 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.vgpus` в связи с переименованием из `gpu_ids`. |
| BPYS-126 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.vgpus` в связи с переименованием из `gpu_ids`. |
| BPYS-96 | Добавлены функции API `cloudapi/rg/enable,`, `cloudapi/rg/disable`. |
| BPYS-138 | Добавлены функции API `/cloudapi/stack/get`, `/cloudapi/stack/list`. |
| BPYS-133 | Добавлены функции API `/cloudapi/locations/getUrl`, `/cloudapi/locations/list`. |
| BPYS-136 | Добавлены функции API `/cloudapi/compute/tagAdd`, `/cloudapi/compute/tagRemove`. |
| BPYS-137 | Добавлены функции API `/cloudapi/compute/cdEject`, `/cloudapi/compute/cdInsert`.|
| BPYS-134 | Добавлены функции API `/cloudapi/compute/diskAdd`, `/cloudapi/compute/diskAttach`, `/cloudapi/compute/diskDetach`, `/cloudapi/compute/diskResize`. |
| BPYS-135 | Добавлены функции API `/cloudapi/compute/affinityRelations`, `/cloudapi/compute/affinityLabelRemove`, `/cloudapi/compute/affinityLabelSet`, `/cloudapi/compute/affinityRuleAdd`, `/cloudapi/compute/affinityRuleRemove`, `/cloudapi/compute/affinityRulesClear`, `/cloudapi/compute/antiAffinityRuleAdd`, `/cloudapi/compute/antiAffinityRuleRemove`, `/cloudapi/compute/antiAffinityRulesClear`. |
| BPYS-131 | Добавлены функции API `/cloudapi/vins/vnfdevRedeploy`, `/cloudapi/vins/vnfdevRestart`. |
| BPYS-143 | Добавлена функция API `/cloudapi/compute/diskDel`. |
| BPYS-132 | Добавлены функции API `/cloudapi/tasks/get`, `/cloudapi/tasks/list`. |
| BPYS-145 | Добавлены функции API `/cloudapi/compute/setCustomFields` `/cloudapi/compute/deleteCustomFields`. |
| BPYS-144 | Добавлены функции API `/cloudapi/compute/snapshotCreate`, `/cloudapi/compute/snapshotList`, `/cloudapi/compute/snapshotRollback`. |
| BPYS-130 | Добавлены функции API `/cloudapi/vins/staticRouteAdd`, `/cloudapi/vins/staticRouteDel`, `/cloudapi/vins/staticRouteList`. |
| BPYS-171 | Добавлены функции API `/cloudapi/lb/backendCreate`, `/cloudapi/lb/backendDelete`, `/cloudapi/lb/backendServerAdd`, `/cloudapi/lb/backendServerDelete`, `/cloudapi/lb/backendServerUpdate`, `/cloudapi/lb/backendUpdate`. |
| BPYS-146 | Добавлены функции API `/cloudapi/compute/pinToStack`, `/cloudapi/compute/unpinFromStack`. |
| BPYS-182 | Добавлены функции API `/cloudapi/vins/ipList`, `/cloudapi/vins/ipReserve`, `/cloudapi/vins/ipRelease`. |
| BPYS-196 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.cdrom_image_id` в связи с переименованием из `cd_image_id`. |
| BPYS-196 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.cdrom_image_id` в связи с переименованием из `cd_image_id`. |
| BPYS-147 | Добавлены функции API `/cloudapi/compute/pfwAdd`, `/cloudapi/compute/pfwDel`, `/cloudapi/compute/pfwList`. |
| BPYS-148 | Функция API `/cloudapi/kvmx86/create`: у параметра `data_disks` в модели `DiskAPIParamsNM` добавлен атрибут `size_gb` в связи с переименованием из `size`. |
## Удалено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BPYS-59 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.disks.shareable` в связи с переименованием в `shared`. |
| BPYS-61 | Функция API `/cloudapi/compute/get`: удалён атрибут `CloudapiComputeGetResultModel.disks.images` в связи с переименованием в `image_ids`. |
| BPYS-61 | Функция API `/cloudapi/compute/list`: удалён атрибут `CloudapiComputeListResultModel.data.disks.images` в связи с переименованием в `image_ids`. |
| BPYS-62 | Функция API `/cloudapi/compute/get`: удалён параметр `compute_id` в связи с переименованием в `vm_id`. |
| BPYS-62 | Функция API `/cloudapi/compute/update`: удалён параметр `compute_id` в связи с переименованием в `vm_id`. |
| BPYS-62 | Функция API `/cloudapi/compute/delete`: удалён параметр `compute_id` в связи с переименованием в `vm_id`. |
| BPYS-71 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.compute_features` в связи с переименованием в `vm_features`. |
| BPYS-71 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.compute_features` в связи с переименованием в `vm_features`. |
| BPYS-73 | Функция API `/cloudapi/compute/get`: удалён параметр `CloudapiComputeGetResultModel.compute_ci_id` в связи с переименованием в `vm_ci_id`. |
| BPYS-73 | Функция API `/cloudapi/compute/list`: удалён параметр `CloudapiComputeListResultModel.data.compute_ci_id` в связи с переименованием в `vm_ci_id`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.acl.compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: для атрибута `CloudapiComputeGetResultModel.affinity_rules.topology` из перечисляемого типа `AffinityTopology` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/compute/get`: для атрибута `CloudapiComputeGetResultModel.anti_affinity_rules.topology` из перечисляемого типа `AffinityTopology` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/compute/list`: для атрибута `CloudapiComputeListResultModel.data.affinity_rules.topology` из перечисляемого типа `AffinityTopology` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/compute/list`: для атрибута `CloudapiComputeListResultModel.data.anti_affinity_rules.topology` из перечисляемого типа `AffinityTopology` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/rg/get`: для атрибута `CloudapiRgGetResultModel.resource_types` из перечисляемого типа `RGResourceType` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-98 | Функция API `/cloudapi/rg/list`: для атрибута `CloudapiRgListResultModel.data.resource_types` из перечисляемого типа `RGResourceType` удалено значение `compute` в связи с переименованием в `vm`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: удалён параметр `cpu` в связи с переименованием в `cpu_count`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: удалён параметр `ram` в связи с переименованием в `ram_size_mb`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.cpu` в связи с переименованием в `cpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.disk_size` в связи с переименованием в `disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.public_ip` в связи с переименованием в `public_ip_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.ram` в связи с переименованием в `ram_size_mb`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.storage` в связи с переименованием в `storage_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.cpu` в связи с переименованием в `cpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.disk_size` в связи с переименованием в `disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.public_ip` в связи с переименованием в `public_ip_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.ram` в связи с переименованием в `ram_size_mb`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.storage` в связи с переименованием в `storage_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.cpu` в связи с переименованием в `cpu_count`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.ram` в связи с переименованием в `ram_size_mb`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.cpu` в связи с переименованием в `cpu_count`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.ram` в связи с переименованием в `ram_size_mb`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.boot_disk_size` в связи с переименованием в `boot_disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.boot_disk_size` в связи с переименованием в `boot_disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.boot_disk_size` в связи с переименованием в `boot_disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.boot_disk_size` в связи с переименованием в `boot_disk_size_gb`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/create`: удален параметр `boot_disk_size_gb` в связи с переименованием в `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/kvmx86/createBlank`: удален параметр `boot_disk_size_gb` в связи с переименованием в `boot_disk_size`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: удален параметр `cpu_quota` в связи с переименованием в `cpu_count_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: удален параметр `public_ip_quota` в связи с переименованием в `public_ip_count_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: удален параметр `ram_quota` в связи с переименованием в `ram_size_quota_mb`. |
| BPYS-116 | Функция API `/cloudapi/rg/create`: удален параметр `storage_size_quota_gb` в связи с переименованием в `storage_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.gpu` в связи с переименованием в `gpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/get`: удален атрибут `CloudapiRgGetResultModel.quotas.gpu` в связи с переименованием в `gpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.gpu` в связи с переименованием в `gpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/list`: удален атрибут `CloudapiRgListResultModel.data.quotas.gpu` в связи с переименованием в `gpu_count`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: удален параметр `cpu_quota` в связи с переименованием в `cpu_count_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: удален параметр `public_ip_quota` в связи с переименованием в `public_ip_count_quota`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: удален параметр `ram_quota` в связи с переименованием в `ram_size_quota_mb`. |
| BPYS-116 | Функция API `/cloudapi/rg/update`: удален параметр `storage_quota` в связи с переименованием в `storage_size_quota_gb`. |
| BPYS-126 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.gpu_ids` в связи с переименованием в `vgpus`. |
| BPYS-126 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.gpu_ids` в связи с переименованием в `vgpus`. |
| BPYS-120 | Добавлены функции API `/cloudapi/compute/userGrant`, `/cloudapi/compute/userList`, `/cloudapi/compute/userRevoke`, `/cloudapi/compute/userUpdate`. |
| BPYS-196 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.cd_image_id` в связи с переименованием в `cdrom_image_id`. |
| BPYS-196 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.cd_image_id` в связи с переименованием в `cdrom_image_id`. |
| BPYS-148 | Функция API `/cloudapi/kvmx86/create`: у параметра `data_disks` в модели `DiskAPIParamsNM` удален атрибут `size` в связи с переименованием в `size_gb`. |
## Исправлено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BPYS-5 | Добавлена функция API `/system/usermanager/whoami`. |
| BPYS-4 | Добавлена функция API `/cloudapi/compute/get`. |
| BPYS-6 | Добавлена функция API `/cloudapi/kvmx86/create`. |
| BPYS-12 | Добавлена функция API `/cloudapi/compute/delete`. |
| BPYS-21 | Добавлена функция API `/cloudapi/user/get`. |
| BPYS-15 | Добавлена функция API `/cloudapi/compute/update`. |
| BPYS-29 | Добавлена функция API `/cloudapi/account/updateUser`. |
| BPYS-33 | Добавлена функция API `/cloudapi/account/enable`. |
| BPYS-32 | Добавлена функция API `/cloudapi/account/disable`. |
| BPYS-45 | Добавлена функция API `/cloudapi/rg/list`. |
| BPYS-20 | Добавлена функция API `/cloudapi/account/addUser`. |
| BPYS-30 | Добавлена функция API `/cloudapi/account/deleteUser`. |
| BPYS-51 | Добавлена функция API `/cloudapi/rg/get`. |
| BPYS-52 | Добавлена функция API `/cloudapi/rg/create`. |
| BPYS-35 | Добавлена функция API `/cloudapi/compute/list`. |
| BPYS-62 | Функция API `/cloudapi/compute/get`: имя атрибута `CloudapiComputeGetResultModel.vns_password` исправлено на `vnc_password`. |
| BPYS-126 | Вызов функции `/cloudapi/compute/get` завершался ошибкой валидации атрибута `CloudapiComputeGetResultModel.gpu_ids` при наличии соответствующих данных в ответе API. |
| BPYS-126 | Вызов функции `/cloudapi/compute/list` завершался ошибкой валидации атрибута `CloudapiComputeListResultModel.data.gpu_ids` при наличии соответствующих данных в ответе API. |

@ -19,6 +19,7 @@
- [Способы авторизации](#способы-авторизации)
- [Функции API](#функции-api)
- [Cloudapi](#cloudapi)
- [Cloudbroker](#cloudbroker)
- [System](#system)
## Описание
@ -203,14 +204,14 @@ from dynamix_sdk import Dynamix, types
dx = Dynamix(...)
data_disk_1 = types.DiskAPIParamsNM(name='data_disk_1', size=10)
data_disk_1 = types.DiskAPIParamsNM(name='data_disk_1', size_gb=10)
# /cloudapi/kvmx86/create
new_vm_id = dx.api.cloudapi.kvmx86.create(
rg_id=123,
name='new_vm',
cpu=1,
ram=1024,
cpu_count=1,
ram_size_mb=1024,
image_id=456,
data_disks=[data_disk_1],
)
@ -230,8 +231,8 @@ dx = Dynamix(...)
new_vm_id = dx.api.cloudapi.kvmx86.create(
rg_id=123,
name='new_vm',
cpu=1,
ram=1024,
cpu_count=1,
ram_size_mb=1024,
image_id=456,
chipset=types.Chipset.Q35, # enum
numa_affinity=types.NumaAffinity.none, # enum
@ -257,7 +258,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
get_result = dx.api.cloudapi.compute.get(compute_id=1)
get_result = dx.api.cloudapi.compute.get(vm_id=1)
print(type(get_result)) # <class '....CloudapiComputeGetResultModel'>
@ -276,7 +277,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
vm_name = dx.api.cloudapi.compute.get(compute_id=1).name
vm_name = dx.api.cloudapi.compute.get(vm_id=1).name
```
@ -294,7 +295,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
vm_disk1 = dx.api.cloudapi.compute.get(compute_id=1).disks[0]
vm_disk1 = dx.api.cloudapi.compute.get(vm_id=1).disks[0]
print(type(vm_disk1)) # <class '....DiskAPIResultNM'>
@ -313,7 +314,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
vm_disk1_id = dx.api.cloudapi.compute.get(compute_id=1).disks[0].id
vm_disk1_id = dx.api.cloudapi.compute.get(vm_id=1).disks[0].id
```
@ -331,7 +332,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/get
get_result = dx.api.cloudapi.compute.get(compute_id=1)
get_result = dx.api.cloudapi.compute.get(vm_id=1)
# Поле, возвращаемое платформой
print(type(get_result.created_timestamp)) # <class 'int'>
@ -375,7 +376,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/delete
delete_result = dx.api.cloudapi.compute.delete(compute_id=1)
delete_result = dx.api.cloudapi.compute.delete(vm_id=1)
print(type(delete_result)) # <class '....CloudapiComputeDeleteResultBool'>
print(type(delete_result.value)) # <class 'bool'>
@ -391,7 +392,7 @@ from dynamix_sdk import Dynamix
dx = Dynamix(...)
# /cloudapi/compute/delete
if dx.api.cloudapi.compute.delete(compute_id=1):
if dx.api.cloudapi.compute.delete(vm_id=1):
print('The VM has been deleted.')
```
@ -458,7 +459,7 @@ dx = Dynamix(...)
vm_id = 1
try:
get_result = dx.api.cloudapi.compute.get(compute_id=vm_id)
get_result = dx.api.cloudapi.compute.get(vm_id=vm_id)
except HTTPError as e:
resp = e.response
if resp.status_code == 404:
@ -491,33 +492,209 @@ except RequestException as e:
<details><summary>account</summary>
- /cloudapi/account/addUser
- /cloudapi/account/delete
- /cloudapi/account/deleteUser
- /cloudapi/account/disable
- /cloudapi/account/enable
- /cloudapi/account/get
- /cloudapi/account/list
- /cloudapi/account/listDeleted
- /cloudapi/account/restore
- /cloudapi/account/update
- /cloudapi/account/updateUser
</details>
<details><summary>bservice</summary>
- /cloudapi/bservice/create
- /cloudapi/bservice/delete
- /cloudapi/bservice/disable
- /cloudapi/bservice/enable
- /cloudapi/bservice/get
- /cloudapi/bservice/groupAdd
- /cloudapi/bservice/groupComputeRemove
- /cloudapi/bservice/groupGet
- /cloudapi/bservice/groupParentAdd
- /cloudapi/bservice/groupParentRemove
- /cloudapi/bservice/groupRemove
- /cloudapi/bservice/groupResize
- /cloudapi/bservice/groupStart
- /cloudapi/bservice/groupStop
- /cloudapi/bservice/groupUpdate
- /cloudapi/bservice/groupUpdateExtnet
- /cloudapi/bservice/groupUpdateVins
- /cloudapi/bservice/list
- /cloudapi/bservice/listDeleted
- /cloudapi/bservice/restore
- /cloudapi/bservice/start
- /cloudapi/bservice/stop
</details>
<details><summary>compute</summary>
- /cloudapi/compute/affinityLabelRemove
- /cloudapi/compute/affinityLabelSet
- /cloudapi/compute/affinityRelations
- /cloudapi/compute/affinityRuleAdd
- /cloudapi/compute/affinityRuleRemove
- /cloudapi/compute/affinityRulesClear
- /cloudapi/compute/antiAffinityRuleAdd
- /cloudapi/compute/antiAffinityRuleRemove
- /cloudapi/compute/antiAffinityRulesClear
- /cloudapi/compute/cdEject
- /cloudapi/compute/cdInsert
- /cloudapi/compute/changeIp
- /cloudapi/compute/clone
- /cloudapi/compute/delete
- /cloudapi/compute/deleteCustomFields
- /cloudapi/compute/diskAdd
- /cloudapi/compute/diskAttach
- /cloudapi/compute/diskDel
- /cloudapi/compute/diskDetach
- /cloudapi/compute/diskResize
- /cloudapi/compute/get
- /cloudapi/compute/list
- /cloudapi/compute/netAttach
- /cloudapi/compute/netDetach
- /cloudapi/compute/pause
- /cloudapi/compute/pfwAdd
- /cloudapi/compute/pfwDel
- /cloudapi/compute/pfwList
- /cloudapi/compute/pinToStack
- /cloudapi/compute/reboot
- /cloudapi/compute/redeploy
- /cloudapi/compute/resize
- /cloudapi/compute/resume
- /cloudapi/compute/setCustomFields
- /cloudapi/compute/snapshotCreate
- /cloudapi/compute/snapshotList
- /cloudapi/compute/snapshotRollback
- /cloudapi/compute/start
- /cloudapi/compute/stop
- /cloudapi/compute/tagAdd
- /cloudapi/compute/tagRemove
- /cloudapi/compute/unpinFromStack
- /cloudapi/compute/update
- /cloudapi/compute/userGrant
- /cloudapi/compute/userList
- /cloudapi/compute/userRevoke
- /cloudapi/compute/userUpdate
</details>
<details><summary>disks</summary>
- /cloudapi/disks/create
- /cloudapi/disks/delete
- /cloudapi/disks/deleteDisks
- /cloudapi/disks/get
- /cloudapi/disks/limitIO
- /cloudapi/disks/list
- /cloudapi/disks/listDeleted
- /cloudapi/disks/listTypes
- /cloudapi/disks/listUnattached
- /cloudapi/disks/rename
- /cloudapi/disks/resize2
- /cloudapi/disks/restore
- /cloudapi/disks/share
- /cloudapi/disks/snapshotDelete
- /cloudapi/disks/snapshotRollback
- /cloudapi/disks/unshare
</details>
<details><summary>extnet</summary>
- /cloudapi/extnet/get
- /cloudapi/extnet/getDefault
- /cloudapi/extnet/list
</details>
<details><summary>flipgroup</summary>
- /cloudapi/flipgroup/computeAdd
- /cloudapi/flipgroup/computeRemove
- /cloudapi/flipgroup/create
- /cloudapi/flipgroup/delete
- /cloudapi/flipgroup/edit
- /cloudapi/flipgroup/get
- /cloudapi/flipgroup/list
</details>
<details><summary>image</summary>
- /cloudapi/image/create
- /cloudapi/image/createVirtual
- /cloudapi/image/delete
- /cloudapi/image/get
- /cloudapi/image/link
- /cloudapi/image/list
- /cloudapi/image/rename
</details>
<details><summary>kvmx86</summary>
- /cloudapi/kvmx86/create
- /cloudapi/kvmx86/createBlank
</details>
<details><summary>lb</summary>
- /cloudapi/lb/backendCreate
- /cloudapi/lb/backendDelete
- /cloudapi/lb/backendServerAdd
- /cloudapi/lb/backendServerDelete
- /cloudapi/lb/backendServerUpdate
- /cloudapi/lb/backendUpdate
- /cloudapi/lb/create
- /cloudapi/lb/delete
- /cloudapi/lb/get
- /cloudapi/lb/list
- /cloudapi/lb/listDeleted
</details>
<details><summary>locations</summary>
- /cloudapi/locations/getUrl
- /cloudapi/locations/list
</details>
<details><summary>rg</summary>
- /cloudapi/rg/accessGrant
- /cloudapi/rg/accessRevoke
- /cloudapi/rg/create
- /cloudapi/rg/delete
- /cloudapi/rg/disable
- /cloudapi/rg/enable
- /cloudapi/rg/get
- /cloudapi/rg/list
- /cloudapi/rg/removeDefNet
- /cloudapi/rg/restore
- /cloudapi/rg/setDefNet
- /cloudapi/rg/update
</details>
<details><summary>stack</summary>
- /cloudapi/stack/get
- /cloudapi/stack/list
</details>
<details><summary>tasks</summary>
- /cloudapi/tasks/get
- /cloudapi/tasks/list
</details>
@ -527,6 +704,34 @@ except RequestException as e:
</details>
<details><summary>vins</summary>
- /cloudapi/vins/createInAccount
- /cloudapi/vins/createInRG
- /cloudapi/vins/delete
- /cloudapi/vins/get
- /cloudapi/vins/ipList
- /cloudapi/vins/ipRelease
- /cloudapi/vins/ipReserve
- /cloudapi/vins/list
- /cloudapi/vins/listDeleted
- /cloudapi/vins/restore
- /cloudapi/vins/staticRouteAdd
- /cloudapi/vins/staticRouteDel
- /cloudapi/vins/staticRouteList
- /cloudapi/vins/vnfdevRedeploy
- /cloudapi/vins/vnfdevRestart
</details>
#### Cloudbroker
<details><summary>account</summary>
- /cloudbroker/account/create
</details>
#### System
<details><summary>usermanager</summary>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

@ -1,7 +1,7 @@
[project]
name = "dynamix-sdk"
authors = [{name = "Dmitriy Smirnov"}]
version = "1.0.0"
version = "1.0.1"
readme = "README.md"

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

@ -1,8 +1,10 @@
import dynamix_sdk.base as _base
from .cloudapi import *
from .cloudbroker import *
from .system import *
class API(_base.BaseAPI):
cloudapi: CloudapiAPI
cloudbroker: CloudbrokerAPI
system: SystemAPI

@ -23,7 +23,7 @@ class AffinityPolicy(str, _AutoNameEnum):
class AffinityTopology(str, _AutoNameEnum):
compute = _enum_auto()
vm = 'compute'
node = _enum_auto()
@ -51,6 +51,11 @@ class NetType(str, _AutoNameEnum):
VINS = _enum_auto()
class NetTypeForChangeIP(str, _AutoNameEnum):
EXTNET = _enum_auto()
VINS = _enum_auto()
class NumaAffinity(str, _AutoNameEnum):
none = _enum_auto()
strict = _enum_auto()
@ -93,7 +98,7 @@ class LockStatus(str, _AutoNameEnum):
UNLOCKED = _enum_auto()
class ComputeFeature(str, _AutoNameEnum):
class VMFeature(str, _AutoNameEnum):
cpupin = _enum_auto()
dpdk = _enum_auto()
hugepages = _enum_auto()
@ -101,6 +106,11 @@ class ComputeFeature(str, _AutoNameEnum):
vfnic = _enum_auto()
class RGDefaultNetTypeForSet(str, _AutoNameEnum):
PRIVATE = _enum_auto()
PUBLIC = _enum_auto()
class RGDefaultNetType(str, _AutoNameEnum):
NONE = _enum_auto()
PRIVATE = _enum_auto()
@ -108,7 +118,7 @@ class RGDefaultNetType(str, _AutoNameEnum):
class RGResourceType(str, _AutoNameEnum):
compute = _enum_auto()
vm = 'compute'
k8s = _enum_auto()
lb = _enum_auto()
vins = _enum_auto()
@ -159,3 +169,265 @@ class VMTechStatus(str, _AutoNameEnum):
class DiskType(str, _AutoNameEnum):
B = _enum_auto()
D = _enum_auto()
class AccountStatus(str, _AutoNameEnum):
CONFIRMED = _enum_auto()
DISABLED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
class AccountResourceType(str, _AutoNameEnum):
vm = 'compute'
k8s = _enum_auto()
lb = _enum_auto()
vins = _enum_auto()
flipgroup = _enum_auto()
class ImageTechStatus(str, _AutoNameEnum):
ALLOCATED = _enum_auto()
UNALLOCATED = _enum_auto()
class ImageStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
CREATING = _enum_auto()
DESTROYED = _enum_auto()
MODELED = _enum_auto()
PURGED = _enum_auto()
class ImageType(str, _AutoNameEnum):
cdrom = _enum_auto()
linux = _enum_auto()
other = _enum_auto()
virtual = _enum_auto()
windows = _enum_auto()
class NetIfaceNamingTemplate(str, _AutoNameEnum):
ens = _enum_auto()
eth = _enum_auto()
class VINSStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATED = _enum_auto()
ENABLED = _enum_auto()
ENABLING = _enum_auto()
DISABLED = _enum_auto()
DISABLING = _enum_auto()
DELETED = _enum_auto()
DELETING = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
class VNFType(str, _AutoNameEnum):
DHCP = _enum_auto()
GW = _enum_auto()
NAT = _enum_auto()
class VNFDevStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATED = _enum_auto()
ENABLED = _enum_auto()
DISABLED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
STASHED = _enum_auto()
class VNFDevTechStatus(str, _AutoNameEnum):
STARTING = _enum_auto()
STARTED = _enum_auto()
STOPPING = _enum_auto()
STOPPED = _enum_auto()
VIRTUAL = _enum_auto()
class VINSInterfaceType(str, _AutoNameEnum):
MGMT = _enum_auto()
class NATRuleProtocol(str, _AutoNameEnum):
tcp = _enum_auto()
udp = _enum_auto()
class VNFDevType(str, _AutoNameEnum):
vyos = _enum_auto()
class BootMode(str, _AutoNameEnum):
bios = _enum_auto()
uefi = _enum_auto()
class BServiceStatus(str, _AutoNameEnum):
CREATED = _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()
RECONFIGURING = _enum_auto()
RESTORING = _enum_auto()
class BServiceTechStatus(str, _AutoNameEnum):
PAUSED = _enum_auto()
PAUSING = _enum_auto()
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class BServiceGroupStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
CREATING = _enum_auto()
CURRUPTED = _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 BServiceGroupTechStatus(str, _AutoNameEnum):
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class SEPType(str, _AutoNameEnum):
HITACHI = _enum_auto()
DES = _enum_auto()
OVS = _enum_auto()
LOCAL = _enum_auto()
TATLIN = _enum_auto()
DORADO = _enum_auto()
SHARED = _enum_auto()
class ExtNetStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
DISABLED = _enum_auto()
DISABLING = _enum_auto()
ENABLED = _enum_auto()
ENABLING = _enum_auto()
MODELED = _enum_auto()
class BootLoaderType(str, _AutoNameEnum):
linux = _enum_auto()
other = _enum_auto()
windows = _enum_auto()
class FlipGroupClientType(str, _AutoNameEnum):
VM = 'compute'
class FlipGroupStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
class FlipGroupNetType(str, _AutoNameEnum):
EXTNET = _enum_auto()
VINS = _enum_auto()
class PoolDiskType(str, _AutoNameEnum):
B = _enum_auto()
D = _enum_auto()
ANY = _enum_auto()
class CountChangeMode(str, _AutoNameEnum):
ABSOLUTE = _enum_auto()
RELATIVE = _enum_auto()
class LBStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATING = _enum_auto()
CREATED = _enum_auto()
DELETING = _enum_auto()
DELETED = _enum_auto()
DESTROYING = _enum_auto()
DESTROYED = _enum_auto()
ENABLING = _enum_auto()
ENABLED = _enum_auto()
DISABLING = _enum_auto()
DISABLED = _enum_auto()
RESTORING = _enum_auto()
class LBTechStatus(str, _AutoNameEnum):
STARTING = _enum_auto()
STARTED = _enum_auto()
STOPPING = _enum_auto()
STOPPED = _enum_auto()
class LBBackendAlgorithm(str, _AutoNameEnum):
ROUNDROBIN = 'roundrobin'
STATIC_RR = 'static-rr'
LEASTCONN = 'leastconn'
class LBServerCheck(str, _AutoNameEnum):
ENABLED = 'enabled'
DISABLED = 'disabled'
class AccessTypeForSet(str, _AutoNameEnum):
ARCXDU = _enum_auto()
RCX = _enum_auto()
R = _enum_auto()
class DataDisksChangeMode(str, _AutoNameEnum):
DESTROY = _enum_auto()
DETACH = _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):
DECS3O = 'decs3o'
BVS = 'bvs'
class DHCPReservationType(str, _AutoNameEnum):
DHCP = _enum_auto()
EXCLUDED = _enum_auto()
SERVICE = _enum_auto()
VIP = _enum_auto()

@ -4,7 +4,7 @@ from . import enums as _enums
class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
name: str
size: int
size_gb: int
description: None | str = None
image_id: None | int = None
@ -18,3 +18,9 @@ class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel):
ip_addr: None | str = None
mtu: None | int = None
class RouteAPIParamsNM(_base.BaseAPIParamsNestedModel):
dst_net_ip: str
dst_net_mask: str
gateway: str

@ -1,16 +1,20 @@
import typing as _typing
import dynamix_sdk.base as _base
from dynamix_sdk.utils import EmptyStr as _EmptyStr
from . import enums as _enums
class AccessAPIResultNM(_base.BaseAPIResultNestedModel):
explicit: bool
explicit: bool | str # BDX-8471
guid: str
access_type: _enums.AccessType
status: str
type: str
user_group_id: str
can_be_deleted: None | bool = None
class AffinityRuleAPIResultNM(_base.BaseAPIResultNestedModel):
guid: str
@ -28,9 +32,11 @@ class QOSAPIResultNM(_base.BaseAPIResultNestedModel):
ingress_rate: int
class VMACLAPIResultNM(_base.BaseAPIResultNestedModel):
class VMACLForComputeGetAPIResultNM( # BDX-8459
_base.BaseAPIResultNestedModel
):
account: list[AccessAPIResultNM]
compute: list[AccessAPIResultNM]
vm: list[AccessAPIResultNM]
rg: list[AccessAPIResultNM]
@ -60,7 +66,6 @@ class BaseInterfaceAPIResultNM(_base.BaseAPIResultNestedModel):
name: str
net_id: int
net_mask: int
net_type: _enums.NetType
node_id: int
pci_slot: int
target: str
@ -68,15 +73,17 @@ class BaseInterfaceAPIResultNM(_base.BaseAPIResultNestedModel):
vnf_ids: list[int]
class InterfaceAPIResultNM(BaseInterfaceAPIResultNM):
class InterfaceForComputeListAPIResultNM(BaseInterfaceAPIResultNM):
net_type: _enums.NetType
class InterfaceForComputeGetAPIResultNM(InterfaceForComputeListAPIResultNM):
qos: QOSAPIResultNM
class OSUserAPIResultNM(_base.BaseAPIResultNestedModel):
login: str
password: str
pub_key: str
guid: str
class VNFDevInterfaceAPIResultNM(BaseInterfaceAPIResultNM):
net_type: _EmptyStr | _enums.NetType
qos: QOSAPIResultNM
class SnapshotSetAPIResultNM(_base.BaseAPIResultNestedModel):
@ -133,50 +140,42 @@ class ReplicationAPIResultNM(_base.BaseAPIResultNestedModel):
volume_id: str
class BaseDiskAPIResultNM(_base.BaseAPIResultNestedModel):
class BaseDiskForCAComputeAPIResultNM(_base.BaseAPIResultNestedModel):
bus_number: int
id: int
pci_slot: int
class DiskAPIResultNM(BaseDiskAPIResultNM):
class BaseDiskAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
acl: dict
boot_partition: int
created_timestamp: int
deleted_timestamp: int
description: str
destruction_timestamp: int
disk_path: str
grid_id: int
guid: int
id: int
image_id: int
images: list
image_ids: list[int]
io_tune: IOTuneAPIResultNM
iqn: str
login: str
milestones: int
name: str
order: int
params: str
parent_id: int
password: str
present_to: list[int]
purge_timestamp: int
reality_device_number: int
replication_dict: dict
replication: ReplicationAPIResultNM | dict
res_id: str
role: str
sep_id: int
sep_pool_name: str
shareable: bool
size_max: int
shared: bool
size_max_gb: int
size_used: float
snapshots: list[SnapshotAPIResultNM]
status: _enums.DiskStatus
tech_status: _enums.DiskTechStatus
type: _enums.DiskType
updated_timestamp: int = 0
@property
@ -191,35 +190,80 @@ class DiskAPIResultNM(BaseDiskAPIResultNM):
def destruction_datetime(self):
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
@property
def purge_datetime(self):
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def replication(self):
if self.replication_dict:
return ReplicationAPIResultNM(**self.replication_dict)
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class BaseDiskForCADisksAPIResultNM(BaseDiskAPIResultNM):
res_name: str
account_name: str
updated_by: _typing.Any = ''
class DiskForCAComputeGetAPIResultNM(
BaseDiskForCAComputeAPIResultNM,
BaseDiskAPIResultNM,
):
boot_partition: int
disk_path: str
guid: int
iqn: str
login: str
milestones: int
password: str
reality_device_number: int
updated_by: _typing.Any = ''
class DiskForListAndListDeletedAPIResultNM(
BaseDiskForCADisksAPIResultNM,
BaseDiskAPIResultNM,
):
vms: dict[str, str]
device_name: str
vm_id: int | None
vm_name: str | None
sep_type: _enums.SEPType
class DiskForListUnattachedAPIResultNM(
BaseDiskForCADisksAPIResultNM,
BaseDiskAPIResultNM,
):
boot_partition: int
disk_path: str
guid: int
iqn: str
login: str
milestones: int
password: str
pci_slot: int
purge_attempt_count: int
reality_device_number: int
reference_id: str
vm_id: int
class TenantQuotasAPIResultNM(_base.BaseAPIResultNestedModel):
cpu: int
disk_size: int
cpu_count: int
disk_size_gb: int
ext_traffic: int
gpu: int
public_ip: int
ram: float | int
storage: int
gpu_count: int
public_ip_count: int
ram_size_mb: float | int
storage_size_gb: int
class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
acl: list[AccessAPIResultNM]
compute_features: list[_enums.ComputeFeature]
vm_features: list[_enums.VMFeature]
cpu_allocation_parameter: str
cpu_allocation_ratio: int
created_by: str
@ -261,6 +305,29 @@ class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class AccountAPIResultNM(_base.BaseAPIResultNestedModel):
acl: list[AccessAPIResultNM]
vm_features: list[_enums.VMFeature]
created_timestamp: int
deleted_timestamp: int
id: int
name: str
status: _enums.AccountStatus
updated_timestamp: int
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
@ -270,14 +337,14 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
anti_affinity_rules: list[AffinityRuleAPIResultNM]
arch: str
auto_start: bool
boot_disk_size: int
boot_disk_size_gb: int
boot_order: list[_enums.BootDevice]
cd_image_id: int
cdrom_image_id: int
chipset: _enums.Chipset
clone_ids: list[int]
clone_reference: int
compute_ci_id: int
cpu: int
vm_ci_id: int
cpu_count: int
cpu_pin: bool
created_by: str
created_timestamp: int
@ -287,7 +354,7 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
description: str
devices: dict
driver: _enums.Driver
gpu_ids: list[int]
vgpus: list[dict[str, _typing.Any]]
grid_id: int
guid: int
hp_backed: bool
@ -304,7 +371,7 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
numa_node_id: int
pinned: bool
preferred_cpu_cores: list[int]
ram: int
ram_size_mb: int
reference_id: str
registered: bool
res_name: str
@ -336,8 +403,536 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
class VMAPIResultNM(BaseVMAPIResultNM):
acl: list # BDX-7995
disks: list[BaseDiskAPIResultNM]
interfaces: list[BaseInterfaceAPIResultNM]
acl: list[_typing.Any] # BDX-7995
disks: list[BaseDiskForCAComputeAPIResultNM]
interfaces: list[InterfaceForComputeListAPIResultNM]
total_disks_size: int
vins_count: int
class VMCountsAPIResultNM(_base.BaseAPIResultNestedModel):
started: int
stopped: int
class BaseImageAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
arch: str
boot_mode: _enums.BootMode | _EmptyStr | None
bootable: bool
description: str
drivers: list[_enums.Driver]
hot_resize: bool
id: int
link_to: int
name: str
network_interface_naming: _enums.NetIfaceNamingTemplate
os_user_name: str | None
sep_id: int
sep_pool_name: str
size_gb: int
status: _enums.ImageStatus
type: _enums.ImageType
@property
def boot_loader_type(self):
if self.type in _enums.BootLoaderType._member_names_:
return _enums.BootLoaderType[self.type]
class ImageForListAPIResultNM(BaseImageAPIResultNM):
cdrom: bool
virtual: bool
class ImageHistoryRecordAPIResultNM(_base.BaseAPIResultNestedModel):
guid: str
id: int
timestamp: int
@property
def datetime(self):
return self._get_datetime_from_timestamp(self.timestamp)
class VINSVMAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
class BaseVINSAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
id: int
name: str
net_ip: str
rg_id: int
rg_name: str
status: _enums.VINSStatus
updated_by: str
updated_timestamp: int
vxlan_id: int
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class VINSForListAPIResultNM(BaseVINSAPIResultNM):
ext_net_id: int
ext_net_ip: str
free_ip_count: int
class VINSForListDeletedAPIResultNM(BaseVINSAPIResultNM):
ext_net_ip: str
primary_vnfdev_id: int
class VNFHostDeviceAPIResultNM(_base.BaseAPIResultNestedModel):
device_id: int
iface01_name: str
iface02_name: str
class VNFHostDevicesAPIResultNM(_base.BaseAPIResultNestedModel):
primary: VNFHostDeviceAPIResultNM
class RouteAPIResultNM(_base.BaseAPIResultNestedModel):
dst_net_ip: str
dst_net_mask: str
gateway: str
guid: str
id: int
vm_ids: list[int]
class BaseVNFAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
created_timestamp: int
devices: VNFHostDevicesAPIResultNM
grid_id: int
guid: int
id: int
lock_status: _enums.LockStatus
milestones: int
owner_id: int
owner_type: _enums.NetType
pure_virtual: bool
routes: list[RouteAPIResultNM]
status: _enums.VNFDevStatus
tech_status: _enums.VNFDevTechStatus
type: _enums.VNFType
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
class DHCPReservationAPIResultNM(_base.BaseAPIResultNestedModel):
ip_addr: str
mac: str
type: _enums.DHCPReservationType
vm_id: int
account_id: None | int = None
client_type: None | str = None
description: None | str = None
domain_name: None | str = None
hostname: None | str = None
class DHCPVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel):
default_gw: str
dns_servers: list[str]
ip_pool_end: str
ip_pool_start: str
lease_time: int
net_ip: str
net_mask: int
reservations: list[DHCPReservationAPIResultNM]
class GWVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel):
default_gw: str
ext_net_id: int
ext_net_ip: str
ext_net_mask: int
qos: _typing.Any
class NATRuleAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
local_ip: str
local_port: int
protocol: _enums.NATRuleProtocol
public_port_end: int
public_port_start: int
vm_id: int
class NATVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel):
net_ip: str
net_mask: int
rules: list[NATRuleAPIResultNM]
class DHCPVNFAPIResultNM(BaseVNFAPIResultNM):
config: DHCPVNFConfigAPIResultNM
class GWVNFAPIResultNM(BaseVNFAPIResultNM):
config: GWVNFConfigAPIResultNM
class NATVNFAPIResultNM(BaseVNFAPIResultNM):
config: NATVNFConfigAPIResultNM
class VNFSAPIResultNM(_base.BaseAPIResultNestedModel):
dhcp: None | DHCPVNFAPIResultNM = None
gw: None | GWVNFAPIResultNM = None
nat: None | NATVNFAPIResultNM = None
class VNFDevMGMTConfigAPIResultNM(_base.BaseAPIResultNestedModel):
ip_addr: str
password: str
ssh_key: str
user: str
class VNFDevResourcesConfigAPIResultNM(_base.BaseAPIResultNestedModel):
cpu_count: int
ram_size_mb: int
stack_id: int
uuid: str
class VNFDevConfigAPIResultNM(_base.BaseAPIResultNestedModel):
mgmt: VNFDevMGMTConfigAPIResultNM
resources: VNFDevResourcesConfigAPIResultNM
class VNFDevAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
capabilities: list[_enums.VNFType]
config: VNFDevConfigAPIResultNM
config_saved: bool
custom_pre_cfg: bool
description: str
grid_id: int
guid: int
id: int
interfaces: list[VNFDevInterfaceAPIResultNM]
lock_status: _enums.LockStatus
milestones: int
name: str
status: _enums.VNFDevStatus
tech_status: _enums.VNFDevTechStatus
type: _enums.VNFDevType
vins_ids: list[int]
vnc_password: str
class BServiceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
status: _enums.BServiceGroupStatus
tech_status: _enums.BServiceGroupTechStatus
consistency: bool
vm_count: int
class BServiceVMAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
bsgroup_id: int
arch: str
account_id: int
rg_id: int
status: _enums.VMStatus
tech_status: _enums.VMTechStatus
stack_id: int
bsgroup_name: str
bsgroup_role: str
class BServiceSnapshotAPIResultNM(_base.BaseAPIResultNestedModel):
timestamp: int
label: str
valid: bool
guid: str
@property
def datetime(self):
return self._get_datetime_from_timestamp(self.timestamp)
class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
base_domain: str
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
grid_id: int
guid: int
id: int
name: str
parent_service_id: int
parent_service_type: str
rg_id: int
rg_name: str
ssh_user: str
status: _enums.BServiceStatus
tech_status: _enums.BServiceTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class BServiceForListAPIResultNM(BaseBServiceAPIResultNM):
group_ids: list[int]
class BServiceGroupOSUserAPIResultNM(_base.BaseAPIResultNestedModel):
login: str
password: str
class OSUserAPIResultNM(BServiceGroupOSUserAPIResultNM):
pub_key: str
guid: str
class BServiceGroupVMAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
os_users: list[BServiceGroupOSUserAPIResultNM]
ip_addresses: list[str]
class ExtNetForListAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
ip_cidr: str
name: str
status: _enums.ExtNetStatus
class BaseFlipGroupAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
client_ids: list[int]
client_type: _enums.FlipGroupClientType
conn_id: int
conn_type: str
default_gw: str
description: str
grid_id: int
guid: int
id: int
ip_addr: str
milestones: int
name: str
net_id: int
net_type: _enums.FlipGroupNetType
status: _enums.FlipGroupStatus
class FlipGroupForListAPIResultNM(BaseFlipGroupAPIResultNM):
net_mask: int
class LBNodeAPIResultNM(_base.BaseAPIResultNestedModel):
backend_ip_addr: str
frontend_ip_addr: str
guid: str
mgmt_ip: str
net_id: int
vm_id: int
class LBServerSettingsAPIResultNM(_base.BaseAPIResultNestedModel):
downinter: int
fall: int
guid: str
inter: int
maxconn: int
maxqueue: int
rise: int
slowstart: int
weight: int
class LBServerAPIResultNM(_base.BaseAPIResultNestedModel):
check: _enums.LBServerCheck
guid: str
ip_addr: str
name: str
port: int
server_settings: LBServerSettingsAPIResultNM
class LBBackendAPIResultNM(_base.BaseAPIResultNestedModel):
algorithm: _enums.LBBackendAlgorithm
guid: str
name: str
server_default_settings: LBServerSettingsAPIResultNM
servers: list[LBServerAPIResultNM]
class LBFrontendBindingAPIResultNM(_base.BaseAPIResultNestedModel):
name: str
ip_addr: str
port: int
guid: str
class LBFrontendAPIResultNM(_base.BaseAPIResultNestedModel):
name: str
backend_name: str
bindings: list[LBFrontendBindingAPIResultNM]
guid: str
class LBAPIResultNM(_base.BaseAPIResultNestedModel):
acl: list[_typing.Any]
backend_ha_ip_addr: str
backends: list[LBBackendAPIResultNM]
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
description: str
dp_api_user: str
ext_net_id: int
frontend_ha_ip_addr: str
frontends: list[LBFrontendAPIResultNM]
grid_id: int
guid: int
ha_mode: bool
id: int
manager_id: int
manager_type: str
milestones: int
name: str
part_of_k8s: bool
primary_node: LBNodeAPIResultNM
rg_id: int
rg_name: str
secondary_node: LBNodeAPIResultNM
status: _enums.LBStatus
sysctl_params: dict[str, str]
tech_status: _enums.LBTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vins_id: int
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class SEPPoolAPIResultNM(_base.BaseAPIResultNestedModel):
name: str
types: list[_enums.PoolDiskType]
system: str
class SEPAPIResultNM(_base.BaseAPIResultNestedModel):
sep_id: int
sep_name: str
pools: list[SEPPoolAPIResultNM]
class StackAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
status: _enums.PhysicalNodeStatus
type: str
class LocationAPIResultNM(_base.BaseAPIResultNestedModel):
auth_broker: list[_enums.AuthBroker]
flag: str
grid_id: int
guid: int
id: int
location_code: str
name: str
class AffinityRelationsAPIResultNM(_base.BaseAPIResultNestedModel):
same_node: list[int]
same_node_soft: list[int]
other_node: list[int]
other_node_soft: list[int]
other_node_indirect: list[int]
other_node_indirect_soft: list[int]
class VMACLForComputeUserListAPIResultNM( # BDX-8459
_base.BaseAPIResultNestedModel
):
account: list[AccessAPIResultNM]
vm: list[AccessAPIResultNM]
rg: list[AccessAPIResultNM]
class TaskAPIResultNM(_base.BaseAPIResultNestedModel):
audit_guid: str
guid: None | str = None # BDX-8474
completed: bool
created_timestamp: int
error: str
log: list[str]
result: _typing.Any
stage: str
status: str
updated_by: None | str = None
updated_timestamp: None | int = None
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
if self.updated_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.updated_timestamp)

@ -1,14 +1,34 @@
import dynamix_sdk.base as _base
from .account import *
from .bservice import *
from .compute import *
from .disks import *
from .extnet import *
from .flipgroup import *
from .image import *
from .kvmx86 import *
from .lb import *
from .locations import *
from .rg import *
from .stack import *
from .tasks import *
from .user import *
from .vins import *
class CloudapiAPI(_base.BaseAPI):
account: CloudapiAccountAPI
bservice: CloudapiBserviceAPI
compute: CloudapiComputeAPI
disks: CloudapiDisksAPI
extnet: CloudapiExtnetAPI
flipgroup: CloudapiFlipgroupAPI
image: CloudapiImageAPI
kvmx86: CloudapiKvmx86API
lb: CloudapiLbAPI
locations: CloudapiLocationsAPI
rg: CloudapiRgAPI
stack: CloudapiStackAPI
tasks: CloudapiTasksAPI
user: CloudapiUserAPI
vins: CloudapiVinsAPI

@ -1,17 +1,29 @@
import dynamix_sdk.base as _base
from .add_user import *
from .delete import *
from .delete_user import *
from .disable import *
from .enable import *
from .get import *
from .list import *
from .list_deleted import *
from .restore import *
from .update import *
from .update_user import *
class CloudapiAccountAPI(
_base.BaseAPI,
CloudapiAccountAddUserProtocol,
CloudapiAccountDeleteProtocol,
CloudapiAccountDeleteUserProtocol,
CloudapiAccountDisableProtocol,
CloudapiAccountEnableProtocol,
CloudapiAccountGetProtocol,
CloudapiAccountListDeletedProtocol,
CloudapiAccountListProtocol,
CloudapiAccountRestoreProtocol,
CloudapiAccountUpdateProtocol,
CloudapiAccountUpdateUserProtocol,
):
pass

@ -11,7 +11,7 @@ class CloudapiAccountAddUserProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
account_id: int,
access_type: _nested.AccessType,
access_type: _nested.AccessTypeForSet,
user_id: str,
) -> CloudapiAccountAddUserResultBool:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiAccountDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiAccountDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def delete(
self,
*,
account_id: int,
permanently: bool = False,
) -> CloudapiAccountDeleteResultBool:
...

@ -0,0 +1,39 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountGetResultModel(
_base.BaseAPIResultModel,
_nested.AccountAPIResultNM,
):
company: str
company_url: str
cpu_allocation_parameter: str
cpu_allocation_ratio: int
created_by: str
dc_location: str
deactivation_timestamp: int
deleted_by: str
display_name: str
guid: int
quotas: _nested.TenantQuotasAPIResultNM
resource_types: list[_nested.AccountResourceType]
send_access_emails: bool
uniq_pools: list[str]
version: int
vins_count: int
acc_lvl_vins_ids: list[int]
vm_counts: _nested.VMCountsAPIResultNM
@property
def deactivation_datetime(self):
return self._get_datetime_from_timestamp(self.deactivation_timestamp)
class CloudapiAccountGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
account_id: int,
) -> CloudapiAccountGetResultModel:
...

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountListResultModel(_base.BaseAPIResultModel):
data: list[_nested.AccountAPIResultNM]
entry_count: int
class CloudapiAccountListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
access_type: None | _nested.AccessType = None,
id: None | int = None,
name: None | str = None,
page_number: None | int = None,
page_size: None | int = None,
sort_by: None | str = None,
status: None | _nested.AccountStatus = None,
) -> CloudapiAccountListResultModel:
...

@ -0,0 +1,21 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.AccountAPIResultNM]
entry_count: int
class CloudapiAccountListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
access_type: None | _nested.AccessType = None,
id: None | int = None,
name: None | str = None,
page_number: None | int = None,
page_size: None | int = None,
sort_by: None | str = None,
) -> CloudapiAccountListDeletedResultModel:
...

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

@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
class CloudapiAccountUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol):
def update(
self,
*,
account_id: int,
cpu_count_quota: None | int = None,
ext_traffic_quota: None | int = None,
gpu_count_quota: None | int = None,
name: None | str = None,
public_ip_count_quota: None | int = None,
ram_size_quota_mb: None | int = None,
send_access_emails: None | bool = None,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
) -> CloudapiAccountUpdateResultBool:
...

@ -11,7 +11,7 @@ class CloudapiAccountUpdateUserProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
account_id: int,
access_type: _nested.AccessType,
access_type: _nested.AccessTypeForSet,
user_id: str,
) -> CloudapiAccountUpdateUserResultBool:
...

@ -0,0 +1,51 @@
import dynamix_sdk.base as _base
from .create import *
from .delete import *
from .disable import *
from .enable import *
from .get import *
from .group_add import *
from .group_compute_remove import *
from .group_get import *
from .group_parent_add import *
from .group_parent_remove import *
from .group_remove import *
from .group_resize import *
from .group_start import *
from .group_stop import *
from .group_update import *
from .group_update_extnet import *
from .group_update_vins import *
from .list import *
from .list_deleted import *
from .restore import *
from .start import *
from .stop import *
class CloudapiBserviceAPI(
_base.BaseAPI,
CloudapiBserviceCreateProtocol,
CloudapiBserviceDeleteProtocol,
CloudapiBserviceDisableProtocol,
CloudapiBserviceEnableProtocol,
CloudapiBserviceGetProtocol,
CloudapiBserviceGroupAddProtocol,
CloudapiBserviceGroupComputeRemoveProtocol,
CloudapiBserviceGroupGetProtocol,
CloudapiBserviceGroupParentAddProtocol,
CloudapiBserviceGroupParentRemoveProtocol,
CloudapiBserviceGroupRemoveProtocol,
CloudapiBserviceGroupResizeProtocol,
CloudapiBserviceGroupStartProtocol,
CloudapiBserviceGroupStopProtocol,
CloudapiBserviceGroupUpdateExtnetProtocol,
CloudapiBserviceGroupUpdateProtocol,
CloudapiBserviceGroupUpdateVinsProtocol,
CloudapiBserviceListDeletedProtocol,
CloudapiBserviceListProtocol,
CloudapiBserviceRestoreProtocol,
CloudapiBserviceStartProtocol,
CloudapiBserviceStopProtocol,
):
pass

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiBserviceCreateResultInt(_base.BaseAPIResultInt):
pass
class CloudapiBserviceCreateProtocol(_base.BasePostAPIFunctionProtocol):
def create(
self,
*,
name: str,
rg_id: int,
ssh_user: str | None = None,
ssh_key: str | None = None,
) -> CloudapiBserviceCreateResultInt:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiBserviceDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def delete(
self,
*,
bservice_id: int,
permanently: bool = False,
) -> CloudapiBserviceDeleteResultBool:
...

@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiBserviceDisableResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceDisableProtocol(_base.BasePostAPIFunctionProtocol):
def disable(
self,
*,
bservice_id: int,
) -> CloudapiBserviceDisableResultBool:
...

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

@ -0,0 +1,25 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseBServiceAPIResultNM,
):
cpu_count_total: int
disk_size_total_gb: int
groups: list[_nested.BServiceGroupAPIResultNM]
milestones: int
ram_size_total_mb: int
snapshots: list[_nested.BServiceSnapshotAPIResultNM]
ssh_key: str
vms: list[_nested.BServiceVMAPIResultNM]
class CloudapiBserviceGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
bservice_id: int,
) -> CloudapiBserviceGetResultModel:
...

@ -0,0 +1,29 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGroupAddResultInt(_base.BaseAPIResultInt):
pass
class CloudapiBserviceGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
def group_add(
self,
*,
bservice_id: int,
vm_count: int,
cpu_count: int,
boot_disk_size_gb: int,
driver: _nested.Driver,
image_id: int,
name: str,
ram_size_mb: int,
ci_user_data: str | None = None,
extnet_ids: list[int] | None = None,
role: str | None = None,
sep_id: int | None = None,
sep_pool_name: str | None = None,
start_timeout: int | None = None,
vins_ids: list[int] | None = None,
) -> CloudapiBserviceGroupAddResultInt:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupComputeRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupComputeRemoveProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_compute_remove(
self,
*,
bservice_id: int,
bsgroup_id: int,
vm_id: int,
) -> CloudapiBserviceGroupComputeRemoveResultBool:
...

@ -0,0 +1,61 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGroupGetResultModel(
_base.BaseAPIResultModel,
):
account_id: int
account_name: str
bservice_id: int
consistency: bool
cpu_count: int
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
boot_disk_size_gb: int
driver: _nested.Driver
extnet_ids: list[int]
grid_id: int
guid: int
id: int
image_id: int
milestones: int
name: str
parent_ids: list[int]
ram_size_mb: int
rg_id: int
rg_name: str
role: str
sep_id: int
sep_pool_name: str
seq_no: int
status: _nested.BServiceGroupStatus
tech_status: _nested.BServiceGroupTechStatus
start_timeout: int
updated_by: str
updated_timestamp: int
vins_ids: list[int]
vms: list[_nested.BServiceGroupVMAPIResultNM]
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiBserviceGroupGetProtocol(_base.BasePostAPIFunctionProtocol):
def group_get(
self, *,
bservice_id: int,
bsgroup_id: int
) -> CloudapiBserviceGroupGetResultModel:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupParentAddResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupParentAddProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_parent_add(
self,
*,
bservice_id: int,
bsgroup_id: int,
parent_id: int,
) -> CloudapiBserviceGroupParentAddResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupParentRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupParentRemoveProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_parent_remove(
self,
*,
bservice_id: int,
bsgroup_id: int,
parent_id: int,
) -> CloudapiBserviceGroupParentRemoveResultBool:
...

@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupRemoveProtocol(_base.BasePostAPIFunctionProtocol):
def group_remove(
self, *,
bservice_id: int,
bsgroup_id: int
) -> CloudapiBserviceGroupRemoveResultBool:
...

@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGroupResizeResultInt(_base.BaseAPIResultInt):
pass
class CloudapiBserviceGroupResizeProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_resize(
self,
*,
bservice_id: int,
bsgroup_id: int,
vm_count: int,
count_change_mode: _nested.CountChangeMode,
) -> CloudapiBserviceGroupResizeResultInt:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupStartResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupStartProtocol(_base.BasePostAPIFunctionProtocol):
def group_start(
self,
*,
bservice_id: int,
bsgroup_id: int,
) -> CloudapiBserviceGroupStartResultBool:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupStopResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupStopProtocol(_base.BasePostAPIFunctionProtocol):
def group_stop(
self,
*,
bservice_id: int,
bsgroup_id: int,
force: bool = False,
) -> CloudapiBserviceGroupStopResultBool:
...

@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupUpdateProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_update(
self,
*,
bservice_id: int,
bsgroup_id: int,
force: bool = False,
cpu_count: int | None = None,
boot_disk_size_gb: int | None = None,
name: str | None = None,
ram_size_mb: int | None = None,
role: str | None = None,
) -> CloudapiBserviceGroupUpdateResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupUpdateExtnetResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupUpdateExtnetProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_update_extnet(
self,
*,
bservice_id: int,
bsgroup_id: int,
extnet_ids: list[int] | None = None,
) -> CloudapiBserviceGroupUpdateExtnetResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiBserviceGroupUpdateVinsResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceGroupUpdateVinsProtocol(
_base.BasePostAPIFunctionProtocol
):
def group_update_vins(
self,
*,
bservice_id: int,
bsgroup_id: int,
vins_ids: list[int] | None = None,
) -> CloudapiBserviceGroupUpdateVinsResultBool:
...

@ -0,0 +1,26 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceListResultModel(_base.BaseAPIResultModel):
data: list[_nested.BServiceForListAPIResultNM]
entry_count: int
class CloudapiBserviceListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
account_id: int | None = None,
account_name: str | None = None,
id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
rg_id: int | None = None,
rg_name: str | None = None,
sort_by: str | None = None,
status: _nested.BServiceStatus | None = None,
tech_status: _nested.BServiceTechStatus | None = None,
) -> CloudapiBserviceListResultModel:
...

@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.BServiceForListAPIResultNM]
entry_count: int
class CloudapiBserviceListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
account_id: int | None = None,
page_number: int | None = None,
page_size: int | None = None,
rg_id: int | None = None,
sort_by: str | None = None,
) -> CloudapiBserviceListDeletedResultModel:
...

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

@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiBserviceStartResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceStartProtocol(_base.BasePostAPIFunctionProtocol):
def start(
self,
*,
bservice_id: int,
) -> CloudapiBserviceStartResultBool:
...

@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiBserviceStopResultBool(_base.BaseAPIResultBool):
pass
class CloudapiBserviceStopProtocol(_base.BasePostAPIFunctionProtocol):
def stop(
self,
*,
bservice_id: int,
) -> CloudapiBserviceStopResultBool:
...

@ -1,15 +1,101 @@
import dynamix_sdk.base as _base
from .affinity_label_remove import *
from .affinity_label_set import *
from .affinity_relations import *
from .affinity_rule_add import *
from .affinity_rule_remove import *
from .affinity_rules_clear import *
from .anti_affinity_rule_add import *
from .anti_affinity_rule_remove import *
from .anti_affinity_rules_clear import *
from .cd_eject import *
from .cd_insert import *
from .change_ip import *
from .clone import *
from .delete import *
from .delete_custom_fields import *
from .disk_add import *
from .disk_attach import *
from .disk_del import *
from .disk_detach import *
from .disk_resize import *
from .get import *
from .list import *
from .net_attach import *
from .net_detach import *
from .pause import *
from .pfw_add import *
from .pfw_del import *
from .pfw_list import *
from .pin_to_stack import *
from .reboot import *
from .redeploy import *
from .resize import *
from .resume import *
from .set_custom_fields import *
from .snapshot_create import *
from .snapshot_list import *
from .snapshot_rollback import *
from .start import *
from .stop import *
from .tag_add import *
from .tag_remove import *
from .unpin_from_stack import *
from .update import *
from .user_grant import *
from .user_list import *
from .user_revoke import *
from .user_update import *
class CloudapiComputeAPI(
_base.BaseAPI,
CloudapiComputeAffinityLabelRemoveProtocol,
CloudapiComputeAffinityLabelSetProtocol,
CloudapiComputeAffinityRelationsProtocol,
CloudapiComputeAffinityRuleAddProtocol,
CloudapiComputeAffinityRuleRemoveProtocol,
CloudapiComputeAffinityRulesClearProtocol,
CloudapiComputeAntiAffinityRuleAddProtocol,
CloudapiComputeAntiAffinityRuleRemoveProtocol,
CloudapiComputeAntiAffinityRulesClearProtocol,
CloudapiComputeCdEjectProtocol,
CloudapiComputeCdInsertProtocol,
CloudapiComputeChangeIpProtocol,
CloudapiComputeCloneProtocol,
CloudapiComputeDeleteCustomFieldsProtocol,
CloudapiComputeDeleteProtocol,
CloudapiComputeDiskAddProtocol,
CloudapiComputeDiskAttachProtocol,
CloudapiComputeDiskDelProtocol,
CloudapiComputeDiskDetachProtocol,
CloudapiComputeDiskResizeProtocol,
CloudapiComputeGetProtocol,
CloudapiComputeListProtocol,
CloudapiComputeNetAttachProtocol,
CloudapiComputeNetDetachProtocol,
CloudapiComputePauseProtocol,
CloudapiComputePfwAddProtocol,
CloudapiComputePfwDelProtocol,
CloudapiComputePfwListProtocol,
CloudapiComputePinToStackProtocol,
CloudapiComputeRebootProtocol,
CloudapiComputeRedeployProtocol,
CloudapiComputeResizeProtocol,
CloudapiComputeResumeProtocol,
CloudapiComputeSetCustomFieldsProtocol,
CloudapiComputeSnapshotCreateProtocol,
CloudapiComputeSnapshotListProtocol,
CloudapiComputeSnapshotRollbackProtocol,
CloudapiComputeStartProtocol,
CloudapiComputeStopProtocol,
CloudapiComputeTagAddProtocol,
CloudapiComputeTagRemoveProtocol,
CloudapiComputeUnpinFromStackProtocol,
CloudapiComputeUpdateProtocol,
CloudapiComputeUserGrantProtocol,
CloudapiComputeUserListProtocol,
CloudapiComputeUserRevokeProtocol,
CloudapiComputeUserUpdateProtocol,
):
pass

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

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiComputeAffinityLabelSetResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAffinityLabelSetProtocol(
_base.BasePostAPIFunctionProtocol
):
def affinity_label_set(
self,
*,
vm_id: int,
affinity_label: str,
) -> CloudapiComputeAffinityLabelSetResultBool:
...

@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputeAffinityRelationsResultModel(
_base.BaseAPIResultModel,
_nested.AffinityRelationsAPIResultNM,
):
pass
class CloudapiComputeAffinityRelationsProtocol(
_base.BasePostAPIFunctionProtocol
):
def affinity_relations(
self,
*,
vm_id: int,
) -> CloudapiComputeAffinityRelationsResultModel:
...

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputeAffinityRuleAddResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAffinityRuleAddProtocol(
_base.BasePostAPIFunctionProtocol
):
def affinity_rule_add(
self,
*,
vm_id: int,
topology: _nested.AffinityTopology,
policy: _nested.AffinityPolicy,
mode: _nested.AffinityMode,
key: str,
value: str,
) -> CloudapiComputeAffinityRuleAddResultBool:
...

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputeAffinityRuleRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAffinityRuleRemoveProtocol(
_base.BasePostAPIFunctionProtocol
):
def affinity_rule_remove(
self,
*,
vm_id: int,
topology: _nested.AffinityTopology,
policy: _nested.AffinityPolicy,
mode: _nested.AffinityMode,
key: str,
value: str,
) -> CloudapiComputeAffinityRuleRemoveResultBool:
...

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

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputeAntiAffinityRuleAddResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAntiAffinityRuleAddProtocol(
_base.BasePostAPIFunctionProtocol
):
def anti_affinity_rule_add(
self,
*,
vm_id: int,
topology: _nested.AffinityTopology,
policy: _nested.AffinityPolicy,
mode: _nested.AffinityMode,
key: str,
value: str,
) -> CloudapiComputeAntiAffinityRuleAddResultBool:
...

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputeAntiAffinityRuleRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeAntiAffinityRuleRemoveProtocol(
_base.BasePostAPIFunctionProtocol
):
def anti_affinity_rule_remove(
self,
*,
vm_id: int,
topology: _nested.AffinityTopology,
policy: _nested.AffinityPolicy,
mode: _nested.AffinityMode,
key: str,
value: str,
) -> CloudapiComputeAntiAffinityRuleRemoveResultBool:
...

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

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

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeCdInsertResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeCdInsertProtocol(_base.BasePostAPIFunctionProtocol):
def cd_insert(
self,
*,
vm_id: int,
cdrom_image_id: int,
) -> CloudapiComputeCdInsertResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeChangeIpResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeChangeIpProtocol(_base.BasePostAPIFunctionProtocol):
def change_ip(
self,
*,
ip_addr: str,
net_id: int,
net_type: _nested.NetTypeForChangeIP,
vm_id: int,
) -> CloudapiComputeChangeIpResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeCloneResultInt(_base.BaseAPIResultInt):
pass
class CloudapiComputeCloneProtocol(_base.BasePostAPIFunctionProtocol):
def clone(
self,
*,
vm_id: int,
name: str,
force: bool = False,
snapshot_timestamp: int | None = None,
snapshot_name: str | None = None,
) -> CloudapiComputeCloneResultInt:
...

@ -9,8 +9,7 @@ class CloudapiComputeDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def delete(
self,
*,
compute_id: int,
vm_id: int,
detach_disks: bool = False,
permanently: bool = False,
) -> CloudapiComputeDeleteResultBool:

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

@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeDiskAddResultInt(_base.BaseAPIResultInt):
pass
class CloudapiComputeDiskAddProtocol(_base.BasePostAPIFunctionProtocol):
def disk_add(
self,
*,
vm_id: int,
name: str,
disk_size_gb: int,
disk_type: _nested.DiskType = _nested.DiskType.D,
sep_id: int | None = None,
sep_pool_name: str | None = None,
description: str | None = None,
image_id: int | None = None,
) -> CloudapiComputeDiskAddResultInt:
...

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeDiskAttachResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDiskAttachProtocol(_base.BasePostAPIFunctionProtocol):
def disk_attach(
self,
*,
vm_id: int,
disk_id: int,
disk_type: _nested.DiskType = _nested.DiskType.D,
) -> CloudapiComputeDiskAttachResultBool:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeDiskDelResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDiskDelProtocol(_base.BasePostAPIFunctionProtocol):
def disk_del(
self,
*,
vm_id: int,
disk_id: int,
permanently: bool = True,
) -> CloudapiComputeDiskDelResultBool:
...

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

@ -0,0 +1,16 @@
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:
...

@ -6,14 +6,14 @@ class CloudapiComputeGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseVMAPIResultNM,
):
acl: _nested.VMACLAPIResultNM
acl: _nested.VMACLForComputeGetAPIResultNM
ci_user_data: dict
disks: list[_nested.DiskAPIResultNM]
disks: list[_nested.DiskForCAComputeGetAPIResultNM]
image_name: None | str
interfaces: list[_nested.InterfaceAPIResultNM]
interfaces: list[_nested.InterfaceForComputeGetAPIResultNM]
os_users: list[_nested.OSUserAPIResultNM]
virtual_image_name: None | str
vns_password: str
vnc_password: str
natable_vins_id: int = 0
natable_vins_ip: str = ''
@ -26,6 +26,6 @@ class CloudapiComputeGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
compute_id: int,
vm_id: int,
) -> CloudapiComputeGetResultModel:
...

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeNetAttachResultModel(
_base.BaseAPIResultModel,
_nested.InterfaceForComputeGetAPIResultNM,
):
pass
class CloudapiComputeNetAttachProtocol(_base.BasePostAPIFunctionProtocol):
def net_attach(
self,
*,
vm_id: int,
net_type: _nested.NetType,
net_id: int,
ip_addr: None | str = None,
mtu: None | int = None,
) -> CloudapiComputeNetAttachResultModel:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeNetDetachResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeNetDetachProtocol(_base.BasePostAPIFunctionProtocol):
def net_detach(
self,
*,
vm_id: int,
ip_addr: None | str = None,
mac: None | str = None,
) -> CloudapiComputeNetDetachResultBool:
...

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

@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputePfwAddResultInt(_base.BaseAPIResultInt):
pass
class CloudapiComputePfwAddProtocol(_base.BasePostAPIFunctionProtocol):
def pfw_add(
self,
*,
vm_id: int,
public_port_start: int,
protocol: _nested.NATRuleProtocol = _nested.NATRuleProtocol.tcp,
public_port_end: int | None = None,
local_port: int | None = None,
) -> CloudapiComputePfwAddResultInt:
...

@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
from dynamix_sdk.api import _nested
class CloudapiComputePfwDelResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputePfwDelProtocol(_base.BasePostAPIFunctionProtocol):
def pfw_del(
self,
*,
vm_id: int,
rule_id: int | None = None,
public_port_start: int | None = None,
public_port_end: int | None = None,
local_port: int | None = None,
protocol: _nested.NATRuleProtocol | None = None,
) -> CloudapiComputePfwDelResultBool:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputePfwListResultModel(_base.BaseAPIResultModel):
data: list[_nested.NATRuleAPIResultNM]
entry_count: int
class CloudapiComputePfwListProtocol(_base.BasePostAPIFunctionProtocol):
def pfw_list(
self,
*,
vm_id: int,
) -> CloudapiComputePfwListResultModel:
...

@ -0,0 +1,15 @@
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:
...

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

@ -0,0 +1,22 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeRedeployResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeRedeployProtocol(_base.BasePostAPIFunctionProtocol):
def redeploy(
self,
*,
vm_id: int,
start: bool = False,
boot_disk_size_gb: int | None = None,
data_disks_change_mode: _nested.DataDisksChangeMode = (
_nested.DataDisksChangeMode.DETACH
),
force_stop: bool = False,
image_id: int | None = None,
) -> CloudapiComputeRedeployResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiComputeResizeResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeResizeProtocol(_base.BasePostAPIFunctionProtocol):
def resize(
self,
*,
vm_id: int,
cpu_count: None | int = None,
force: bool = False,
preferred_cpu_cores: None | list[int] = None,
ram_size_mb: None | int = None,
) -> CloudapiComputeResizeResultBool:
...

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

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiComputeSetCustomFieldsResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeSetCustomFieldsProtocol(
_base.BasePostAPIFunctionProtocol
):
def set_custom_fields(
self,
*,
vm_id: int,
custom_fields: str,
) -> CloudapiComputeSetCustomFieldsResultBool:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeSnapshotCreateResultStr(_base.BaseAPIResultStr):
pass
class CloudapiComputeSnapshotCreateProtocol(_base.BasePostAPIFunctionProtocol):
def snapshot_create(
self,
*,
vm_id: int,
label: str,
) -> CloudapiComputeSnapshotCreateResultStr:
...

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

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

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeStartResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeStartProtocol(_base.BasePostAPIFunctionProtocol):
def start(
self,
*,
vm_id: int,
boot_cdrom_image_id: None | int = None,
) -> CloudapiComputeStartResultBool:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeStopResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeStopProtocol(_base.BasePostAPIFunctionProtocol):
def stop(
self,
*,
vm_id: int,
force: bool = False,
) -> CloudapiComputeStopResultBool:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiComputeTagAddResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeTagAddProtocol(_base.BasePostAPIFunctionProtocol):
def tag_add(
self,
*,
vm_id: int,
key: str,
value: str,
) -> CloudapiComputeTagAddResultBool:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeTagRemoveResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeTagRemoveProtocol(_base.BasePostAPIFunctionProtocol):
def tag_remove(
self,
*,
vm_id: int,
key: str,
) -> CloudapiComputeTagRemoveResultBool:
...

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

@ -10,7 +10,7 @@ class CloudapiComputeUpdateProtocol(_base.BasePostAPIFunctionProtocol):
def update(
self,
*,
compute_id: int,
vm_id: int,
auto_start: None | bool = None,
chipset: None | _nested.Chipset = None,
cpu_pin: None | bool = None,

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeUserGrantResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUserGrantProtocol(_base.BasePostAPIFunctionProtocol):
def user_grant(
self,
*,
vm_id: int,
user_name: str,
access_type: _nested.AccessTypeForSet,
) -> CloudapiComputeUserGrantResultBool:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeUserListResultModel(_base.BaseAPIResultModel):
data: _nested.VMACLForComputeUserListAPIResultNM
entry_count: int
class CloudapiComputeUserListProtocol(_base.BasePostAPIFunctionProtocol):
def user_list(
self,
*,
vm_id: int,
) -> CloudapiComputeUserListResultModel:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiComputeUserRevokeResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUserRevokeProtocol(_base.BasePostAPIFunctionProtocol):
def user_revoke(
self,
*,
vm_id: int,
user_name: str,
) -> CloudapiComputeUserRevokeResultBool:
...

@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeUserUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUserUpdateProtocol(_base.BasePostAPIFunctionProtocol):
def user_update(
self,
*,
vm_id: int,
user_name: str,
access_type: _nested.AccessTypeForSet,
) -> CloudapiComputeUserUpdateResultBool:
...

@ -0,0 +1,39 @@
import dynamix_sdk.base as _base
from .create import *
from .delete import *
from .delete_disks import *
from .get import *
from .limit_io import *
from .list import *
from .list_deleted import *
from .list_types import *
from .list_unattached import *
from .rename import *
from .resize2 import *
from .restore import *
from .share import *
from .snapshot_delete import *
from .snapshot_rollback import *
from .unshare import *
class CloudapiDisksAPI(
_base.BaseAPI,
CloudapiDisksCreateProtocol,
CloudapiDisksDeleteDisksProtocol,
CloudapiDisksDeleteProtocol,
CloudapiDisksGetProtocol,
CloudapiDisksLimitIOProtocol,
CloudapiDisksListDeletedProtocol,
CloudapiDisksListProtocol,
CloudapiDisksListTypesProtocol,
CloudapiDisksListUnattachedProtocol,
CloudapiDisksRenameProtocol,
CloudapiDisksResize2Protocol,
CloudapiDisksRestoreProtocol,
CloudapiDisksShareProtocol,
CloudapiDisksSnapshotDeleteProtocol,
CloudapiDisksSnapshotRollbackProtocol,
CloudapiDisksUnshareProtocol,
):
pass

@ -0,0 +1,21 @@
import dynamix_sdk.base as _base
class CloudapiDisksCreateResultInt(_base.BaseAPIResultInt):
pass
class CloudapiDisksCreateProtocol(_base.BasePostAPIFunctionProtocol):
def create(
self,
*,
account_id: int,
grid_id: int,
name: str,
size_gb: int,
iops: int = 2000,
description: str | None = None,
sep_id: int | None = None,
sep_pool_name: str | None = None,
) -> CloudapiDisksCreateResultInt:
...

@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiDisksDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiDisksDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def delete(
self,
*,
disk_id: int,
detach: bool = False,
permanently: bool = False,
) -> CloudapiDisksDeleteResultBool:
...

@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiDisksDeleteDisksResultBool(_base.BaseAPIResultBool):
pass
class CloudapiDisksDeleteDisksProtocol(_base.BasePostAPIFunctionProtocol):
def delete_disks(
self,
*,
disk_ids: list[int],
permanently: bool = False,
) -> CloudapiDisksDeleteDisksResultBool:
...

@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiDisksGetResultModel(
_base.BaseAPIResultModel, _nested.BaseDiskForCADisksAPIResultNM
):
vms: dict[str, str]
device_name: str
sep_type: _nested.SEPType
class CloudapiDisksGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
disk_id: int,
) -> CloudapiDisksGetResultModel: ...

@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
class CloudapiDisksLimitIOResultBool(_base.BaseAPIResultBool):
pass
class CloudapiDisksLimitIOProtocol(_base.BasePostAPIFunctionProtocol):
def limit_io(
self,
*,
disk_id: int,
read_bytes_sec_max: int | None = None,
read_bytes_sec: int | None = None,
read_iops_sec_max: int | None = None,
read_iops_sec: int | None = None,
size_iops_sec: int | None = None,
total_bytes_sec_max: int | None = None,
total_bytes_sec: int | None = None,
total_iops_sec_max: int | None = None,
total_iops_sec: int | None = None,
write_bytes_sec_max: int | None = None,
write_bytes_sec: int | None = None,
write_iops_sec_max: int | None = None,
write_iops_sec: int | None = None,
) -> CloudapiDisksLimitIOResultBool:
...

@ -0,0 +1,28 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiDisksListResultModel(_base.BaseAPIResultModel):
data: list[_nested.DiskForListAndListDeletedAPIResultNM]
entry_count: int
class CloudapiDisksListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
account_id: int | None = None,
account_name: str | None = None,
disk_max_size_gb: int | None = None,
id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
sep_id: int | None = None,
sep_pool_name: str | None = None,
shared: bool | None = None,
sort_by: str | None = None,
status: _nested.DiskStatus | None = None,
type: _nested.DiskType | None = None,
) -> CloudapiDisksListResultModel:
...

@ -0,0 +1,25 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiDisksListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.DiskForListAndListDeletedAPIResultNM]
entry_count: int
class CloudapiDisksListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
account_id: int | None = None,
account_name: str | None = None,
disk_max_size_gb: int | None = None,
id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
shared: bool | None = None,
sort_by: str | None = None,
type: _nested.DiskType | None = None,
) -> CloudapiDisksListDeletedResultModel:
...

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

Loading…
Cancel
Save