4 Commits
1.0.1 ... 1.2.2

Author SHA1 Message Date
9eac1da63f 1.2.2 2025-10-28 17:56:12 +07:00
c4d0acfba2 1.2.1 2025-10-16 19:08:06 +07:00
a63ff017af 1.2.0 2025-07-21 20:27:59 +07:00
9f2c3dc81e 1.1.0 2025-06-30 15:33:01 +03:00
91 changed files with 2039 additions and 428 deletions

View File

@@ -1,185 +1,20 @@
# Список изменений в версии 1.0.1
# Список изменений в версии 1.2.2
## Добавлено
### Функциональный интерфейс
| Идентификатор<br>задачи | Описание |
| --- | --- |
| 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-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. |
| BPYS-670 | Функция `cloudapi.bservice.group_get`: вызов функции завершался ошибкой валидации поля `computes.0.chipset`. |

View File

@@ -34,6 +34,8 @@
| Версия платформы | Версия SDK |
| --- | --- |
| 4.4.0 build 963 | 1.2.x |
| 4.3.0 | 1.1.x |
| 4.2.0 | 1.0.x |
### Зависимости
@@ -505,6 +507,12 @@ except RequestException as e:
</details>
<details><summary>audit</summary>
- /cloudapi/audit/get
</details>
<details><summary>bservice</summary>
- /cloudapi/bservice/create
@@ -605,6 +613,13 @@ except RequestException as e:
</details>
<details><summary>dpdknet</summary>
- /cloudapi/dpdknet/get
- /cloudapi/dpdknet/list
</details>
<details><summary>extnet</summary>
- /cloudapi/extnet/get
@@ -637,6 +652,31 @@ except RequestException as e:
</details>
<details><summary>k8ci</summary>
- /cloudapi/k8ci/get
- /cloudapi/k8ci/list
- /cloudapi/k8ci/listDeleted
</details>
<details><summary>k8s</summary>
- /cloudapi/k8s/create
- /cloudapi/k8s/delete
- /cloudapi/k8s/get
- /cloudapi/k8s/getConfig
- /cloudapi/k8s/list
- /cloudapi/k8s/listDeleted
- /cloudapi/k8s/restore
- /cloudapi/k8s/workerReset
- /cloudapi/k8s/workerRestart
- /cloudapi/k8s/workersGroupAdd
- /cloudapi/k8s/workersGroupDelete
- /cloudapi/k8s/workersGroupGetByName
</details>
<details><summary>kvmx86</summary>
- /cloudapi/kvmx86/create
@@ -654,9 +694,17 @@ except RequestException as e:
- /cloudapi/lb/backendUpdate
- /cloudapi/lb/create
- /cloudapi/lb/delete
- /cloudapi/lb/disable
- /cloudapi/lb/enable
- /cloudapi/lb/frontendBind
- /cloudapi/lb/frontendBindDelete
- /cloudapi/lb/frontendBindingUpdate
- /cloudapi/lb/frontendCreate
- /cloudapi/lb/frontendDelete
- /cloudapi/lb/get
- /cloudapi/lb/list
- /cloudapi/lb/listDeleted
- /cloudapi/lb/makeHighlyAvailable
</details>
@@ -700,7 +748,9 @@ except RequestException as e:
<details><summary>user</summary>
- /cloudapi/user/apiList
- /cloudapi/user/get
- /cloudapi/user/getAudit
</details>
@@ -709,6 +759,8 @@ except RequestException as e:
- /cloudapi/vins/createInAccount
- /cloudapi/vins/createInRG
- /cloudapi/vins/delete
- /cloudapi/vins/disable
- /cloudapi/vins/enable
- /cloudapi/vins/get
- /cloudapi/vins/ipList
- /cloudapi/vins/ipRelease

View File

@@ -1,11 +1,15 @@
[project]
name = "dynamix-sdk"
authors = [{name = "Dmitriy Smirnov"}]
version = "1.0.1"
authors = [
{name = "Dmitriy Smirnov"},
{name = "Vladislav Nesterov"},
{name = "Stanislav Karimov"},
]
version = "1.2.2"
readme = "README.md"
requires-python = ">=3.10.12"
requires-python = ">=3.12"
dependencies = [
"requests>=2.32.3",

View File

@@ -47,6 +47,8 @@ class NetType(str, _AutoNameEnum):
DPDK = _enum_auto()
EMPTY = _enum_auto()
EXTNET = _enum_auto()
SDN = _enum_auto()
TRUNK = _enum_auto()
VFNIC = _enum_auto()
VINS = _enum_auto()
@@ -99,10 +101,12 @@ class LockStatus(str, _AutoNameEnum):
class VMFeature(str, _AutoNameEnum):
changemac = _enum_auto()
cpupin = _enum_auto()
dpdk = _enum_auto()
hugepages = _enum_auto()
numa = _enum_auto()
trunk = _enum_auto()
vfnic = _enum_auto()
@@ -126,13 +130,19 @@ class RGResourceType(str, _AutoNameEnum):
class DiskStatus(str, _AutoNameEnum):
ASSIGNED = _enum_auto()
BACKUP_RUNNING = _enum_auto()
CLONING = _enum_auto()
CREATED = _enum_auto()
CREATING = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
MERGE = _enum_auto()
MIGRATING = _enum_auto()
MODELED = _enum_auto()
PURGED = _enum_auto()
REPLICATION = _enum_auto()
ROLLBACK = _enum_auto()
SNAPCREATE = _enum_auto()
class DiskTechStatus(str, _AutoNameEnum):
@@ -155,11 +165,15 @@ class VMStatus(str, _AutoNameEnum):
class VMTechStatus(str, _AutoNameEnum):
BACKUP_RUNNING = _enum_auto()
BACKUP_STOPPED = _enum_auto()
CLONING = _enum_auto()
DOWN = _enum_auto()
MERGE = _enum_auto()
MIGRATING = _enum_auto()
PAUSED = _enum_auto()
PAUSING = _enum_auto()
ROLLBACK = _enum_auto()
SCHEDULED = _enum_auto()
SNAPCREATE = _enum_auto()
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
@@ -203,7 +217,7 @@ class ImageStatus(str, _AutoNameEnum):
class ImageType(str, _AutoNameEnum):
cdrom = _enum_auto()
linux = _enum_auto()
other = _enum_auto()
unknown = _enum_auto()
virtual = _enum_auto()
windows = _enum_auto()
@@ -233,6 +247,23 @@ class VNFType(str, _AutoNameEnum):
class VNFDevStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
class VNFDevTechStatus(str, _AutoNameEnum):
DOWN = _enum_auto()
MIGRATING = _enum_auto()
SCHEDULED = _enum_auto()
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class VNFStatus(str, _AutoNameEnum):
MODELED = _enum_auto()
CREATED = _enum_auto()
ENABLED = _enum_auto()
@@ -242,7 +273,7 @@ class VNFDevStatus(str, _AutoNameEnum):
STASHED = _enum_auto()
class VNFDevTechStatus(str, _AutoNameEnum):
class VNFTechStatus(str, _AutoNameEnum):
STARTING = _enum_auto()
STARTED = _enum_auto()
STOPPING = _enum_auto()
@@ -338,7 +369,7 @@ class ExtNetStatus(str, _AutoNameEnum):
class BootLoaderType(str, _AutoNameEnum):
linux = _enum_auto()
other = _enum_auto()
unknown = _enum_auto()
windows = _enum_auto()
@@ -416,6 +447,7 @@ class PhysicalNodeStatus(str, _AutoNameEnum):
DECOMMISSIONED = _enum_auto()
DECOMMISSIONING = _enum_auto()
ENABLED = _enum_auto()
ERROR = _enum_auto()
INSTALLING = _enum_auto()
MAINTENANCE = _enum_auto()
RESTRICTED = _enum_auto()
@@ -431,3 +463,56 @@ class DHCPReservationType(str, _AutoNameEnum):
EXCLUDED = _enum_auto()
SERVICE = _enum_auto()
VIP = _enum_auto()
class TaskStatus(str, _AutoNameEnum):
ABORTED = _enum_auto()
CLEANUPED = _enum_auto()
ERROR = _enum_auto()
OK = _enum_auto()
PROCESSING = _enum_auto()
SCHEDULED = _enum_auto()
class K8sNetworkPlugin(str, _AutoNameEnum):
FLANNEL = 'flannel'
CALICO = 'calico'
WEAVENET = 'weavenet'
class K8CIStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
MODELED = _enum_auto()
class K8sStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
CREATING = _enum_auto()
DELETED = _enum_auto()
DELETING = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
DISABLED = _enum_auto()
DISABLING = _enum_auto()
ENABLED = _enum_auto()
ENABLING = _enum_auto()
MODELED = _enum_auto()
RESTORING = _enum_auto()
class K8sTechStatus(str, _AutoNameEnum):
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class DPDKNetStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DESTROYED = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()

View File

@@ -15,8 +15,10 @@ class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel):
net_id: int
net_type: _enums.NetType
sdn_logical_port_id: str
ip_addr: None | str = None
mac: None | str = None
mtu: None | int = None

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,15 @@
import dynamix_sdk.base as _base
from .account import *
from .audit import *
from .bservice import *
from .compute import *
from .disks import *
from .dpdknet import *
from .extnet import *
from .flipgroup import *
from .image import *
from .k8ci import *
from .k8s import *
from .kvmx86 import *
from .lb import *
from .locations import *
@@ -18,12 +22,16 @@ from .vins import *
class CloudapiAPI(_base.BaseAPI):
account: CloudapiAccountAPI
audit: CloudapiAuditAPI
bservice: CloudapiBserviceAPI
compute: CloudapiComputeAPI
disks: CloudapiDisksAPI
dpdknet: CloudapiDpdknetAPI
extnet: CloudapiExtnetAPI
flipgroup: CloudapiFlipgroupAPI
image: CloudapiImageAPI
k8ci: CloudapiK8ciAPI
k8s: CloudapiK8sAPI
kvmx86: CloudapiKvmx86API
lb: CloudapiLbAPI
locations: CloudapiLocationsAPI

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,5 +19,7 @@ class CloudapiAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol):
send_access_emails: None | bool = None,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
description: str | None = None,
default_zone_id: int | None = None,
) -> CloudapiAccountUpdateResultBool:
...

View File

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

View File

@@ -0,0 +1 @@
from ._api import *

View File

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

View File

@@ -0,0 +1,33 @@
import dynamix_sdk.base as _base
class CloudapiAuditGetResultModel(_base.BaseAPIResultModel):
args: str
api_url_path: str
guid: str
kwargs: str
client_ip_addr: str
execution_time_sec: float
result: str
status_code: int
request_timestamp: float
response_timestamp: float
user_name: str
request_datetime_iso8601: str
@property
def request_datetime(self):
return self._get_datetime_from_timestamp(self.request_timestamp)
@property
def response_datetime(self):
return self._get_datetime_from_timestamp(self.response_timestamp)
class CloudapiAuditGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
audit_guid: str,
) -> CloudapiAuditGetResultModel:
...

View File

@@ -13,5 +13,6 @@ class CloudapiBserviceCreateProtocol(_base.BasePostAPIFunctionProtocol):
rg_id: int,
ssh_user: str | None = None,
ssh_key: str | None = None,
zone_id: int | None = None,
) -> CloudapiBserviceCreateResultInt:
...

View File

@@ -2,18 +2,49 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiBserviceGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseBServiceAPIResultNM,
):
class CloudapiBserviceGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
base_domain: str
cpu_count_total: int
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
disk_size_total_gb: int
grid_id: int
groups: list[_nested.BServiceGroupAPIResultNM]
guid: int
id: int
milestones: int
name: str
parent_service_id: int
parent_service_type: str
ram_size_total_mb: int
rg_id: int
rg_name: str
snapshots: list[_nested.BServiceSnapshotAPIResultNM]
ssh_key: str
ssh_user: str
status: _nested.BServiceStatus
tech_status: _nested.BServiceTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vms: list[_nested.BServiceVMAPIResultNM]
zone_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 CloudapiBserviceGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -25,5 +25,6 @@ class CloudapiBserviceGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
sep_pool_name: str | None = None,
start_timeout: int | None = None,
vins_ids: list[int] | None = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
) -> CloudapiBserviceGroupAddResultInt:
...

View File

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

View File

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

View File

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

View File

@@ -10,9 +10,9 @@ class CloudapiComputeChangeIpProtocol(_base.BasePostAPIFunctionProtocol):
def change_ip(
self,
*,
ip_addr: str,
net_id: int,
net_type: _nested.NetTypeForChangeIP,
vm_id: int,
net_type: _nested.NetTypeForChangeIP,
net_id: int,
ip_addr: str,
) -> CloudapiComputeChangeIpResultBool:
...

View File

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

View File

@@ -18,5 +18,7 @@ class CloudapiComputeNetAttachProtocol(_base.BasePostAPIFunctionProtocol):
net_id: int,
ip_addr: None | str = None,
mtu: None | int = None,
mac: None | str = None,
sdn_logical_port_id: None | str = None,
) -> CloudapiComputeNetAttachResultModel:
...

View File

@@ -12,7 +12,7 @@ class CloudapiComputePfwAddProtocol(_base.BasePostAPIFunctionProtocol):
*,
vm_id: int,
public_port_start: int,
protocol: _nested.NATRuleProtocol = _nested.NATRuleProtocol.tcp,
protocol: _nested.NATRuleProtocol,
public_port_end: int | None = None,
local_port: int | None = None,
) -> CloudapiComputePfwAddResultInt:

View File

@@ -19,5 +19,9 @@ class CloudapiComputeUpdateProtocol(_base.BasePostAPIFunctionProtocol):
name: None | str = None,
numa_affinity: None | _nested.NumaAffinity = None,
preferred_cpu_cores: None | list[int] = None,
boot_loader_type: _nested.BootLoaderType | None = None,
boot_mode: _nested.BootMode | None = None,
network_interface_naming: _nested.NetIfaceNamingTemplate | None = None,
hot_resize: bool | None = None,
) -> CloudapiComputeUpdateResultBool:
...

View File

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

View File

@@ -10,7 +10,6 @@ class CloudapiDisksCreateProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
account_id: int,
grid_id: int,
name: str,
size_gb: int,
iops: int = 2000,

View File

@@ -2,12 +2,69 @@ 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
class CloudapiDisksGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
acl: dict
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
description: str
destruction_timestamp: int
device_name: str | None = None
grid_id: int
id: int
image_id: int
image_ids: list[int]
io_tune: _nested.IOTuneAPIResultNM
milestones: int
name: str
params: str
parent_id: int
present_to: dict[str, int]
purge_timestamp: int
replication: _nested.ReplicationAPIResultNM | dict
res_id: str
res_name: str
role: str
sep_id: int
sep_pool_name: str
sep_type: _nested.SEPType
shared: bool
size_available: float
size_available: float
size_max_gb: int
size_used: float
snapshots: list[_nested.SnapshotAPIResultNM]
status: _nested.DiskStatus
tech_status: _nested.DiskTechStatus
type: _nested.DiskType
updated_by: str
vm_id: int | None
vm_name: str | None
vms: dict[str, str]
updated_timestamp: int = 0
@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 destruction_datetime(self):
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def purge_datetime(self):
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class CloudapiDisksGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -0,0 +1 @@
from ._api import *

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,19 +2,32 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiFlipgroupGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseFlipGroupAPIResultNM,
):
class CloudapiFlipgroupGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
client_ids: list[int]
client_names: list[str]
client_type: _nested.FlipGroupClientType
conn_id: int
conn_type: str
created_by: str
created_timestamp: int
default_gw: str
deleted_by: str
deleted_timestamp: int
description: str
grid_id: int
guid: int
id: int
ip_addr: str
milestones: int
name: str
net_cidr: str
net_id: int
net_type: _nested.FlipGroupNetType
rg_id: int
rg_name: str
status: _nested.FlipGroupStatus
updated_by: str
updated_timestamp: int

View File

@@ -2,35 +2,55 @@ import typing as _typing
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
from dynamix_sdk.utils import EmptyStr as _EmptyStr
class CloudapiImageGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseImageAPIResultNM,
):
class CloudapiImageGetResultModel(_base.BaseAPIResultModel):
account_id: int
acl: list[_typing.Any]
arch: str
boot_mode: _nested.BootMode | _EmptyStr | None
bootable: bool
cd_presented_to: dict[str, list[int]]
ckey: str
deleted_timestamp: int
description: str
drivers: list[_nested.Driver]
enabled: bool
grid_id: int
guid: int
history: list[_nested.ImageHistoryRecordAPIResultNM]
hot_resize: bool
id: int
last_modified: int
link_to: int
milestones: int
name: str
network_interface_naming: _nested.NetIfaceNamingTemplate
os_password: str | None
present_to: list[int]
os_user_name: str | None
present_to: dict[str, int]
provider_name: str
purge_attempt_count: int
res_id: str
rescue_cd: bool
sep_id: int
sep_pool_name: str
shared_with: list[int]
size_gb: int
snapshot_id: str = ''
status: _nested.ImageStatus
tech_status: _nested.ImageTechStatus
type: _nested.ImageType
unc_path: str
version: str
vm_ci_id: int
@property
def boot_loader_type(self):
if self.type in _nested.BootLoaderType._member_names_:
return _nested.BootLoaderType[self.type]
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)

View File

@@ -0,0 +1 @@
from ._api import *

View File

@@ -0,0 +1,13 @@
import dynamix_sdk.base as _base
from .get import *
from .list import *
from .list_deleted import *
class CloudapiK8ciAPI(
_base.BaseAPI,
CloudapiK8ciGetProtocol,
CloudapiK8ciListDeletedProtocol,
CloudapiK8ciListProtocol,
):
pass

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8ciGetResultModel(_base.BaseAPIResultModel):
id: int
name: str
version: str
description: str
network_plugins: list[_nested.K8sNetworkPlugin]
class CloudapiK8ciGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
k8ci_id: int,
) -> CloudapiK8ciGetResultModel:
...

View File

@@ -0,0 +1,25 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8ciListResultModel(_base.BaseAPIResultModel):
data: list[_nested.K8CIForListAPIResultNM]
entry_count: int
class CloudapiK8ciListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
id: int | None = None,
include_disabled: bool = False,
master_node_driver: _nested.Driver | None = None,
name: str | None = None,
network_plugin: _nested.K8sNetworkPlugin | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str | None = None,
status: _nested.K8CIStatus | None = None,
worker_node_driver: _nested.Driver | None = None,
) -> CloudapiK8ciListResultModel:
...

View File

@@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8ciListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.K8CIForListAPIResultNM]
entry_count: int
class CloudapiK8ciListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
id: None | int = None,
master_node_driver: _nested.Driver | None = None,
name: str | None = None,
network_plugin: _nested.K8sNetworkPlugin | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str | None = None,
worker_node_driver: _nested.Driver | None = None,
) -> CloudapiK8ciListDeletedResultModel:
...

View File

@@ -0,0 +1 @@
from ._api import *

View File

@@ -0,0 +1,31 @@
import dynamix_sdk.base as _base
from .create import *
from .delete import *
from .get import *
from .get_config import *
from .list import *
from .list_deleted import *
from .restore import *
from .worker_reset import *
from .worker_restart import *
from .workers_group_add import *
from .workers_group_delete import *
from .workers_group_get_by_name import *
class CloudapiK8sAPI(
_base.BaseAPI,
CloudapiK8sCreateProtocol,
CloudapiK8sDeleteProtocol,
CloudapiK8sGetConfigProtocol,
CloudapiK8sGetProtocol,
CloudapiK8sListDeletedProtocol,
CloudapiK8sListProtocol,
CloudapiK8sRestoreProtocol,
CloudapiK8sWorkerResetProtocol,
CloudapiK8sWorkerRestartProtocol,
CloudapiK8sWorkersGroupAddProtocol,
CloudapiK8sWorkersGroupDeleteProtocol,
CloudapiK8sWorkersGroupGetByNameProtocol,
):
pass

View File

@@ -0,0 +1,50 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sCreateResultStr(_base.BaseAPIResultStr):
pass
class CloudapiK8sCreateProtocol(_base.BasePostAPIFunctionProtocol):
def create(
self,
*,
name: str,
rg_id: int,
k8ci_id: int,
worker_group_name: str,
network_plugin: _nested.K8sNetworkPlugin,
master_node_sep_id: int | None = None,
master_node_sep_pool_name: str | None = None,
worker_node_sep_id: int | None = None,
worker_node_sep_pool_name: str | None = None,
labels: list[str] | None = None,
taints: list[str] | None = None,
annotations: list[str] | None = None,
init_config: str | None = None,
cluster_config: str | None = None,
kubelet_config: str | None = None,
kube_proxy_config: str | None = None,
join_config: str | None = None,
master_node_count: int = 1,
master_node_cpu_count: int = 2,
master_node_ram_size_mb: int = 2048,
master_node_disk_size_gb: int | None = None,
worker_node_count: int = 1,
worker_node_cpu_count: int = 1,
worker_node_ram_size_mb: int = 1024,
worker_node_disk_size_gb: int | None = None,
ext_net_id: int | None = None,
vins_id: int | None = None,
with_lb: bool = True,
lb_ha_mode: bool = False,
description: str | None = None,
extnet_only: bool = False,
ci_user_data: str | None = None,
additional_sans: list[str] | None = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
lb_sysctl_params: list[dict] | None = None,
zone_id: int | None = None,
) -> CloudapiK8sCreateResultStr:
...

View File

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

View File

@@ -0,0 +1,53 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
acl: _nested.K8sACLAPIResultNM
lb_ha_ips: _nested.LBHAIPsAPIResultNM
bservice_id: int
k8ci_id: int
created_by: str
created_timestamp: int
deleted_by: str
deleted_timestamp: int
description: str
extnet_only: bool
lb_ha_mode: bool
id: int
k8ci_name: str
node_groups: _nested.K8sNodeGroupsAPIResultNM
lb_id: int
name: str
network_plugin: _nested.K8sNetworkPlugin
rg_id: int
rg_name: str
status: _nested.K8sStatus
tech_status: _nested.K8sTechStatus
updated_by: str
updated_timestamp: int
with_lb: bool
zone_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 CloudapiK8sGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
k8s_id: int,
) -> CloudapiK8sGetResultModel:
...

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiK8sGetConfigResultStr(_base.BaseAPIResultStr):
pass
class CloudapiK8sGetConfigProtocol(_base.BasePostAPIFunctionProtocol):
def get_config(
self,
*,
k8s_id: int,
) -> CloudapiK8sGetConfigResultStr:
...

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sListResultModel(_base.BaseAPIResultModel):
data: list[_nested.K8sListAPIResultNM]
entry_count: int
class CloudapiK8sListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
bservice_id: int | None = None,
id: int | None = None,
include_deleted: bool = False,
ip_addr: str | None = None,
lb_id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
rg_id: int | None = None,
sort_by: str | None = None,
status: _nested.K8sStatus | None = None,
tech_status: _nested.K8sTechStatus | None = None,
) -> CloudapiK8sListResultModel:
...

View File

@@ -0,0 +1,25 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sListDeletedResultModel(_base.BaseAPIResultModel):
data: list[_nested.K8sListDeletedAPIResultNM]
entry_count: int
class CloudapiK8sListDeletedProtocol(_base.BasePostAPIFunctionProtocol):
def list_deleted(
self,
*,
bservice_id: int | None = None,
id: int | None = None,
ip_addr: str | None = None,
lb_id: int | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
rg_id: int | None = None,
sort_by: str | None = None,
tech_status: _nested.K8sTechStatus | None = None,
) -> CloudapiK8sListDeletedResultModel:
...

View File

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

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiK8sWorkerResetResultBool(_base.BaseAPIResultBool):
pass
class CloudapiK8sWorkerResetProtocol(_base.BasePostAPIFunctionProtocol):
def worker_reset(
self,
*,
k8s_id: int,
worker_group_id: int,
worker_node_id: int,
) -> CloudapiK8sWorkerResetResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiK8sWorkerRestartResultBool(_base.BaseAPIResultBool):
pass
class CloudapiK8sWorkerRestartProtocol(_base.BasePostAPIFunctionProtocol):
def worker_restart(
self,
*,
k8s_id: int,
worker_group_id: int,
worker_node_id: int,
) -> CloudapiK8sWorkerRestartResultBool:
...

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sWorkersGroupAddResultStr(_base.BaseAPIResultStr):
pass
class CloudapiK8sWorkersGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
def workers_group_add(
self,
*,
k8s_id: int,
name: str,
sep_id: int | None = None,
sep_pool_name: str | None = None,
labels: list[str] | None = None,
taints: list[str] | None = None,
annotations: list[str] | None = None,
node_count: int = 1,
node_cpu_count: int = 1,
node_ram_size_mb: int = 1024,
node_disk_size_gb: int | None = None,
ci_user_data: str | None = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
) -> CloudapiK8sWorkersGroupAddResultStr:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiK8sWorkersGroupDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiK8sWorkersGroupDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def workers_group_delete(
self,
*,
k8s_id: int,
worker_group_id: int,
) -> CloudapiK8sWorkersGroupDeleteResultBool:
...

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiK8sWorkersGroupGetByNameResultModel(_base.BaseAPIResultModel):
annotations: list[str]
node_boot_disk_size_gb: int
node_cpu_count: int
vms: list[_nested.K8sVMAPIResultNM]
id: int
labels: list[str]
name: str
node_ram_size_mb: int
taints: list[str]
node_count: int
class CloudapiK8sWorkersGroupGetByNameProtocol(
_base.BasePostAPIFunctionProtocol
):
def workers_group_get_by_name(
self,
*,
k8s_id: int,
worker_group_name: str,
) -> CloudapiK8sWorkersGroupGetByNameResultModel:
...

View File

@@ -33,5 +33,6 @@ class CloudapiKvmx86CreateProtocol(_base.BasePostAPIFunctionProtocol):
start: bool = True,
system_name: None | str = None,
without_boot_disk: bool = False,
zone_id: None | int = None,
) -> CloudapiKvmx86CreateResultInt:
...

View File

@@ -24,5 +24,14 @@ class CloudapiKvmx86CreateBlankProtocol(_base.BasePostAPIFunctionProtocol):
sep_id: None | int = None,
sep_pool_name: None | str = None,
without_boot_disk: bool = False,
boot_loader_type: _nested.BootLoaderType = (
_nested.BootLoaderType.unknown
),
boot_mode: _nested.BootMode = _nested.BootMode.bios,
network_interface_naming: _nested.NetIfaceNamingTemplate = (
_nested.NetIfaceNamingTemplate.ens
),
hot_resize: bool = False,
zone_id: None | int = None,
) -> CloudapiKvmx86CreateBlankResultInt:
...

View File

@@ -7,9 +7,17 @@ from .backend_server_update import *
from .backend_update import *
from .create import *
from .delete import *
from .disable import *
from .enable import *
from .frontend_bind import *
from .frontend_bind_delete import *
from .frontend_binding_update import *
from .frontend_create import *
from .frontend_delete import *
from .get import *
from .list import *
from .list_deleted import *
from .make_highly_available import *
class CloudapiLbAPI(
@@ -22,8 +30,16 @@ class CloudapiLbAPI(
CloudapiLbBackendUpdateProtocol,
CloudapiLbCreateProtocol,
CloudapiLbDeleteProtocol,
CloudapiLbDisableProtocol,
CloudapiLbEnableProtocol,
CloudapiLbFrontendBindDeleteProtocol,
CloudapiLbFrontendBindProtocol,
CloudapiLbFrontendBindingUpdateProtocol,
CloudapiLbFrontendCreateProtocol,
CloudapiLbFrontendDeleteProtocol,
CloudapiLbGetProtocol,
CloudapiLbListDeletedProtocol,
CloudapiLbListProtocol,
CloudapiLbMakeHighlyAvailableProtocol,
):
pass

View File

@@ -14,8 +14,9 @@ class CloudapiLbCreateProtocol(_base.BasePostAPIFunctionProtocol):
rg_id: int,
vins_id: int,
description: None | str = None,
highly_available: bool = False,
ha_mode: bool = False,
start: bool = True,
sysctl_params: None | list[str] = None,
zone_id: None | int = None,
) -> CloudapiLbCreateResultInt:
...

View File

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

View File

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

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
class CloudapiLbFrontendBindResultBool(_base.BaseAPIResultBool):
pass
class CloudapiLbFrontendBindProtocol(_base.BasePostAPIFunctionProtocol):
def frontend_bind(
self,
*,
lb_id: int,
frontend_name: str,
binding_name: str,
ip_addr: str,
port: int,
) -> CloudapiLbFrontendBindResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiLbFrontendBindDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiLbFrontendBindDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def frontend_bind_delete(
self,
*,
lb_id: int,
frontend_name: str,
binding_name: str,
) -> CloudapiLbFrontendBindDeleteResultBool:
...

View File

@@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
class CloudapiLbFrontendBindingUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiLbFrontendBindingUpdateProtocol(
_base.BasePostAPIFunctionProtocol
):
def frontend_binding_update(
self,
*,
lb_id: int,
frontend_name: str,
binding_name: str,
ip_addr: str,
port: int,
) -> CloudapiLbFrontendBindingUpdateResultBool:
...

View File

@@ -0,0 +1,16 @@
import dynamix_sdk.base as _base
class CloudapiLbFrontendCreateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiLbFrontendCreateProtocol(_base.BasePostAPIFunctionProtocol):
def frontend_create(
self,
*,
lb_id: int,
frontend_name: str,
backend_name: str,
) -> CloudapiLbFrontendCreateResultBool:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiLbFrontendDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiLbFrontendDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def frontend_delete(
self,
*,
lb_id: int,
frontend_name: str,
) -> CloudapiLbFrontendDeleteResultBool:
...

View File

@@ -1,12 +1,56 @@
import dynamix_sdk.api._nested as _nested
import typing as _typing
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiLbGetResultModel(
_base.BaseAPIResultModel,
_nested.LBAPIResultNM
):
pass
class CloudapiLbGetResultModel(_base.BaseAPIResultModel):
account_id: int
acl: list[_typing.Any]
backend_ha_ip_addr: str
backends: list[_nested.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[_nested.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: _nested.LBNodeAPIResultNM
rg_id: int
rg_name: str
secondary_node: _nested.LBNodeAPIResultNM
status: _nested.LBStatus
sysctl_params: dict[str, str]
tech_status: _nested.LBTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vins_id: int
zone_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 CloudapiLbGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
class CloudapiLbMakeHighlyAvailableResultInt(_base.BaseAPIResultInt):
pass
class CloudapiLbMakeHighlyAvailableProtocol(_base.BasePostAPIFunctionProtocol):
def make_highly_available(
self,
*,
lb_id: int,
) -> CloudapiLbMakeHighlyAvailableResultInt:
...

View File

@@ -25,7 +25,7 @@ class CloudapiRgCreateProtocol(_base.BasePostAPIFunctionProtocol):
owner: str | None = None,
public_ip_count_quota: int | None = None,
ram_size_quota_mb: int | None = None,
register_computes: bool = False,
storage_size_quota_gb: int | None = None,
sdn_access_group_id: str | None = None,
) -> CloudapiRgCreateResultInt:
...

View File

@@ -17,7 +17,6 @@ class CloudapiRgUpdateProtocol(_base.BasePostAPIFunctionProtocol):
name: None | str = None,
public_ip_count_quota: None | int = None,
ram_size_quota_mb: None | int = None,
register_computes: None | bool = None,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
) -> CloudapiRgUpdateResultBool:

View File

@@ -2,14 +2,15 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiStackGetResultModel(
_base.BaseAPIResultModel,
_nested.StackAPIResultNM
):
cpu_allocation_ratio: float
class CloudapiStackGetResultModel(_base.BaseAPIResultModel):
cpu_allocation_ratio: float | None
description: str
drivers: list[_nested.Driver]
mem_allocation_ratio: float
id: int
mem_allocation_ratio: float | None
name: str
status: _nested.PhysicalNodeStatus
type: str
class CloudapiStackGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -18,7 +18,7 @@ class CloudapiTasksListProtocol(_base.BasePostAPIFunctionProtocol):
page_number: int = 1,
page_size: int = 20,
sort_by: str | None = None,
status: str | None = None,
status: _nested.TaskStatus | None = None,
task_guid: str | None = None,
) -> CloudapiTasksListResultModel:
...

View File

@@ -1,9 +1,13 @@
import dynamix_sdk.base as _base
from .api_list import *
from .get import *
from .get_audit import *
class CloudapiUserAPI(
_base.BaseAPI,
CloudapiUserApiListProtocol,
CloudapiUserGetAuditProtocol,
CloudapiUserGetProtocol,
):
pass

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiUserApiListResultModel(_base.BaseAPIResultModel): # BPYS-297
cloudapi: dict | None = None
cloudbroker: dict | None = None
sdn: dict | None = None
system: dict | None = None
class CloudapiUserApiListProtocol(_base.BasePostAPIFunctionProtocol):
def api_list(
self,
*,
user_name: str,
) -> CloudapiUserApiListResultModel:
...

View File

@@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiUserGetAuditResultModel(_base.BaseAPIResultModel):
data: list[_nested.UserAuditAPIResultNM]
entry_count: int
class CloudapiUserGetAuditProtocol(_base.BasePostAPIFunctionProtocol):
def get_audit(
self,
*,
api_url_path: str | None = None,
min_status_code: int | None = None,
max_status_code: int | None = None,
request_timestamp_start: int | None = None,
request_timestamp_end: int | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str = '-Time',
) -> CloudapiUserGetAuditResultModel:
...

View File

@@ -14,10 +14,14 @@ from .static_route_del import *
from .static_route_list import *
from .vnfdev_redeploy import *
from .vnfdev_restart import *
from .enable import *
from .disable import *
class CloudapiVinsAPI(
_base.BaseAPI,
CloudapiVinsEnableProtocol,
CloudapiVinsDisableProtocol,
CloudapiVinsCreateInAccountProtocol,
CloudapiVinsCreateInRGProtocol,
CloudapiVinsDeleteProtocol,

View File

@@ -18,5 +18,6 @@ class CloudapiVinsCreateInAccountProtocol(_base.BasePostAPIFunctionProtocol):
ip_cidr: None | str = None,
pre_reservation_count: int = 32,
routes: None | list[_nested.RouteAPIParamsNM] = None,
zone_id: None | int = None,
) -> CloudapiVinsCreateInAccountResultInt:
...

View File

@@ -19,5 +19,6 @@ class CloudapiVinsCreateInRGProtocol(_base.BasePostAPIFunctionProtocol):
ip_cidr: None | str = None,
pre_reservation_count: None | int = None,
routes: None | list[_nested.RouteAPIParamsNM] = None,
zone_id: None | int = None,
) -> CloudapiVinsCreateInRGResultInt:
...

View File

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

View File

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

View File

@@ -2,27 +2,52 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiVinsGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseVINSAPIResultNM,
):
class CloudapiVinsGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
created_by: str
created_timestamp: int
default_gw: str
default_qos: _nested.QOSAPIResultNM
deleted_by: str
deleted_timestamp: int
description: None | str
grid_id: int
guid: int
id: int
lock_status: _nested.LockStatus
manager_id: int
manager_type: str
milestones: int
name: str
net_ip: str
net_mask: int
pre_reservation_count: int
redundant: bool
rg_id: int
rg_name: str
secondary_vnfdev_id: int
status: _nested.VINSStatus
updated_by: str
updated_timestamp: int
user_managed: bool
vms: list[_nested.VINSVMAPIResultNM]
vnfdev: _nested.VNFDevAPIResultNM
vnfs: _nested.VNFSAPIResultNM
vxlan_id: int
zone_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 CloudapiVinsGetProtocol(_base.BasePostAPIFunctionProtocol):

View File

@@ -20,6 +20,7 @@ class CloudapiVinsListProtocol(_base.BasePostAPIFunctionProtocol):
page_size: int | None = None,
rg_id: int | None = None,
sort_by: str | None = None,
status: _nested.VINSStatus | None = None,
vnfdev_id: int | None = None
) -> CloudapiVinsListResultModel:
...

View File

@@ -22,5 +22,8 @@ class CloudbrokerAccountCreateProtocol(_base.BasePostAPIFunctionProtocol):
send_access_emails: bool = False,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
description: str | None = None,
zone_ids: None | list[int] = None,
default_zone_id: None | int = None,
) -> CloudbrokerAccountCreateResultInt:
...

View File

@@ -5,24 +5,34 @@ access_type__AccessAPIResultNM: right
access_type__CloudapiAccountListDeletedParamsModel: acl
access_type__CloudapiAccountListParamsModel: acl
access_type__CloudapiRgAccessGrantParamsModel: right
account: accountAcl
account__VMACLForComputeUserListAPIResultNM: accountACL
account: accountACL
account__K8sACLAPIResultNM: accountAcl
account_id: accountId
account_id__DHCPReservationAPIResultNM: account_id
account_ids: accountAccess
account_name: accountName
acl: acl
acl__CloudapiComputeGetResultModel: ACL
acl__CloudapiK8sGetResultModel: ACL
additional_sans: additionalSANs
admin: admin
affinity_label: affinityLabel
affinity_rules: affinityRules
affinity_weight: affinityWeight
algorithm: algorithm
annotations: annotations
anti_affinity_rules: antiAffinityRules
api_url_path: call
api_url_path__UserAuditAPIResultNM: Call
arch: arch
arch__BaseImageAPIResultNM: architecture
arch__CloudapiImageGetResultModel: architecture
args: args
audit_guid: auditId
audit_guid__CloudapiAuditGetParamsModel: audit_guid
auth_broker: authBroker
auto_start: autoStart
available_commands: enabled_agent_features
backend__LBHAIPsAPIResultNM: backendIp
backend_ha_ip_addr: backendHAIP
backend_ip_addr: backendIp
backend_ip_addr__CloudapiLbListDeletedParamsModel: backIp
@@ -34,8 +44,10 @@ backend_name__CloudapiLbBackendServerAddParamsModel: backendName
backend_name__CloudapiLbBackendServerDeleteParamsModel: backendName
backend_name__CloudapiLbBackendServerUpdateParamsModel: backendName
backend_name__CloudapiLbBackendUpdateParamsModel: backendName
backend_name__CloudapiLbFrontendCreateParamsModel: backendName
backends: backends
base_domain: baseDomain
binding_name: bindingName
bindings: bindings
boot_cdrom_image_id: altBootId
boot_disk_size_gb: bootdiskSize
@@ -46,12 +58,21 @@ boot_disk_size_gb__CloudapiComputeRedeployParamsModel: diskSize
boot_disk_size_gb__CloudapiKvmx86CreateBlankParamsModel: bootDisk
boot_disk_size_gb__CloudapiKvmx86CreateParamsModel: bootDisk
boot_loader_type: imagetype
boot_loader_type__CloudapiComputeGetResultModel: loaderType
boot_loader_type__CloudapiComputeUpdateParamsModel: loaderType
boot_loader_type__CloudapiKvmx86CreateBlankParamsModel: loaderType
boot_loader_type__VMAPIResultNM: loaderType
boot_mode: bootType
boot_mode__CloudapiImageCreateParamsModel: boottype
boot_order: bootOrder
boot_partition: bootPartition
bootable: bootable
bservice_id: serviceId
bservice_id__CloudapiK8sGetResultModel: bserviceId
bservice_id__CloudapiK8sListDeletedParamsModel: basicServiceId
bservice_id__CloudapiK8sListParamsModel: basicServiceId
bservice_id__K8sListAPIResultNM: bserviceId
bservice_id__K8sListDeletedAPIResultNM: bserviceId
bsgroup_id: compgroupId
bsgroup_name: compgroupName
bsgroup_role: compgroupRole
@@ -61,19 +82,26 @@ capabilities: capabilities
cd_presented_to: cdPresentedTo
cdrom: cdrom
cdrom_image_id: cdromId
cdrom_image_id__BaseVMAPIResultNM: cdImageId
cdrom_image_id__CloudapiComputeGetResultModel: cdImageId
cdrom_image_id__VMAPIResultNM: cdImageId
check: check
check_ips: checkIps
chipset: chipset
ci_user_data: userdata
ci_user_data__CloudapiBserviceGroupAddParamsModel: userData
ci_user_data__CloudapiK8sCreateParamsModel: userData
ci_user_data__CloudapiK8sWorkersGroupAddParamsModel: userData
ckey: _ckey
clear_uniq_pools: clearUniqPools
client_ids: clientIds
client_ip_addr: remote_addr
client_names: clientNames
client_type: clientType
clone_ids: clones
clone_reference: cloneReference
cloudapi: cloudapi
cloudbroker: cloudbroker
cluster_config: clusterConfiguration
company: company
company_url: companyurl
completed: completed
@@ -86,8 +114,9 @@ count_change_mode__CloudapiBserviceGroupResizeParamsModel: mode
cpu_allocation_parameter: cpu_allocation_parameter
cpu_allocation_ratio: cpu_allocation_ratio
cpu_count: cpu
cpu_count__BaseVMAPIResultNM: cpus
cpu_count__CloudapiComputeGetResultModel: cpus
cpu_count__TenantQuotasAPIResultNM: CU_C
cpu_count__VMAPIResultNM: cpus
cpu_count_quota: maxCPUCapacity
cpu_count_total: cpuTotal
cpu_pin: cpupin
@@ -107,18 +136,23 @@ dc_location: DCLocation
deactivation_timestamp: deactivationTime
default: default
default_gw: defaultGW
default_gw__BaseInterfaceAPIResultNM: defGw
default_gw__DHCPVNFConfigAPIResultNM: default_gw
default_gw__GWVNFConfigAPIResultNM: default_gw
default_gw__InterfaceForComputeGetAPIResultNM: defGw
default_gw__InterfaceForComputeListAPIResultNM: defGw
default_gw__VNFDevInterfaceAPIResultNM: defGw
default_net_id: def_net_id
default_net_type: def_net_type
default_net_type__CloudapiRgCreateParamsModel: def_net
default_qos: defaultQos
default_zone_id: defaultZoneId
deleted_by: deletedBy
deleted_timestamp: deletedTime
description: desc
description__CloudapiDisksCreateParamsModel: description
description__CloudapiDpdknetListParamsModel: description
description__CloudapiStackGetResultModel: descr
description__DPDKNetAPIResultNM: description
destruction_timestamp: destructionTime
detach: detach
detach_disks: detachDisks
@@ -152,6 +186,7 @@ download_password: passwordDL
download_url: url
download_user_name: usernameDL
dp_api_user: dpApiUser
dpdk_net_id: dpdkId
driver: driver
drivers: drivers
dst_net_ip: destination
@@ -161,10 +196,13 @@ dst_net_mask__RouteAPIResultNM: netmask
egress_rate: eRate
email_address: emailaddress
email_addresses: emailaddresses
emails: emails
enabled: enabled
entry_count: entryCount
error: error
event_idx: event_idx
execution_time_sec: Response Time
execution_time_sec__CloudapiAuditGetResultModel: responsetime
explicit: explicit
ext_net_id: extnetId
ext_net_id__CloudapiComputeListParamsModel: extNetId
@@ -181,6 +219,7 @@ ext_net_name: extNetName
ext_traffic: CU_NP
ext_traffic_quota: maxNetworkPeerTransfer
extnet_ids: extnets
extnet_only: extnetOnly
fall: fall
flag: flag
flip_group_id: flipgroupId
@@ -188,22 +227,26 @@ force: force
force_stop: forceStop
free_ip_count: freeIPs
free_ip_count__CloudapiExtnetGetResultModel: free_ips
frontend__LBHAIPsAPIResultNM: frontendIp
frontend_ha_ip_addr: frontendHAIP
frontend_ip_addr: frontendIp
frontend_ip_addr__CloudapiLbListDeletedParamsModel: frontIp
frontend_ip_addr__CloudapiLbListParamsModel: frontIp
frontend_name: frontendName
frontends: frontends
gateway: gateway
gpu_count: gpu_units
gpu_count_quota__CloudapiAccountUpdateParamsModel: gpu_units
gpu_count_quota__CloudbrokerAccountCreateParamsModel: gpu_units
grid_id: gid
group_ids__BServiceForListAPIResultNM: groups
group_ids__BServiceAPIResultNM: groups
groups: groups
guest_agent: qemu_guest
guid: guid
guid__UserAuditAPIResultNM: Guid
gw: GW
ha_mode: HAmode
highly_available: highlyAvailable
ha_mode__CloudapiLbCreateParamsModel: highlyAvailable
history: history
hostname: hostname
hot_resize: hotResize
@@ -217,9 +260,14 @@ id__CloudapiComputeListParamsModel: by_id
id__CloudapiDisksListDeletedParamsModel: by_id
id__CloudapiDisksListParamsModel: by_id
id__CloudapiDisksListUnattachedParamsModel: by_id
id__CloudapiDpdknetListParamsModel: by_id
id__CloudapiExtnetListParamsModel: by_id
id__CloudapiFlipgroupListParamsModel: by_id
id__CloudapiImageListParamsModel: by_id
id__CloudapiK8ciListDeletedParamsModel: k8cId
id__CloudapiK8ciListParamsModel: by_id
id__CloudapiK8sListDeletedParamsModel: by_id
id__CloudapiK8sListParamsModel: by_id
id__CloudapiLbListDeletedParamsModel: by_id
id__CloudapiLbListParamsModel: by_id
id__CloudapiLocationsListParamsModel: by_id
@@ -233,25 +281,37 @@ image_id: imageId
image_ids: images
image_name: imageName
include_deleted: includedeleted
include_deleted__CloudapiK8sListParamsModel: includedeleted
include_deleted__CloudapiVinsListParamsModel: includeDeleted
include_disabled: includeDisabled
ingress_burst: inBurst
ingress_rate: inRate
init_config: initConfiguration
inter: inter
interfaces: interfaces
io_tune: iotune
ioeventfd: ioeventfd
iops: iops
ip_addr: ipAddr
ip_addr__BaseFlipGroupAPIResultNM: ip
ip_addr__BaseInterfaceAPIResultNM: ipAddress
ip_addr__CloudapiComputeChangeIpParamsModel: ip_addr
ip_addr__CloudapiComputeListParamsModel: ipAddress
ip_addr__CloudapiFlipgroupCreateParamsModel: ip
ip_addr__CloudapiFlipgroupCreateResultModel: ip
ip_addr__CloudapiFlipgroupGetResultModel: ip
ip_addr__CloudapiFlipgroupListParamsModel: byIp
ip_addr__CloudapiK8sListDeletedParamsModel: ipAddress
ip_addr__CloudapiK8sListParamsModel: ipAddress
ip_addr__CloudapiLbBackendServerAddParamsModel: address
ip_addr__CloudapiLbBackendServerUpdateParamsModel: address
ip_addr__CloudapiLbFrontendBindParamsModel: bindingAddress
ip_addr__CloudapiLbFrontendBindingUpdateParamsModel: bindingAddress
ip_addr__DHCPReservationAPIResultNM: ip
ip_addr__FlipGroupForListAPIResultNM: ip
ip_addr__InterfaceForComputeGetAPIResultNM: ipAddress
ip_addr__InterfaceForComputeListAPIResultNM: ipAddress
ip_addr__LBFrontendBindingAPIResultNM: address
ip_addr__LBServerAPIResultNM: address
ip_addr__VNFDevInterfaceAPIResultNM: ipAddress
ip_addr__VNFDevMGMTConfigAPIResultNM: ipaddr
ip_addresses: ipAddresses
ip_cidr: ipcidr
@@ -259,14 +319,31 @@ ip_pool_end: ip_end
ip_pool_start: ip_start
ipa_type: ipaType
iqn: iqn
join_config: joinConfiguration
k8ci_id: k8ciId
k8ci_id__CloudapiK8sGetResultModel: ciId
k8ci_id__K8sListAPIResultNM: ciId
k8ci_id__K8sListDeletedAPIResultNM: ciId
k8ci_name: k8ciName
k8s: k8sAcl
k8s_id: k8sId
key: key
kube_proxy_config: kubeProxyConfiguration
kubelet_config: kubeletConfiguration
kwargs: kwargs
label: label
labels: labels
last_modified: lastModified
last_update_timestamp: last_update
lb_ha_ips: addressVip
lb_ha_mode: highlyAvailableLB
lb_id: lbId
lb_sysctl_params: lbSysctlParams
lease_time: lease
libvirt_settings: libvirtSettings
link_to: linkTo
listen_ssh: listenSsh
live_migration_job_id: live_migration_job_id
local_ip: localIp
local_port: localPort
local_port__CloudapiComputePfwAddParamsModel: localBasePort
@@ -276,8 +353,18 @@ lock_status: lockStatus
log: log
login: login
mac: mac
mac__CloudapiComputeNetAttachParamsModel: mac_addr
manager_id: managerId
manager_type: managerType
master: masters
master_node_count: masterNum
master_node_cpu_count: masterCpu
master_node_disk_size_gb: masterDisk
master_node_driver: masterDriver
master_node_ram_size_mb: masterRam
master_node_sep_id: masterSepId
master_node_sep_pool_name: masterSepPool
max_status_code: maxStatusCode
maxconn: maxconn
maxqueue: maxqueue
mem_allocation_ratio: mem_allocation_ratio
@@ -285,6 +372,7 @@ mgmt: mgmt
mgmt_ip: mgmtIp
migration_job: migrationjob
milestones: milestones
min_status_code: minStatusCode
mode: mode
mtu: mtu
name: name
@@ -299,24 +387,47 @@ natable_vins_network_name: natableVinsNetworkName
need_reboot: needReboot
net_cidr__CloudapiFlipgroupGetResultModel: network
net_id: netId
net_id__CloudapiComputeChangeIpParamsModel: net_id
net_id__LBNodeAPIResultNM: networkId
net_ip: network
net_ip__CloudapiExtnetListParamsModel: network
net_mask: netmask
net_mask__BaseInterfaceAPIResultNM: netMask
net_mask__CloudapiExtnetGetResultModel: prefix
net_mask__CloudapiVinsGetResultModel: netMask
net_mask__InterfaceForComputeGetAPIResultNM: netMask
net_mask__InterfaceForComputeListAPIResultNM: netMask
net_mask__VNFDevInterfaceAPIResultNM: netMask
net_type: netType
network_id: networkId
net_type__CloudapiComputeChangeIpParamsModel: net_type
network_ids: networkIds
network_interface_naming: networkInterfaceNaming
network_modes: network_modes
network_plugin: networkPlugin
network_plugin__CloudapiK8ciListDeletedParamsModel: netPlugins
network_plugin__CloudapiK8ciListParamsModel: netPlugins
network_plugins: networkPlugins
node_boot_disk_size_gb__CloudapiK8sWorkersGroupGetByNameResultModel: disk
node_boot_disk_size_gb__K8sNodeGroupAPIResultNM: disk
node_count__CloudapiK8sWorkersGroupAddParamsModel: workerNum
node_count__CloudapiK8sWorkersGroupGetByNameResultModel: num
node_count__K8sNodeGroupAPIResultNM: num
node_cpu_count__CloudapiK8sWorkersGroupAddParamsModel: workerCpu
node_cpu_count__CloudapiK8sWorkersGroupGetByNameResultModel: cpu
node_cpu_count__K8sNodeGroupAPIResultNM: cpu
node_disk_size_gb__CloudapiK8sWorkersGroupAddParamsModel: workerDisk
node_groups: k8sGroups
node_id: nodeId
node_ram_size_mb__CloudapiK8sWorkersGroupAddParamsModel: workerRam
node_ram_size_mb__CloudapiK8sWorkersGroupGetByNameResultModel: ram
node_ram_size_mb__K8sNodeGroupAPIResultNM: ram
ntp_servers: ntp
numa_affinity: numaAffinity
numa_node_id: numaNodeId
order: order
os_password__CloudapiImageCreateParamsModel: password
os_password__CloudapiImageGetResultModel: password
os_user_name__BaseImageAPIResultNM: username
os_user_name__CloudapiImageCreateParamsModel: username
os_user_name__CloudapiImageGetResultModel: username
os_user_name__ImageForListAPIResultNM: username
os_users: osUsers
other_node: otherNode
other_node_indirect: otherNodeIndirect
@@ -338,13 +449,17 @@ password: password
password__DiskForCAComputeGetAPIResultNM: passwd
password__DiskForListUnattachedAPIResultNM: passwd
pci_slot: pciSlot
pci_slot__DiskForCAComputeGetAPIResultNM: pci_slot
permanently: permanently
pinned: pinned
pinned_to_stack: pinnedToStack
policy: policy
pool_id: poolId
pools: pools
port: port
port__CloudapiLbFrontendBindParamsModel: bindingPort
port__CloudapiLbFrontendBindingUpdateParamsModel: bindingPort
pre_reservation_count: preReservationsNum
pre_reservations: pre-reservations
preferred_cpu_cores: preferredCpu
present_to: presentTo
primary: primary
@@ -378,9 +493,12 @@ reality_device_number: realityDeviceNumber
recursively__CloudapiRgDeleteParamsModel: force
redundant: redundant
reference_id: referenceId
register_computes: registerComputes
registered: registered
replication: replication
request_datetime_iso8601: _ttl
request_timestamp: Time
request_timestamp__CloudapiAuditGetResultModel: timestamp
request_timestamp_end: timestampTo
request_timestamp_start: timestampAt
res_id: resId
res_name: resName
rescue_cd: rescuecd
@@ -388,10 +506,12 @@ reservations: reservations
reserved_cpu_cores: reservedNodeCpus
resource_types: resourceTypes
resources: resources
response_timestamp: timestampEnd
result: result
rg: rgAcl
rg__VMACLForComputeUserListAPIResultNM: rgACL
rg: rgACL
rg__K8sACLAPIResultNM: rgAcl
rg_id: rgId
rg_ids: rgAccess
rg_name: rgName
rise: rise
role: role
@@ -403,6 +523,11 @@ rules: rules
rx_queue_size: rx_queue_size
same_node: sameNode
same_node_soft: sameNodeSoft
sdn: sdn
sdn_access_group_id: sdn_access_group_id
sdn_logical_port_id: sdn_interface_id
sdn_support: sdn_support
secondary: secondary
secondary_node: secondaryNode
secondary_vnfdev_id: secVnfDevId
secret: secret
@@ -410,26 +535,31 @@ self_volume_id: selfVolumeId
send_access_emails: sendAccessEmails
sep_id: sepId
sep_id__CloudapiDisksCreateParamsModel: sep_id
sep_id__CloudapiK8sWorkersGroupAddParamsModel: workerSepId
sep_name: sepName
sep_pool_name: pool
sep_pool_name__CloudapiBserviceGroupAddParamsModel: sepPool
sep_pool_name__CloudapiBserviceGroupGetResultModel: poolName
sep_pool_name__CloudapiImageCreateParamsModel: poolName
sep_pool_name__CloudapiK8sWorkersGroupAddParamsModel: workerSepPool
sep_type: sepType
seq_no: seqNo
server_default_settings: serverDefaultSettings
server_name: serverName
server_settings: serverSettings
servers: servers
service_account: serviceAccount
shared: shareable
shared__CloudapiDisksListDeletedParamsModel: shared
shared__CloudapiDisksListParamsModel: shared
shared_with: sharedWith
show_all: showAll
size_gb__BaseImageAPIResultNM: size
size_available: sizeAvailable
size_gb__CloudapiDisksCreateParamsModel: size
size_gb__CloudapiImageGetResultModel: size
size_gb__CloudapiImageListParamsModel: imageSize
size_gb__DiskAPIParamsNM: size
size_gb__ImageForListAPIResultNM: size
size_iops_sec: size_iops_sec
size_max_gb: sizeMax
size_used: sizeUsed
@@ -455,6 +585,8 @@ started: started
stateless_sep_id: statelessSepId
stateless_sep_type: statelessSepType
status: status
status_code: statuscode
status_code__UserAuditAPIResultNM: Status Code
stopped: stopped
storage_id: storageId
storage_size_gb: CU_DM
@@ -463,6 +595,7 @@ sysctl_params: sysctlParams
system: system
system_name: IS
tags: tags
taints: taints
target: target
target_image_id: targetId
task_guid: taskId
@@ -474,6 +607,7 @@ total_bytes_sec_max: total_bytes_sec_max
total_disks_size: totalDisksSize
total_iops_sec: total_iops_sec
total_iops_sec_max: total_iops_sec_max
trunk_vlan_ids: trunk_tags
tx_mode: txmode
tx_queue_size: tx_queue_size
type: type
@@ -485,14 +619,19 @@ updated_by: updatedBy
updated_timestamp: updatedTime
user: user
user_group_id: userGroupId
user_id: userId
user_managed: userManaged
user_name: username
user_name__CloudapiAccountAddUserParamsModel: userId
user_name__CloudapiAccountDeleteUserParamsModel: userId
user_name__CloudapiAccountUpdateUserParamsModel: userId
user_name__CloudapiAuditGetResultModel: user
user_name__CloudapiComputeUserGrantParamsModel: userName
user_name__CloudapiComputeUserRevokeParamsModel: userName
user_name__CloudapiComputeUserUpdateParamsModel: userName
user_name__CloudapiRgAccessGrantParamsModel: user
user_name__CloudapiRgAccessRevokeParamsModel: user
user_name__CloudapiUserApiListParamsModel: userId
user_name__GuestAgentAPIResultNM: user
uuid: uuid
valid: valid
value: value
@@ -511,8 +650,7 @@ virtual_image_id: virtualImageId
virtual_image_id__CloudapiImageLinkParamsModel: imageId
virtual_image_name: virtualImageName
vlan_id: vlanId
vm: computeAcl
vm__VMACLForComputeUserListAPIResultNM: computeACL
vm: computeACL
vm_ci_id: computeciId
vm_count__BServiceGroupAPIResultNM: computes
vm_count__CloudapiBserviceGroupAddParamsModel: count
@@ -520,18 +658,24 @@ vm_count__CloudapiBserviceGroupResizeParamsModel: count
vm_counts: computes
vm_features: computeFeatures
vm_id: computeId
vm_id__CloudapiComputeChangeIpParamsModel: compute_id
vm_id__CloudapiDisksGetResultModel: machineId
vm_id__DHCPReservationAPIResultNM: vmId
vm_id__DiskForListAndListDeletedAPIResultNM: machineId
vm_id__DiskForListUnattachedAPIResultNM: vmid
vm_id__NATRuleAPIResultNM: vmId
vm_ids: vms
vm_ids__CloudapiDpdknetListParamsModel: computeIds
vm_ids__DPDKNetAPIResultNM: computeIds
vm_ids__RouteAPIResultNM: computeIds
vm_name__CloudapiDisksGetResultModel: machineName
vm_name__DiskForListAndListDeletedAPIResultNM: machineName
vms__CloudapiBserviceGetResultModel: computes
vms__CloudapiBserviceGroupGetResultModel: computes
vms__CloudapiDisksGetResultModel: computes
vms__CloudapiK8sWorkersGroupGetByNameResultModel: detailedInfo
vms__CloudapiVinsGetResultModel: computes
vms__DiskForListAndListDeletedAPIResultNM: computes
vms__K8sNodeGroupAPIResultNM: detailedInfo
vnc_password: vncPasswd
vnf_ids: vnfs
vnf_ids_by_type__CloudapiExtnetGetResultModel: vnfs
@@ -542,8 +686,25 @@ vnfs__CloudapiVinsGetResultModel: vnfs
volume_id: volumeId
vxlan_id: vxlanId
weight: weight
with_lb: withLB
without_boot_disk: withoutBootDisk
worker: workers
worker_group_id: workersGroupId
worker_group_name: workerGroupName
worker_group_name__CloudapiK8sWorkersGroupGetByNameParamsModel: groupName
worker_groups: workersGroups
worker_node_count: workerNum
worker_node_cpu_count: workerCpu
worker_node_disk_size_gb: workerDisk
worker_node_driver: workerDriver
worker_node_id: workerId
worker_node_ram_size_mb: workerRam
worker_node_sep_id: workerSepId
worker_node_sep_pool_name: workerSepPool
write_bytes_sec: write_bytes_sec
write_bytes_sec_max: write_bytes_sec_max
write_iops_sec: write_iops_sec
write_iops_sec_max: write_iops_sec_max
zone_id: zoneId
zone_ids: zoneIds
zones__CloudapiAccountGetResultModel: zoneIds

View File

@@ -11,6 +11,7 @@ affinity_rules_clear: affinityRulesClear
anti_affinity_rule_add: antiAffinityRuleAdd
anti_affinity_rule_remove: antiAffinityRuleRemove
anti_affinity_rules_clear: antiAffinityRulesClear
api_list: apiList
backend_create: backendCreate
backend_delete: backendDelete
backend_server_add: backendServerAdd
@@ -34,6 +35,13 @@ disk_attach: diskAttach
disk_del: diskDel
disk_detach: diskDetach
disk_resize: diskResize
frontend_bind: frontendBind
frontend_bind_delete: frontendBindDelete
frontend_binding_update: frontendBindingUpdate
frontend_create: frontendCreate
frontend_delete: frontendDelete
get_audit: getAudit
get_config: getConfig
get_default: getDefault
get_url: getUrl
group_add: groupAdd
@@ -55,6 +63,7 @@ limit_io: limitIO
list_deleted: listDeleted
list_types: listTypes
list_unattached: listUnattached
make_highly_available: makeHighlyAvailable
net_attach: netAttach
net_detach: netDetach
pfw_add: pfwAdd
@@ -81,3 +90,8 @@ user_revoke: userRevoke
user_update: userUpdate
vnfdev_redeploy: vnfdevRedeploy
vnfdev_restart: vnfdevRestart
worker_reset: workerReset
worker_restart: workerRestart
workers_group_add: workersGroupAdd
workers_group_delete: workersGroupDelete
workers_group_get_by_name: workersGroupGetByName

View File

@@ -1,5 +1,6 @@
from enum import Enum, auto as enum_auto
from typing import Sequence, Any
from typing import Any
from collections.abc import Sequence
JSON = int | str | bool | list['JSON'] | dict[str, 'JSON'] | None

View File

@@ -15,20 +15,18 @@ from tests.conftest import SDKFunction
expected_inconsistencies: list[str] = [
'''cloudapi.image.create: API has parameter "asyncMode" but this SDK function doesn't have corresponding parameter.''', # noqa: E501
'''cloudapi.flipgroup.create: API has parameter "clientType" but this SDK function doesn't have corresponding parameter.''', # noqa: E501
'''cloudapi.k8s.create: API has parameter "oidcCertificate" but this SDK function doesn't have corresponding parameter.''', # noqa: E501
'cloudapi.k8s.create: annotation of parameter "lb_sysctl_params" must contain BaseAPIParamsNestedModel.', # noqa: E501
'cloudapi.user.get_audit: result type must be child of BaseAPIParamsNestedModel.', # noqa: E501
'cloudapi.disks.limit_io: API has parameter "iops" but this SDK function doesn\'t have corresponding parameter.', # noqa: E501
'cloudapi.image.list: API has parameter "architecture" but this SDK function doesn\'t have corresponding parameter.', # noqa: E501
'cloudapi.bservice.group_stop: default value of parameter "force" must be None.', # noqa: E501
'cloudapi.bservice.group_stop: annotation of parameter "force" must be Union.', # noqa: E501
'cloudapi.bservice.delete: default value of parameter "permanently" must be None.', # noqa: E501
'cloudapi.bservice.delete: annotation of parameter "permanently" must be Union.', # noqa: E501
'cloudapi.compute.net_attach: result type must be child of BaseAPIResultBool.', # noqa: E501
'cloudapi.compute.net_attach: default value of parameter "mtu" must be 1500.', # noqa: E501
'''cloudapi.compute.update: parameter "cpu_pin", target_annotation = None | bool, expected_annot = <class 'bool'>''', # noqa: E501
'cloudapi.disks.create: default value of parameter "size_gb" must be 10.',
'''cloudapi.disks.create: API has parameter "ssdSize" but this SDK function doesn't have corresponding parameter.''', # noqa: E501
'cloudbroker.account.create: annotation of parameter "uniq_pools" must contain int.', # noqa: E501
'cloudapi.kvmx86.create: annotation of parameter "ci_user_data" must contain BaseAPIParamsNestedModel.', # noqa: E501
'''cloudapi.image.create: API has parameter "architecture" but this SDK function doesn't have corresponding parameter.''', # noqa: E501
'cloudapi.lb.create: annotation of parameter "sysctl_params" must contain BaseAPIParamsNestedModel.', # noqa: E501
]
@@ -300,8 +298,8 @@ def test_with_api_definition(
inconsistencies.append(
f'{".".join(sdk_func.call_attrs)}:'
f' parameter "{sdk_param_name}",'
f' {target_annotation = },'
f' {expected_annot = }'
f' {target_annotation = },' # noqa: E202, E251
f' {expected_annot = }' # noqa: E202, E251
)
continue