From a63ff017af17fe7bf211834704d31aa170cfa22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D1=81=D0=BB=D0=B0=D0=B2=20?= =?UTF-8?q?=D0=9D=D0=B5=D1=81=D1=82=D0=B5=D1=80=D0=BE=D0=B2?= Date: Mon, 21 Jul 2025 20:27:59 +0700 Subject: [PATCH] 1.2.0 --- CHANGELOG.md | 247 ++++--- README.md | 29 + pyproject.toml | 10 +- src/dynamix_sdk/api/_nested/enums.py | 67 +- src/dynamix_sdk/api/_nested/params.py | 1 + src/dynamix_sdk/api/_nested/result.py | 616 ++++++++++++++---- src/dynamix_sdk/api/cloudapi/_api.py | 4 + .../api/cloudapi/account/add_user.py | 2 +- .../api/cloudapi/account/delete.py | 4 +- .../api/cloudapi/account/delete_user.py | 2 +- .../api/cloudapi/account/disable.py | 1 - src/dynamix_sdk/api/cloudapi/account/get.py | 32 +- .../api/cloudapi/account/restore.py | 4 +- .../api/cloudapi/account/update.py | 1 + .../api/cloudapi/account/update_user.py | 2 +- .../api/cloudapi/bservice/create.py | 1 + src/dynamix_sdk/api/cloudapi/bservice/get.py | 39 +- src/dynamix_sdk/api/cloudapi/bservice/list.py | 2 +- .../api/cloudapi/bservice/list_deleted.py | 2 +- src/dynamix_sdk/api/cloudapi/compute/get.py | 86 ++- .../api/cloudapi/compute/net_attach.py | 1 + .../api/cloudapi/compute/user_list.py | 2 +- src/dynamix_sdk/api/cloudapi/disks/get.py | 66 +- .../api/cloudapi/dpdknet/__init__.py | 1 + src/dynamix_sdk/api/cloudapi/dpdknet/_api.py | 11 + src/dynamix_sdk/api/cloudapi/dpdknet/get.py | 18 + src/dynamix_sdk/api/cloudapi/dpdknet/list.py | 24 + src/dynamix_sdk/api/cloudapi/extnet/get.py | 24 +- .../api/cloudapi/flipgroup/create.py | 3 - src/dynamix_sdk/api/cloudapi/flipgroup/get.py | 21 +- src/dynamix_sdk/api/cloudapi/image/get.py | 28 +- src/dynamix_sdk/api/cloudapi/k8ci/get.py | 11 +- src/dynamix_sdk/api/cloudapi/k8s/__init__.py | 1 + src/dynamix_sdk/api/cloudapi/k8s/_api.py | 31 + src/dynamix_sdk/api/cloudapi/k8s/create.py | 50 ++ src/dynamix_sdk/api/cloudapi/k8s/delete.py | 15 + src/dynamix_sdk/api/cloudapi/k8s/get.py | 53 ++ .../api/cloudapi/k8s/get_config.py | 14 + src/dynamix_sdk/api/cloudapi/k8s/list.py | 27 + .../api/cloudapi/k8s/list_deleted.py | 25 + src/dynamix_sdk/api/cloudapi/k8s/restore.py | 14 + .../api/cloudapi/k8s/worker_reset.py | 16 + .../api/cloudapi/k8s/worker_restart.py | 16 + .../api/cloudapi/k8s/workers_group_add.py | 27 + .../api/cloudapi/k8s/workers_group_delete.py | 15 + .../cloudapi/k8s/workers_group_get_by_name.py | 27 + src/dynamix_sdk/api/cloudapi/kvmx86/create.py | 1 + .../api/cloudapi/kvmx86/create_blank.py | 1 + src/dynamix_sdk/api/cloudapi/lb/_api.py | 8 +- src/dynamix_sdk/api/cloudapi/lb/create.py | 3 +- src/dynamix_sdk/api/cloudapi/lb/disable.py | 14 + src/dynamix_sdk/api/cloudapi/lb/enable.py | 14 + src/dynamix_sdk/api/cloudapi/lb/get.py | 56 +- .../api/cloudapi/lb/make_highly_available.py | 14 + src/dynamix_sdk/api/cloudapi/rg/create.py | 1 + src/dynamix_sdk/api/cloudapi/stack/get.py | 9 +- src/dynamix_sdk/api/cloudapi/user/_api.py | 4 +- src/dynamix_sdk/api/cloudapi/user/api_list.py | 17 + .../api/cloudapi/vins/create_in_account.py | 1 + .../api/cloudapi/vins/create_in_rg.py | 1 + src/dynamix_sdk/api/cloudapi/vins/get.py | 33 +- .../api/cloudbroker/account/create.py | 2 + src/dynamix_sdk/api/name_mapping.yml | 160 ++++- src/dynamix_sdk/api/path_mapping.yml | 8 + src/dynamix_sdk/utils.py | 3 +- tests/test_with_api_definition.py | 12 +- 66 files changed, 1720 insertions(+), 335 deletions(-) create mode 100644 src/dynamix_sdk/api/cloudapi/dpdknet/__init__.py create mode 100644 src/dynamix_sdk/api/cloudapi/dpdknet/_api.py create mode 100644 src/dynamix_sdk/api/cloudapi/dpdknet/get.py create mode 100644 src/dynamix_sdk/api/cloudapi/dpdknet/list.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/__init__.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/_api.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/create.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/delete.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/get.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/get_config.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/list.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/list_deleted.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/restore.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/worker_reset.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/worker_restart.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/workers_group_add.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/workers_group_delete.py create mode 100644 src/dynamix_sdk/api/cloudapi/k8s/workers_group_get_by_name.py create mode 100644 src/dynamix_sdk/api/cloudapi/lb/disable.py create mode 100644 src/dynamix_sdk/api/cloudapi/lb/enable.py create mode 100644 src/dynamix_sdk/api/cloudapi/lb/make_highly_available.py create mode 100644 src/dynamix_sdk/api/cloudapi/user/api_list.py diff --git a/CHANGELOG.md b/CHANGELOG.md index dc2f004..9f3c049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,113 +1,170 @@ -# Список изменений в версии 1.1.0 +# Список изменений в версии 1.2.0 ## Добавлено ### Функциональный интерфейс | Идентификатор
задачи | Описание | | --- | --- | -| BPYS-23 | Функция API `/cloudapi/account/get`: добавлен атрибут `CloudapiAccountGetResultModel.description`. | -| BPYS-23 | Функция API `/cloudapi/account/list`: добавлен атрибут `CloudapiAccountListResultModel.data.description`. | -| BPYS-23 | Функция API `/cloudapi/account/listDeleted`: добавлен атрибут `CloudapiAccountListDeletedResultModel.data.description`. | -| BPYS-214 | Функция API `/cloudbroker/account/create`: добавлен параметр `description`. | -| BPYS-201 | Функция API `/cloudapi/account/update`: добавлен параметр `description`. | -| BPYS-200 | Функция API `/cloudapi/account/disable`: добавлен параметр `reason`. | -| BPYS-203 | Функция API `/cloudapi/bservice/groupAdd`: добавлен параметр `chipset`. | -| BPYS-213 | Функция API `/cloudapi/vins/list`: добавлен параметр `status`. | -| BPYS-211 | Функция API `/cloudapi/extnet/list`: добавлен параметр `ovs_bridge`. | -| BPYS-172 | Добавлены функции API `/cloudapi/lb/frontendBindDelete`, `/cloudapi/lb/frontendBindingUpdate`, `/cloudapi/lb/frontendBind`, `/cloudapi/lb/frontendCreate`, `/cloudapi/lb/frontendDelete`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.boot_loader_type`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.boot_mode`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.created_by`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.deleted_by`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.disks.size_available`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.hot_resize`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.network_interface_naming`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: добавлен атрибут `CloudapiComputeGetResultModel.pinned_to_stack` в связи с переименованием из `pinned`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: тип атрибута `CloudapiComputeGetResultModel.disks.present_to` изменен с `list[int] `на` dict[str, int]`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: тип атрибута `CloudapiComputeGetResultModel.disks.updated_by` изменен с `Any` на `str`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.boot_loader_type`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.boot_mode`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.hot_resize`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.network_interface_naming`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: добавлен атрибут `CloudapiComputeListResultModel.data.pinned_to_stack` в связи с переименованием из `pinned`. | -| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.created_by`. | -| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.deleted_by`. | -| BPYS-25 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.size_available`. | -| BPYS-25 | Функция API `/cloudapi/disks/get`: тип атрибута `CloudapiDisksGetResultModel.present_to` изменен с `list[int] `на` dict[str, int]`. | -| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.created_by`. | -| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.deleted_by`. | -| BPYS-25 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.size_available`. | -| BPYS-25 | Функция API `/cloudapi/disks/list`: тип атрибута `CloudapiDisksListResultModel.data.present_to` изменен с `list[int] `на` dict[str, int]`. | -| BPYS-25 | Функция API `/cloudapi/image/create`: у параметра `boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | -| BPYS-25 | Функция API `/cloudapi/image/get`: у атрибута `CloudapiImageGetResultModel.boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | -| BPYS-25 | Функция API `/cloudapi/image/list`: у атрибута `CloudapiImageListResultModel.data.boot_loader_type` в перечисляемом типе `BootLoaderType` было добавлено значение `unknown` в связи с переименованием из `other` . | -| BPYS-185 | Добавлены функции API `/cloudapi/audit/get`, `/cloudapi/user/getAudit`. | -| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `boot_loader_type`. | -| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `boot_mode`. | -| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `hot_resize`. | -| BPYS-26 | Функция API `/cloudapi/compute/update`: добавлен параметр `network_interface_naming`. | -| BPYS-207 | Функция API `/cloudapi/compute/netAttach`: добавлен параметр `mac`. | -| BPYS-56 | Функция API `/cloudapi/kvmx86/create`: добавлен параметр `interfaces.mac`. | -| BPYS-56 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `interfaces.mac`. | -| BPYS-204 | Функция API `/cloudapi/bservice/groupResize`: добавлено значение по умолчанию для параметра `count_change_mode`. | -| BPYS-204 | Функция API `/cloudapi/bservice/groupResize`: добавлен параметр `chipset`. | -| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `boot_loader_type`. | -| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `boot_mode`. | -| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `hot_resize`. | -| BPYS-202 | Функция API `/cloudapi/kvmx86/createBlank`: добавлен параметр `network_interface_naming`. | -| BPYS-153 | Функция API `/cloudapi/tasks/list`: тип параметра `status` изменен с `str` на перечисляемый тип `TaskStatus`. | -| BPYS-153 | Функция API `/cloudapi/tasks/get`: тип атрибута `CloudapiTasksGetResultModel.status` изменен с `str` на перечисляемый тип `TaskStatus`. | -| BPYS-153 | Функция API `/cloudapi/tasks/list`: тип атрибута `CloudapiTasksListResultModel.data.status` изменен с `str` на перечисляемый тип `TaskStatus`. | -| BPYS-179 | Добавлены функции API `/cloudapi/k8ci/get`, `/cloudapi/k8ci/list`, `/cloudapi/k8ci/listDeleted` . | -| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.milestones`. | -| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.vm_id`. | -| BPYS-64 | Функция API `/cloudapi/disks/get`: добавлен атрибут `CloudapiDisksGetResultModel.vm_name`. | -| BPYS-64 | Функция API `/cloudapi/disks/get`: тип атрибута `CloudapiDisksGetResultModel.updated_by` изменен на `str`. | -| BPYS-64 | Функция API `/cloudapi/disks/list`: добавлен атрибут `CloudapiDisksListResultModel.data.milestones`. | -| BPYS-64 | Функция API `/cloudapi/disks/list`: тип атрибута `CloudapiDisksListResultModel.data.updated_by` изменен на `str`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.created_by`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.deleted_by`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.milestones`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: добавлен атрибут `CloudapiDisksListDeletedResultModel.data.size_available`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: тип атрибута `CloudapiDisksListDeletedResultModel.data.present_to` изменен с `list[int] `на` dict[str, int]`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: тип атрибута `CloudapiDisksListDeletedResultModel.data.updated_by` изменен на `str`. | -| BPYS-183 | Добавлены функции API `/cloudapi/vins/enable`, `/cloudapi/vins/disable`. | -| BPYS-255 | Функция API `/cloudapi/image/get`: тип атрибута `CloudapiImageGetResultModel.present_to` изменен с `list[int]` на `dict[str, int]`. | -| BPYS-257 | Функция API `/cloudapi/extnet/get`: добавлен атрибут `CloudapiExtnetGetResultModel.ntp_servers`. | -| BPYS-256 | Функция API `/cloudapi/vins/get`: тип атрибута `CloudapiVinsGetResultModel.vnfdev.config.resources.stack_id` изменен с `int` на `int \| None`. | -| BPYS-259 | Функция API `/cloudapi/bservice/get`: тип атрибута `CloudapiBserviceGetResultModel.vms.stack_id` изменен с `int` на `int \| None`. | -| BPYS-258 | Функция API `/cloudapi/stack/get`: тип атрибута `CloudapiStackGetResultModel.cpu_allocation_ratio` изменен с `float` на `float \| None`. | -| BPYS-258 | Функция API `/cloudapi/stack/get`: тип атрибута `CloudapiStackGetResultModel.mem_allocation_ratio` изменен с `float` на `float \| None`. | +| BPYS-117 | Обновлены системные требования: версия интерпретатора Python обновлена до 3.12. | +| BPYS-102 | Функция `cloudbroker.account.create`: добавлен параметр `zone_ids`. | +| BPYS-102 | Функция `cloudbroker.account.create`: добавлен параметр `default_zone_id`. | +| BPYS-103 | Функция `cloudapi.account.update`: добавлен параметр `default_zone_id`.| +| BPYS-216 | Функция `cloudapi.account.get`: у атрибута `CloudapiAccountGetResultModel.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudapi.account.get`: у атрибута `CloudapiAccountGetResultModel.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-216 | Функция `cloudapi.rg.get`: у атрибута `CloudapiRgGetResultModel.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudapi.rg.get`: у атрибута `CloudapiRgGetResultModel.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-216 | Функция `cloudapi.account.list_deleted`: у атрибута `CloudapiAccountListDeletedResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudapi.account.list_deleted`: у атрибута `CloudapiAccountListDeletedResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-216 | Функция `cloudapi.account.list`: у атрибута `CloudapiAccountListResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudapi.account.list`: у атрибута `CloudapiAccountListResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-216 | Функция `cloudapi.rg.list`: у атрибута `CloudapiRgListResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudapi.rg.list`: у атрибута `CloudapiRgListResultModel.data.vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-216 | Функция `cloudbroker.account.create`: у параметра `vm_features` в перечисляемом типе `VMFeature` было добавлено значение `changemac`. | +| BPYS-216 | Функция `cloudbroker.account.create`: у параметра `vm_features` в перечисляемом типе `VMFeature` было добавлено значение `trunk`. | +| BPYS-104 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.default_zone_id`. | +| BPYS-104 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.zones`. | +| BPYS-160 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.compute.list`: у атрибута `CloudapiComputeListResultModel.data.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.compute.list`: у атрибута `CloudapiComputeListResultModel.data.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.compute.net_attach`: у атрибута `CloudapiComputeNetAttachResultModel.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.compute.net_attach`: у атрибута `CloudapiComputeNetAttachResultModel.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.compute.net_attach`: у параметра `net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.compute.net_attach`: у параметра `net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.kvmx86.create_blank`: у параметра `interfaces` в модели `InterfaceAPIParamsNM`, у атрибута `net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.kvmx86.create_blank`: у параметра `interfaces` в модели `InterfaceAPIParamsNM`, у атрибута `net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.kvmx86.create`: у параметра `interfaces` в модели `InterfaceAPIParamsNM`, у атрибута `net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.kvmx86.create`: у параметра `interfaces` в модели `InterfaceAPIParamsNM`, у атрибута `net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfdev.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfdev.interfaces.net_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.dhcp.owner_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.dhcp.owner_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.gw.owner_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.gw.owner_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.nat.owner_type` в перечисляемом типе `NetType` было добавлено значение `SDN`. | +| BPYS-160 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.nat.owner_type` в перечисляемом типе `NetType` было добавлено значение `TRUNK`. | +| BPYS-105 | Функция `cloudapi.bservice.get`: добавлен атрибут `CloudapiBserviceGetResultModel.zone_id`. | +| BPYS-105 | Функция `cloudapi.bservice.list`: добавлен атрибут `CloudapiBserviceListResultModel.data.zone_id`. | +| BPYS-111 | Функция `cloudapi.bservice.create`: добавлен параметр `zone_id`. | +| BPYS-114 | Функция `cloudapi.lb.create`: добавлен параметр `zone_id`. | +| BPYS-109 | Функция `cloudapi.lb.get`: добавлен атрибут `CloudapiLbGetResultModel.account_id`. | +| BPYS-109 | Функция `cloudapi.lb.get`: добавлен атрибут `CloudapiLbGetResultModel.zone_id`. | +| BPYS-109 | Функция `cloudapi.lb.list`: добавлен атрибут `CloudapiLbListResultModel.data.zone_id`. | +| BPYS-163 | Функция `cloudapi.rg.get`: добавлен атрибут `CloudapiRgGetResultModel.sdn_access_group_id`. | +| BPYS-163 | Функция `cloudapi.rg.list`: добавлен атрибут `CloudapiRgListResultModel.data.sdn_access_group_id`. | +| BPYS-162 | Функция `cloudapi.rg.create`: добавлен параметр `sdn_access_group_id`.| +| BPYS-115 | Функция `cloudapi.vins.create_in_account`: добавлен параметр `zone_id`.| +| BPYS-115 | Функция `cloudapi.vins.create_in_rg`: добавлен параметр `zone_id`.| +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.mtu`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.pre_reservations`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.redundant`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.secondary_vnfdev_id`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.zone_id`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: добавлен атрибут `CloudapiExtnetGetResultModel.network_ids`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.zone_id`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfdev.zone_id`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfdev.interfaces.sdn_logical_port_id`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.gw.zone_id`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.nat.zone_id`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.dhcp.zone_id`. | +| BPYS-113 | Функция `cloudapi.kvmx86.create_blank`: добавлен параметр `zone_id`. | +| BPYS-113 | Функция `cloudapi.kvmx86.create_blank`: у параметра `interfaces` в модели `InterfaceAPIParamsNM` добавлен атрибут `sdn_logical_port_id`. | +| BPYS-113 | Функция `cloudapi.kvmx86.create`: добавлен параметр `zone_id`. | +| BPYS-113 | Функция `cloudapi.kvmx86.create`: у параметра `interfaces` в модели `InterfaceAPIParamsNM` добавлен атрибут `sdn_logical_port_id`. | +| BPYS-198 | Функция `cloudapi.account.delete`: тип который возвращает функция изменен с `CloudapiAccountDeleteResultBool` на `CloudapiAccountDeleteResultStr`. | +| BPYS-140 | Функция `cloudapi.bservice.get`: у атрибута `CloudapiBserviceGetResultModel.vms.tech_status` в перечисляемом типе `VMTechStatus` было добавлено значение `MERGE`. | +| BPYS-140 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.tech_status` в перечисляемом типе `VMTechStatus` было добавлено значение `MERGE`. | +| BPYS-140 | Функция `cloudapi.compute.list`: у атрибута `CloudapiComputeListResultModel.data.tech_status` в перечисляемом типе `VMTechStatus` было добавлено значение `MERGE`. | +| BPYS-140 | Функция `cloudapi.compute.list`: у параметра `tech_status` в перечисляемом типе `VMTechStatus` было добавлено значение `MERGE`. | +| BPYS-199 | Функция `cloudapi.account.restore`: тип который возвращает функция изменен с `CloudapiAccountRestoreResultBool` на `CloudapiAccountRestoreResultStr`. | +| BPYS-161 | Функция `cloudapi.compute.net_attach`: добавлен параметр `sdn_logical_port_id`. | +| BPYS-106 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.interfaces.sdn_logical_port_id`. | +| BPYS-106 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.interfaces.trunk_vlan_ids`. | +| BPYS-106 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.live_migration_job_id`. | +| BPYS-106 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.guest_agent`. | +| BPYS-106 | Функция `cloudapi.compute.list`: добавлен атрибут `CloudapiComputeListResultModel.data.zone_id`. | +| BPYS-106 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.interfaces.sdn_logical_port_id`. | +| BPYS-106 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.interfaces.trunk_vlan_ids`. | +| BPYS-106 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.live_migration_job_id`. | +| BPYS-106 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.guest_agent`. | +| BPYS-106 | Функция `cloudapi.compute.get`: добавлен атрибут `CloudapiComputeGetResultModel.zone_id`. | +| BPYS-106 | Функция `cloudapi.compute.get`: тип атрибута `CloudapiComputeGetResultModel.acl` изменен с `VMACLForComputeGetAPIResultNM` на `VMACLAPIResultNM`. | +| BPYS-106 | Функция `cloudapi.compute.user_list`: тип атрибута `CloudapiComputeUserListResultModel.data` изменен с `VMACLForComputeUserListAPIResultNM` на `VMACLAPIResultNM`. | +| BPYS-184 | Добавлены функции `cloudapi.k8s.create`, `cloudapi.k8s.delete`, `cloudapi.k8s.get`, `cloudapi.k8s.list`, `cloudapi.k8s.list_deleted`, `cloudapi.k8s.restore`. | +| BPYS-290 | Функция `cloudapi.image.list`: тип атрибута `CloudapiImageListResultModel.data.virtual` изменен с `bool` на `bool \| None`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.dhcp.devices.secondary`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.gw.devices.secondary`. | +| BPYS-110 | Функция `cloudapi.vins.get`: добавлен атрибут `CloudapiVinsGetResultModel.vnfs.nat.devices.secondary`. | +| BPYS-294 | Функция `cloudapi.locations.list`: добавлен атрибут `CloudapiLocationsListResultModel.data.network_modes`. | +| BPYS-295 | Функция `cloudapi.locations.list`: добавлен атрибут `CloudapiLocationsListResultModel.data.sdn_support`. | +| BPYS-165 | Добавлены функции `cloudapi.lb.enable`, `cloudapi.lb.disable`. | +| BPYS-191 | Добавлена функция `cloudapi.k8s.get_config`. | +| BPYS-167 | Добавлена функция `cloudapi.lb.make_highly_available`. | +| BPYS-186 | Добавлены функции `cloudapi.k8s.worker_reset`, `cloudapi.k8s.worker_restart`. | +| BPYS-187 | Добавлены функции `cloudapi.k8s.workers_group_add`, `cloudapi.k8s.workers_group_delete`, `cloudapi.k8s.workers_group_get_by_name` . | +| BPYS-306 | Функция `cloudapi.account.get`: добавлен атрибут `CloudapiAccountGetResultModel.acl.emails`. | +| BPYS-298 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.disks.status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.get`: у атрибута `CloudapiDisksGetResultModel.status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.list_deleted`: у атрибута `CloudapiDisksListDeletedResultModel.data.status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.list_unattached`: у атрибута `CloudapiDisksListUnattachedResultModel.data.status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.list_unattached`: у параметра `status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.list`: у атрибута `CloudapiDisksListResultModel.data.status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-298 | Функция `cloudapi.disks.list`: у параметра `status` в перечисляемом типе `DiskStatus` добавлены значения `BACKUP_RUNNING`, `CLONING`, `MERGE`, `MIGRATING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.bservice.get`: у атрибута `CloudapiBserviceGetResultModel.vms.tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.compute.list`: у атрибута `CloudapiComputeListResultModel.data.tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.compute.list`: у параметра `tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.k8s.get`: у атрибута `CloudapiK8sGetResultModel.node_groups.master.vms.tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-301 | Функция `cloudapi.k8s.get`: у атрибута `CloudapiK8sGetResultModel.node_groups.worker.vms.tech_status` в перечисляемом типе `VMTechStatus` добавлены значения `CLONING`, `ROLLBACK`, `SNAPCREATE`. | +| BPYS-178 | Функция `cloudapi.account.add_user`: добавлен параметр `user_name` в связи с переименованием из `user_id`. | +| BPYS-178 | Функция `cloudapi.account.delete_user`: добавлен параметр `user_name` в связи с переименованием из `user_id`. | +| BPYS-178 | Функция `cloudapi.account.update_user`: добавлен параметр `user_name` в связи с переименованием из `user_id`. | +| BPYS-178 | Добавлена функция `cloudapi.user.api_list`. | +| BPYS-90 | Добавлены функции `cloudapi.dpdknet.get`, `cloudapi.dpdknet.list`. | ## Удалено ### Функциональный интерфейс | Идентификатор
задачи | Описание | | --- | --- | -| BPYS-47 | Функция API `/cloudapi/rg/create`: удален параметр `register_computes`. | -| BPYS-208 | Функция API `/cloudapi/disks/create`: удален параметр `grid_id`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.disks.order`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.pinned` в связи с переименованием в `pinned_to_stack`. | -| BPYS-25 | Функция API `/cloudapi/compute/get`: удален атрибут `CloudapiComputeGetResultModel.registered`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.disks.bus_number`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.disks.pci_slot`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.pinned` в связи с переименованием в `pinned_to_stack`. | -| BPYS-25 | Функция API `/cloudapi/compute/list`: удален атрибут `CloudapiComputeListResultModel.data.registered`. | -| BPYS-25 | Функция API `/cloudapi/disks/get`: удален атрибут `CloudapiDisksGetResultModel.order`. | -| BPYS-25 | Функция API `/cloudapi/disks/list`: удален атрибут `CloudapiDisksListResultModel.data.order`. | -| BPYS-25 | Функция API `/cloudapi/image/create`: у параметра `boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | -| BPYS-25 | Функция API `/cloudapi/image/get`: у атрибута `CloudapiImageGetResultModel.boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | -| BPYS-25 | Функция API `/cloudapi/image/list`: у атрибута `CloudapiImageListResultModel.data.boot_loader_type` в перечисляемом типе `BootLoaderType` было удалено значение `other` в связи с переименованием в `unknown` . | -| BPYS-46 | Функция API `/cloudapi/rg/list`: удалён атрибут `CloudapiRgListResultModel.data.register_computes`. | -| BPYS-46 | Функция API `/cloudapi/rg/get`: удалён атрибут `CloudapiRgGetResultModel.register_computes`. | -| BPYS-53 | Функция API `/cloudapi/rg/update`: удален параметр `register_computes`. | -| BPYS-64 | Функция API `/cloudapi/disks/listDeleted`: удален атрибут `CloudapiDisksListDeletedResultModel.data.order`. | +| BPYS-125 | Функция `cloudapi.flipgroup.create`: удален параметр `client_type`. | +| BPYS-107 | Функция `cloudapi.extnet.get`: удален атрибут `CloudapiExtnetGetResultModel.network_id` . | +| BPYS-158 | Функция `cloudapi.tasks.get`: удален атрибут `CloudapiTasksGetResultModel.guid`. | +| BPYS-158 | Функция `cloudapi.tasks.list`: удален атрибут `CloudapiTasksListResultModel.data.guid`. | +| BPYS-253 | Функция `cloudapi.account.disable`: удален параметр `reason`.| +| BPYS-284 | Функция `cloudapi.disks.list_unattached`: удален атрибут `CloudapiDisksListUnattachedResultModel.data.pci_slot` . | +| BPYS-284 | Функция `cloudapi.disks.list_unattached`: удален атрибут `CloudapiDisksListUnattachedResultModel.data.vm_id` . | +| BPYS-290 | Функция `cloudapi.image.list`: удален атрибут `CloudapiImageListResultModel.data.arch`. | +| BPYS-178 | Функция `cloudapi.account.add_user`: удален параметр `user_id` в связи с переименованием в `user_name`. | +| BPYS-178 | Функция `cloudapi.account.delete_user`: удален параметр `user_id` в связи с переименованием в `user_name`. | +| BPYS-178 | Функция `cloudapi.account.update_user`: удален параметр `user_id` в связи с переименованием в `user_name`. | ## Исправлено ### Функциональный интерфейс | Идентификатор
задачи | Описание | | --- | --- | -| BPYS-238 | Функция API `cloudapi/flipgroup/create`: у параметра `client_type` исправлена ошибка в значении по умолчанию. | -| BPYS-220 | Функция API `/cloudapi/compute/pfwAdd`: удалено значение по умолчанию для параметра `protocol`. | -| BPYS-239 | Функция API `cloudapi/flipgroup/create`: при вызове функции, возникала ошибка валидации атрибута `CloudapiFlipgroupCreateResultModel.ip_addr`. | +| BPYS-311 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.disks.status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.get`: у атрибута `CloudapiDisksGetResultModel.status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.list_deleted`: у атрибута `CloudapiDisksListDeletedResultModel.data.status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.list_unattached`: у атрибута `CloudapiDisksListUnattachedResultModel.data.status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.list_unattached`: у параметра `status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.list`: у атрибута `CloudapiDisksListResultModel.data.status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.disks.list`: у параметра `status` в перечисляемом типе `DiskStatus` добавлено значение `CREATING`. | +| BPYS-311 | Функция `cloudapi.compute.get`: у атрибута `CloudapiComputeGetResultModel.disks.status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.get`: у атрибута `CloudapiDisksGetResultModel.status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.list_deleted`: у атрибута `CloudapiDisksListDeletedResultModel.data.status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.list_unattached`: у атрибута `CloudapiDisksListUnattachedResultModel.data.status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.list_unattached`: у параметра `status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.list`: у атрибута `CloudapiDisksListResultModel.data.status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-311 | Функция `cloudapi.disks.list`: у параметра `status` в перечисляемом типе `DiskStatus` удалено значение `DESTROYING`. | +| BPYS-312 | В перечисляемом типе `VNFDevStatus` удалены значения `ENABLED`, `DISABLED`, `STASHED`. | +| BPYS-312 | В перечисляемом типе `VNFDevTechStatus` добавлены значения `DOWN`, `MIGRATING`, `SCHEDULED`. | +| BPYS-312 | В перечисляемом типе `TaskStatus` добавлены значения `ABORTED`, `CLEANUPED`, `SCHEDULED`. | +| BPYS-312 | В перечисляемом типе `PhysicalNodeStatus` добавлено значение `ERROR`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.dhcp.status` перечисляемый тип изменен с `VNFDevStatus` на `VNFStatus`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.dhcp.tech_status` перечисляемый тип изменен с `VNFDevTechStatus` на `VNFTechStatus`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.gw.status` перечисляемый тип изменен с `VNFDevStatus` на `VNFStatus`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.gw.tech_status` перечисляемый тип изменен с `VNFDevTechStatus` на `VNFTechStatus`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.nat.status` перечисляемый тип изменен с `VNFDevStatus` на `VNFStatus`. | +| BPYS-312 | Функция `cloudapi.vins.get`: у атрибута `CloudapiVinsGetResultModel.vnfs.nat.tech_status` перечисляемый тип изменен с `VNFDevTechStatus` на `VNFTechStatus`. | diff --git a/README.md b/README.md index 0fad997..0564c64 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ | Версия платформы | Версия SDK | | --- | --- | +| 4.4.0 build 963 | 1.2.x | | 4.3.0 | 1.1.x | | 4.2.0 | 1.0.x | @@ -612,6 +613,13 @@ except RequestException as e: +
dpdknet + +- /cloudapi/dpdknet/get +- /cloudapi/dpdknet/list + +
+
extnet - /cloudapi/extnet/get @@ -652,6 +660,23 @@ except RequestException as e:
+
k8s + +- /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 + +
+
kvmx86 - /cloudapi/kvmx86/create @@ -669,6 +694,8 @@ 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 @@ -677,6 +704,7 @@ except RequestException as e: - /cloudapi/lb/get - /cloudapi/lb/list - /cloudapi/lb/listDeleted +- /cloudapi/lb/makeHighlyAvailable
@@ -720,6 +748,7 @@ except RequestException as e:
user +- /cloudapi/user/apiList - /cloudapi/user/get - /cloudapi/user/getAudit diff --git a/pyproject.toml b/pyproject.toml index b2b086b..9455c0d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,15 @@ [project] name = "dynamix-sdk" -authors = [{name = "Dmitriy Smirnov"}] -version = "1.1.0" +authors = [ + {name = "Dmitriy Smirnov"}, + {name = "Vladislav Nesterov"}, + {name = "Stanislav Karimov"}, +] +version = "1.2.0" readme = "README.md" -requires-python = ">=3.10.12" +requires-python = ">=3.12" dependencies = [ "requests>=2.32.3", diff --git a/src/dynamix_sdk/api/_nested/enums.py b/src/dynamix_sdk/api/_nested/enums.py index 559f172..369d22e 100644 --- a/src/dynamix_sdk/api/_nested/enums.py +++ b/src/dynamix_sdk/api/_nested/enums.py @@ -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() @@ -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() @@ -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() @@ -434,6 +466,8 @@ class DHCPReservationType(str, _AutoNameEnum): class TaskStatus(str, _AutoNameEnum): + ABORTED = _enum_auto() + CLEANUPED = _enum_auto() ERROR = _enum_auto() OK = _enum_auto() PROCESSING = _enum_auto() @@ -453,3 +487,32 @@ class K8CIStatus(str, _AutoNameEnum): 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() diff --git a/src/dynamix_sdk/api/_nested/params.py b/src/dynamix_sdk/api/_nested/params.py index 2a8ef39..edeb5f8 100644 --- a/src/dynamix_sdk/api/_nested/params.py +++ b/src/dynamix_sdk/api/_nested/params.py @@ -15,6 +15,7 @@ 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 diff --git a/src/dynamix_sdk/api/_nested/result.py b/src/dynamix_sdk/api/_nested/result.py index f5e060c..f0c08b8 100644 --- a/src/dynamix_sdk/api/_nested/result.py +++ b/src/dynamix_sdk/api/_nested/result.py @@ -14,6 +14,7 @@ class AccessAPIResultNM(_base.BaseAPIResultNestedModel): user_group_id: str can_be_deleted: None | bool = None + emails: list[str] | None = None class AffinityRuleAPIResultNM(_base.BaseAPIResultNestedModel): @@ -32,9 +33,7 @@ class QOSAPIResultNM(_base.BaseAPIResultNestedModel): ingress_rate: int -class VMACLForComputeGetAPIResultNM( # BDX-8459 - _base.BaseAPIResultNestedModel -): +class VMACLAPIResultNM(_base.BaseAPIResultNestedModel): account: list[AccessAPIResultNM] vm: list[AccessAPIResultNM] rg: list[AccessAPIResultNM] @@ -50,7 +49,7 @@ class LibvirtSettingsAPIResultNM(_base.BaseAPIResultNestedModel): tx_queue_size: int -class BaseInterfaceAPIResultNM(_base.BaseAPIResultNestedModel): +class InterfaceForComputeListAPIResultNM(_base.BaseAPIResultNestedModel): bus_number: int conn_id: int conn_type: str @@ -66,24 +65,67 @@ class BaseInterfaceAPIResultNM(_base.BaseAPIResultNestedModel): name: str net_id: int net_mask: int + net_type: _enums.NetType node_id: int pci_slot: int + sdn_logical_port_id: str target: str + trunk_vlan_ids: str | None = None type: str vnf_ids: list[int] -class InterfaceForComputeListAPIResultNM(BaseInterfaceAPIResultNM): +class InterfaceForComputeGetAPIResultNM(_base.BaseAPIResultNestedModel): + bus_number: int + conn_id: int + conn_type: str + default_gw: str + enabled: bool + flip_group_id: int + guid: str + ip_addr: str + libvirt_settings: LibvirtSettingsAPIResultNM + listen_ssh: bool + mac: str + mtu: int + name: str + net_id: int + net_mask: int net_type: _enums.NetType - - -class InterfaceForComputeGetAPIResultNM(InterfaceForComputeListAPIResultNM): + node_id: int + pci_slot: int + sdn_logical_port_id: str qos: QOSAPIResultNM + target: str + trunk_vlan_ids: str | None = None + type: str + vnf_ids: list[int] -class VNFDevInterfaceAPIResultNM(BaseInterfaceAPIResultNM): +class VNFDevInterfaceAPIResultNM(_base.BaseAPIResultNestedModel): + bus_number: int + conn_id: int + conn_type: str + default_gw: str + enabled: bool + flip_group_id: int + guid: str + ip_addr: str + libvirt_settings: LibvirtSettingsAPIResultNM + listen_ssh: bool + mac: str + mtu: int + name: str + net_id: int + net_mask: int net_type: _EmptyStr | _enums.NetType + node_id: int + pci_slot: int qos: QOSAPIResultNM + sdn_logical_port_id: str + target: str + type: str + vnf_ids: list[int] class SnapshotSetAPIResultNM(_base.BaseAPIResultNestedModel): @@ -144,30 +186,36 @@ class DiskForCAComputeListAPIResultNM(_base.BaseAPIResultNestedModel): id: int -class BaseDiskAPIResultNM(_base.BaseAPIResultNestedModel): - created_by: str - deleted_by: str - updated_by: str - - -class DiskAPIResultNM(_base.BaseAPIResultNestedModel): +class DiskForCAComputeGetAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int acl: dict + boot_partition: int + bus_number: int + created_by: str created_timestamp: int + deleted_by: str deleted_timestamp: int description: str destruction_timestamp: int + disk_path: str grid_id: int + guid: int + id: int id: int image_id: int image_ids: list[int] io_tune: IOTuneAPIResultNM + iqn: str + login: str + milestones: int name: str params: str parent_id: int - size_available: float + password: str + pci_slot: int present_to: dict[str, int] purge_timestamp: int + reality_device_number: int replication: ReplicationAPIResultNM | dict res_id: str role: str @@ -175,16 +223,16 @@ class DiskAPIResultNM(_base.BaseAPIResultNestedModel): sep_pool_name: str shared: bool size_available: float + size_available: float size_max_gb: int size_used: float snapshots: list[SnapshotAPIResultNM] status: _enums.DiskStatus tech_status: _enums.DiskTechStatus type: _enums.DiskType + updated_by: str + updated_by: str updated_timestamp: int = 0 - order_depr_: int | None = None # BDX-8545 - pci_slot_depr_: int | None = None # BDX-8545 - vm_id_depr_: int | None = None # BDX-8545 @property def created_datetime(self): @@ -207,56 +255,135 @@ class DiskAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.updated_timestamp) -class BaseDiskForCADisksAPIResultNM(DiskAPIResultNM): +class DiskForListAndListDeletedAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int account_name: str - res_name: str - - -class DiskForCAComputeGetAPIResultNM( - BaseDiskAPIResultNM, - DiskAPIResultNM, -): - boot_partition: int - bus_number: int - id: int - pci_slot: int - disk_path: str - guid: int - iqn: str - login: str - milestones: int - password: str - reality_device_number: int - updated_by: str - - -class DiskForListAndListDeletedAPIResultNM( - BaseDiskForCADisksAPIResultNM, - BaseDiskAPIResultNM, -): + 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: IOTuneAPIResultNM milestones: int + name: str + params: str + parent_id: int + present_to: dict[str, int] + purge_timestamp: int + replication: ReplicationAPIResultNM | dict + res_id: str + res_name: str + role: str + sep_id: int + sep_pool_name: str sep_type: _enums.SEPType + shared: bool + size_available: float + size_available: float + size_max_gb: int + size_used: float + snapshots: list[SnapshotAPIResultNM] + status: _enums.DiskStatus + tech_status: _enums.DiskTechStatus + type: _enums.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) -class DiskForListUnattachedAPIResultNM( - BaseDiskForCADisksAPIResultNM, -): + @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 DiskForListUnattachedAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int + account_name: str + acl: dict boot_partition: int + created_timestamp: int + deleted_timestamp: int + description: str + destruction_timestamp: int disk_path: str + grid_id: int guid: int + id: int + image_id: int + image_ids: list[int] + io_tune: IOTuneAPIResultNM iqn: str login: str milestones: int + name: str + params: str + parent_id: int password: str - pci_slot: int + present_to: dict[str, int] purge_attempt_count: int + purge_timestamp: int reality_device_number: int reference_id: str - vm_id: int + replication: ReplicationAPIResultNM | dict + res_id: str + res_name: str + role: str + sep_id: int + sep_pool_name: str + shared: bool + size_available: float + size_available: float + size_max_gb: int + size_used: float + snapshots: list[SnapshotAPIResultNM] + status: _enums.DiskStatus + tech_status: _enums.DiskTechStatus + type: _enums.DiskType + updated_timestamp: int = 0 + + @property + 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 TenantQuotasAPIResultNM(_base.BaseAPIResultNestedModel): @@ -291,6 +418,7 @@ class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel): name: str quotas: TenantQuotasAPIResultNM resource_types: list[_enums.RGResourceType] + sdn_access_group_id: str secret: str status: _enums.ResourceGroupStatus uniq_pools: list[str] @@ -338,9 +466,22 @@ class AccountAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.updated_timestamp) -class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): +class GuestAgentAPIResultNM(_base.BaseAPIResultNestedModel): + enabled: bool + available_commands: list[str] + guid: str | None = None + last_update_timestamp: int + user_name: str + + @property + def last_update_datetime(self): + return self._get_datetime_from_timestamp(self.last_update_timestamp) + + +class VMAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str + acl: list[_typing.Any] # BDX-7995 affinity_label: str affinity_rules: list[AffinityRuleAPIResultNM] affinity_weight: int @@ -349,15 +490,12 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): auto_start: bool boot_disk_size_gb: int boot_loader_type: _enums.BootLoaderType + boot_mode: _enums.BootMode boot_order: list[_enums.BootDevice] cdrom_image_id: int chipset: _enums.Chipset clone_ids: list[int] clone_reference: int - boot_mode: _enums.BootMode - network_interface_naming: _enums.NetIfaceNamingTemplate - hot_resize: bool - vm_ci_id: int cpu_count: int cpu_pin: bool created_by: str @@ -367,12 +505,16 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): deleted_timestamp: int description: str devices: dict + disks: list[DiskForCAComputeListAPIResultNM] driver: _enums.Driver grid_id: int guid: int + hot_resize: bool hp_backed: bool id: int image_id: int + interfaces: list[InterfaceForComputeListAPIResultNM] + live_migration_job_id: int lock_status: _enums.LockStatus manager_id: int manager_type: str @@ -380,6 +522,7 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): milestones: int name: str need_reboot: bool + network_interface_naming: _enums.NetIfaceNamingTemplate numa_affinity: _enums.NumaAffinity numa_node_id: int pinned_to_stack: bool @@ -396,11 +539,16 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): status: _enums.VMStatus tags: dict tech_status: _enums.VMTechStatus + total_disks_size: int updated_by: str updated_timestamp: int user_managed: bool vgpus: list[dict[str, _typing.Any]] + vins_count: int virtual_image_id: int + vm_ci_id: int + guest_agent: GuestAgentAPIResultNM + zone_id: int @property def created_datetime(self): @@ -415,24 +563,16 @@ class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.updated_timestamp) -class VMAPIResultNM(BaseVMAPIResultNM): - acl: list[_typing.Any] # BDX-7995 - disks: list[DiskForCAComputeListAPIResultNM] - interfaces: list[InterfaceForComputeListAPIResultNM] - total_disks_size: int - vins_count: int - - class VMCountsAPIResultNM(_base.BaseAPIResultNestedModel): started: int stopped: int -class BaseImageAPIResultNM(_base.BaseAPIResultNestedModel): +class ImageForListAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int - arch: str boot_mode: _enums.BootMode | _EmptyStr | None bootable: bool + cdrom: bool description: str drivers: list[_enums.Driver] hot_resize: bool @@ -446,6 +586,7 @@ class BaseImageAPIResultNM(_base.BaseAPIResultNestedModel): size_gb: int status: _enums.ImageStatus type: _enums.ImageType + virtual: bool | None = None @property def boot_loader_type(self): @@ -453,11 +594,6 @@ class BaseImageAPIResultNM(_base.BaseAPIResultNestedModel): return _enums.BootLoaderType[self.type] -class ImageForListAPIResultNM(BaseImageAPIResultNM): - cdrom: bool - virtual: bool - - class ImageHistoryRecordAPIResultNM(_base.BaseAPIResultNestedModel): guid: str id: int @@ -473,13 +609,16 @@ class VINSVMAPIResultNM(_base.BaseAPIResultNestedModel): name: str -class BaseVINSAPIResultNM(_base.BaseAPIResultNestedModel): +class VINSForListAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str created_by: str created_timestamp: int deleted_by: str deleted_timestamp: int + ext_net_id: int + ext_net_ip: str + free_ip_count: int id: int name: str net_ip: str @@ -503,15 +642,36 @@ class BaseVINSAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.updated_timestamp) -class VINSForListAPIResultNM(BaseVINSAPIResultNM): - ext_net_id: int +class VINSForListDeletedAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int + account_name: str + created_by: str + created_timestamp: int + deleted_by: str + deleted_timestamp: int ext_net_ip: str - free_ip_count: int + id: int + name: str + net_ip: str + primary_vnfdev_id: int + rg_id: int + rg_name: str + status: _enums.VINSStatus + updated_by: str + updated_timestamp: int + vxlan_id: int + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) -class VINSForListDeletedAPIResultNM(BaseVINSAPIResultNM): - ext_net_ip: str - primary_vnfdev_id: int + @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 VNFHostDeviceAPIResultNM(_base.BaseAPIResultNestedModel): @@ -522,6 +682,7 @@ class VNFHostDeviceAPIResultNM(_base.BaseAPIResultNestedModel): class VNFHostDevicesAPIResultNM(_base.BaseAPIResultNestedModel): primary: VNFHostDeviceAPIResultNM + secondary: VNFHostDeviceAPIResultNM | None = None class RouteAPIResultNM(_base.BaseAPIResultNestedModel): @@ -533,28 +694,6 @@ class RouteAPIResultNM(_base.BaseAPIResultNestedModel): vm_ids: list[int] -class BaseVNFAPIResultNM(_base.BaseAPIResultNestedModel): - account_id: int - created_timestamp: int - devices: VNFHostDevicesAPIResultNM - grid_id: int - guid: int - id: int - lock_status: _enums.LockStatus - milestones: int - owner_id: int - owner_type: _enums.NetType - pure_virtual: bool - routes: list[RouteAPIResultNM] - status: _enums.VNFDevStatus - tech_status: _enums.VNFDevTechStatus - type: _enums.VNFType - - @property - def created_datetime(self): - return self._get_datetime_from_timestamp(self.created_timestamp) - - class DHCPReservationAPIResultNM(_base.BaseAPIResultNestedModel): ip_addr: str mac: str @@ -603,16 +742,76 @@ class NATVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel): rules: list[NATRuleAPIResultNM] -class DHCPVNFAPIResultNM(BaseVNFAPIResultNM): +class DHCPVNFAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int config: DHCPVNFConfigAPIResultNM + created_timestamp: int + devices: VNFHostDevicesAPIResultNM + grid_id: int + guid: int + id: int + lock_status: _enums.LockStatus + milestones: int + owner_id: int + owner_type: _enums.NetType + pure_virtual: bool + routes: list[RouteAPIResultNM] + status: _enums.VNFStatus + tech_status: _enums.VNFTechStatus + type: _enums.VNFType + zone_id: int + + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) -class GWVNFAPIResultNM(BaseVNFAPIResultNM): +class GWVNFAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int config: GWVNFConfigAPIResultNM + created_timestamp: int + devices: VNFHostDevicesAPIResultNM + grid_id: int + guid: int + id: int + lock_status: _enums.LockStatus + milestones: int + owner_id: int + owner_type: _enums.NetType + pure_virtual: bool + routes: list[RouteAPIResultNM] + status: _enums.VNFStatus + tech_status: _enums.VNFTechStatus + type: _enums.VNFType + zone_id: int + + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) -class NATVNFAPIResultNM(BaseVNFAPIResultNM): +class NATVNFAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int config: NATVNFConfigAPIResultNM + created_timestamp: int + devices: VNFHostDevicesAPIResultNM + grid_id: int + guid: int + id: int + lock_status: _enums.LockStatus + milestones: int + owner_id: int + owner_type: _enums.NetType + pure_virtual: bool + routes: list[RouteAPIResultNM] + status: _enums.VNFStatus + tech_status: _enums.VNFTechStatus + type: _enums.VNFType + zone_id: int + + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) class VNFSAPIResultNM(_base.BaseAPIResultNestedModel): @@ -659,6 +858,7 @@ class VNFDevAPIResultNM(_base.BaseAPIResultNestedModel): type: _enums.VNFDevType vins_ids: list[int] vnc_password: str + zone_id: int class BServiceGroupAPIResultNM(_base.BaseAPIResultNestedModel): @@ -695,7 +895,7 @@ class BServiceSnapshotAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.timestamp) -class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel): +class BServiceAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str base_domain: str @@ -704,6 +904,7 @@ class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel): deleted_by: str deleted_timestamp: int grid_id: int + group_ids: list[int] guid: int id: int name: str @@ -717,6 +918,7 @@ class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel): updated_by: str updated_timestamp: int user_managed: bool + zone_id: int @property def created_datetime(self): @@ -731,18 +933,16 @@ class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.updated_timestamp) -class BServiceForListAPIResultNM(BaseBServiceAPIResultNM): - group_ids: list[int] - - class BServiceGroupOSUserAPIResultNM(_base.BaseAPIResultNestedModel): login: str password: str -class OSUserAPIResultNM(BServiceGroupOSUserAPIResultNM): - pub_key: str +class OSUserAPIResultNM(_base.BaseAPIResultNestedModel): guid: str + login: str + password: str + pub_key: str class BServiceGroupVMAPIResultNM(_base.BaseAPIResultNestedModel): @@ -759,7 +959,7 @@ class ExtNetForListAPIResultNM(_base.BaseAPIResultNestedModel): status: _enums.ExtNetStatus -class BaseFlipGroupAPIResultNM(_base.BaseAPIResultNestedModel): +class FlipGroupForListAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int client_ids: list[int] client_type: _enums.FlipGroupClientType @@ -774,14 +974,11 @@ class BaseFlipGroupAPIResultNM(_base.BaseAPIResultNestedModel): milestones: int name: str net_id: int + net_mask: int net_type: _enums.FlipGroupNetType status: _enums.FlipGroupStatus -class FlipGroupForListAPIResultNM(BaseFlipGroupAPIResultNM): - net_mask: int - - class LBNodeAPIResultNM(_base.BaseAPIResultNestedModel): backend_ip_addr: str frontend_ip_addr: str @@ -867,6 +1064,7 @@ class LBAPIResultNM(_base.BaseAPIResultNestedModel): updated_timestamp: int user_managed: bool vins_id: int + zone_id: int @property def created_datetime(self): @@ -908,6 +1106,8 @@ class LocationAPIResultNM(_base.BaseAPIResultNestedModel): id: int location_code: str name: str + network_modes: list[str] + sdn_support: bool class AffinityRelationsAPIResultNM(_base.BaseAPIResultNestedModel): @@ -919,17 +1119,8 @@ class AffinityRelationsAPIResultNM(_base.BaseAPIResultNestedModel): other_node_indirect_soft: list[int] -class VMACLForComputeUserListAPIResultNM( # BDX-8459 - _base.BaseAPIResultNestedModel -): - account: list[AccessAPIResultNM] - vm: list[AccessAPIResultNM] - rg: list[AccessAPIResultNM] - - class TaskAPIResultNM(_base.BaseAPIResultNestedModel): audit_guid: str - guid: None | str = None # BDX-8474 completed: bool created_timestamp: int error: str @@ -963,18 +1154,187 @@ class UserAuditAPIResultNM(_base.BaseAPIResultNestedModel): return self._get_datetime_from_timestamp(self.request_timestamp) -class BaseK8CIAPIResultNM(_base.BaseAPIResultNestedModel): +class K8CIForListAPIResultNM(_base.BaseAPIResultNestedModel): + created_timestamp: int + description: str id: int name: str + network_plugins: list[_enums.K8sNetworkPlugin] + status: _enums.K8CIStatus version: str + + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) + + +class ZoneAPIResultNM(_base.BaseAPIResultNestedModel): + id: int + name: str + + +class NetworkIDsAPIResultNM(_base.BaseAPIResultNestedModel): + primary: int + secondary: int + + +class K8sVMAPIResultNM(_base.BaseAPIResultNestedModel): + id: int + name: str + status: _enums.VMStatus + tech_status: _enums.VMTechStatus + + +class WorkerGroupAPIResultNM(_base.BaseAPIResultNestedModel): + id: int + guid: str + labels: list[str] + taints: list[str] + annotations: list[str] + + +class K8sNodeGroupAPIResultNM(_base.BaseAPIResultNestedModel): + vms: list[K8sVMAPIResultNM] + id: int + node_count: int + node_cpu_count: int + node_ram_size_mb: int + node_boot_disk_size_gb: int + name: str + labels: list[str] | None = None + taints: list[str] | None = None + annotations: list[str] | None = None + + +class K8sNodeGroupsAPIResultNM(_base.BaseAPIResultNestedModel): + master: K8sNodeGroupAPIResultNM + worker: list[K8sNodeGroupAPIResultNM] + + +class K8sACLAPIResultNM(_base.BaseAPIResultNestedModel): + account: list[AccessAPIResultNM] + k8s: list[AccessAPIResultNM] + rg: list[AccessAPIResultNM] + + +class LBHAIPsAPIResultNM(_base.BaseAPIResultNestedModel): + backend: str + frontend: str + + +class K8sServiceAccountAPIResultNM(_base.BaseAPIResultNestedModel): + guid: str + password: str + user_name: str + + +class K8sListAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int + account_name: str + acl: list[K8sACLAPIResultNM] + bservice_id: int + k8ci_id: int + config: dict + created_by: str + created_timestamp: int + deleted_by: str + deleted_timestamp: int description: str - network_plugins: list[_enums.K8sNetworkPlugin] + ext_net_id: int + grid_id: int + guid: int + id: int + lb_id: int + milestones: int + name: str + network_plugin: _enums.K8sNetworkPlugin + rg_id: int + rg_name: str + service_account: K8sServiceAccountAPIResultNM + status: _enums.K8sStatus + tech_status: _enums.K8sTechStatus + updated_by: str + updated_timestamp: int + vins_id: int + worker_groups: list[WorkerGroupAPIResultNM] + zone_id: int + @property + def created_datetime(self): + return self._get_datetime_from_timestamp(self.created_timestamp) -class K8CIForListAPIResultNM(BaseK8CIAPIResultNM): - status: _enums.K8CIStatus + @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 K8sListDeletedAPIResultNM(_base.BaseAPIResultNestedModel): + account_id: int + account_name: str + acl: list[K8sACLAPIResultNM] + bservice_id: int + k8ci_id: int + config: dict + created_by: str created_timestamp: int + deleted_by: str + deleted_timestamp: int + description: str + ext_net_id: int + grid_id: int + guid: int + id: int + lb_id: int + milestones: int + name: str + network_plugin: _enums.K8sNetworkPlugin + rg_id: int + rg_name: str + service_account: K8sServiceAccountAPIResultNM + status: _enums.K8sStatus + tech_status: _enums.K8sTechStatus + updated_by: str + updated_timestamp: int + vins_id: int + worker_groups: list[WorkerGroupAPIResultNM] + 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 DPDKNetAPIResultNM(_base.BaseAPIResultNestedModel): + account_ids: list[int] + created_timestamp: int + description: str + grid_id: int + guid: int + id: int + name: str + ovs_bridge: str + rg_ids: list[int] + status: _enums.DPDKNetStatus + updated_timestamp: int + vlan_id: int + vm_ids: list[int] @property def created_datetime(self): return self._get_datetime_from_timestamp(self.created_timestamp) + + @property + def updated_datetime(self): + return self._get_datetime_from_timestamp(self.updated_timestamp) diff --git a/src/dynamix_sdk/api/cloudapi/_api.py b/src/dynamix_sdk/api/cloudapi/_api.py index cc65fe2..72a1b19 100644 --- a/src/dynamix_sdk/api/cloudapi/_api.py +++ b/src/dynamix_sdk/api/cloudapi/_api.py @@ -4,10 +4,12 @@ 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 * @@ -24,10 +26,12 @@ class CloudapiAPI(_base.BaseAPI): bservice: CloudapiBserviceAPI compute: CloudapiComputeAPI disks: CloudapiDisksAPI + dpdknet: CloudapiDpdknetAPI extnet: CloudapiExtnetAPI flipgroup: CloudapiFlipgroupAPI image: CloudapiImageAPI k8ci: CloudapiK8ciAPI + k8s: CloudapiK8sAPI kvmx86: CloudapiKvmx86API lb: CloudapiLbAPI locations: CloudapiLocationsAPI diff --git a/src/dynamix_sdk/api/cloudapi/account/add_user.py b/src/dynamix_sdk/api/cloudapi/account/add_user.py index 399e697..8b878d1 100644 --- a/src/dynamix_sdk/api/cloudapi/account/add_user.py +++ b/src/dynamix_sdk/api/cloudapi/account/add_user.py @@ -12,6 +12,6 @@ class CloudapiAccountAddUserProtocol(_base.BasePostAPIFunctionProtocol): *, account_id: int, access_type: _nested.AccessTypeForSet, - user_id: str, + user_name: str, ) -> CloudapiAccountAddUserResultBool: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/delete.py b/src/dynamix_sdk/api/cloudapi/account/delete.py index 0dceb92..2173f64 100644 --- a/src/dynamix_sdk/api/cloudapi/account/delete.py +++ b/src/dynamix_sdk/api/cloudapi/account/delete.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/delete_user.py b/src/dynamix_sdk/api/cloudapi/account/delete_user.py index 0af9705..04e69d4 100644 --- a/src/dynamix_sdk/api/cloudapi/account/delete_user.py +++ b/src/dynamix_sdk/api/cloudapi/account/delete_user.py @@ -10,6 +10,6 @@ class CloudapiAccountDeleteUserProtocol(_base.BasePostAPIFunctionProtocol): self, *, account_id: int, - user_id: str, + user_name: str, ) -> CloudapiAccountDeleteUserResultBool: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/disable.py b/src/dynamix_sdk/api/cloudapi/account/disable.py index 2d1c276..a93f379 100644 --- a/src/dynamix_sdk/api/cloudapi/account/disable.py +++ b/src/dynamix_sdk/api/cloudapi/account/disable.py @@ -10,6 +10,5 @@ class CloudapiAccountDisableProtocol(_base.BasePostAPIFunctionProtocol): self, *, account_id: int, - reason: str | None = None, ) -> CloudapiAccountDisableResultBool: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/get.py b/src/dynamix_sdk/api/cloudapi/account/get.py index 681368d..fec6ae2 100644 --- a/src/dynamix_sdk/api/cloudapi/account/get.py +++ b/src/dynamix_sdk/api/cloudapi/account/get.py @@ -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( diff --git a/src/dynamix_sdk/api/cloudapi/account/restore.py b/src/dynamix_sdk/api/cloudapi/account/restore.py index 7c5e7e3..f702d9f 100644 --- a/src/dynamix_sdk/api/cloudapi/account/restore.py +++ b/src/dynamix_sdk/api/cloudapi/account/restore.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/update.py b/src/dynamix_sdk/api/cloudapi/account/update.py index 998f69c..18e9261 100644 --- a/src/dynamix_sdk/api/cloudapi/account/update.py +++ b/src/dynamix_sdk/api/cloudapi/account/update.py @@ -20,5 +20,6 @@ class CloudapiAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol): storage_size_quota_gb: None | int = None, uniq_pools: None | list[str] = None, description: str | None = None, + default_zone_id: int | None = None, ) -> CloudapiAccountUpdateResultBool: ... diff --git a/src/dynamix_sdk/api/cloudapi/account/update_user.py b/src/dynamix_sdk/api/cloudapi/account/update_user.py index 9c46d6d..5459401 100644 --- a/src/dynamix_sdk/api/cloudapi/account/update_user.py +++ b/src/dynamix_sdk/api/cloudapi/account/update_user.py @@ -12,6 +12,6 @@ class CloudapiAccountUpdateUserProtocol(_base.BasePostAPIFunctionProtocol): *, account_id: int, access_type: _nested.AccessTypeForSet, - user_id: str, + user_name: str, ) -> CloudapiAccountUpdateUserResultBool: ... diff --git a/src/dynamix_sdk/api/cloudapi/bservice/create.py b/src/dynamix_sdk/api/cloudapi/bservice/create.py index aeff494..a61745b 100644 --- a/src/dynamix_sdk/api/cloudapi/bservice/create.py +++ b/src/dynamix_sdk/api/cloudapi/bservice/create.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/bservice/get.py b/src/dynamix_sdk/api/cloudapi/bservice/get.py index aa2828e..3d3f074 100644 --- a/src/dynamix_sdk/api/cloudapi/bservice/get.py +++ b/src/dynamix_sdk/api/cloudapi/bservice/get.py @@ -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): diff --git a/src/dynamix_sdk/api/cloudapi/bservice/list.py b/src/dynamix_sdk/api/cloudapi/bservice/list.py index 7077176..844a59d 100644 --- a/src/dynamix_sdk/api/cloudapi/bservice/list.py +++ b/src/dynamix_sdk/api/cloudapi/bservice/list.py @@ -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 diff --git a/src/dynamix_sdk/api/cloudapi/bservice/list_deleted.py b/src/dynamix_sdk/api/cloudapi/bservice/list_deleted.py index 518b90d..c7ac5f1 100644 --- a/src/dynamix_sdk/api/cloudapi/bservice/list_deleted.py +++ b/src/dynamix_sdk/api/cloudapi/bservice/list_deleted.py @@ -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 diff --git a/src/dynamix_sdk/api/cloudapi/compute/get.py b/src/dynamix_sdk/api/cloudapi/compute/get.py index d794d46..1fa29fb 100644 --- a/src/dynamix_sdk/api/cloudapi/compute/get.py +++ b/src/dynamix_sdk/api/cloudapi/compute/get.py @@ -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( diff --git a/src/dynamix_sdk/api/cloudapi/compute/net_attach.py b/src/dynamix_sdk/api/cloudapi/compute/net_attach.py index 02a7d68..6938286 100644 --- a/src/dynamix_sdk/api/cloudapi/compute/net_attach.py +++ b/src/dynamix_sdk/api/cloudapi/compute/net_attach.py @@ -19,5 +19,6 @@ class CloudapiComputeNetAttachProtocol(_base.BasePostAPIFunctionProtocol): ip_addr: None | str = None, mtu: None | int = None, mac: None | str = None, + sdn_logical_port_id: None | str = None, ) -> CloudapiComputeNetAttachResultModel: ... diff --git a/src/dynamix_sdk/api/cloudapi/compute/user_list.py b/src/dynamix_sdk/api/cloudapi/compute/user_list.py index 459dbb9..a29ad4d 100644 --- a/src/dynamix_sdk/api/cloudapi/compute/user_list.py +++ b/src/dynamix_sdk/api/cloudapi/compute/user_list.py @@ -3,7 +3,7 @@ import dynamix_sdk.api._nested as _nested class CloudapiComputeUserListResultModel(_base.BaseAPIResultModel): - data: _nested.VMACLForComputeUserListAPIResultNM + data: _nested.VMACLAPIResultNM entry_count: int diff --git a/src/dynamix_sdk/api/cloudapi/disks/get.py b/src/dynamix_sdk/api/cloudapi/disks/get.py index bb78012..8d7e033 100644 --- a/src/dynamix_sdk/api/cloudapi/disks/get.py +++ b/src/dynamix_sdk/api/cloudapi/disks/get.py @@ -2,17 +2,69 @@ import dynamix_sdk.base as _base import dynamix_sdk.api._nested as _nested -class CloudapiDisksGetResultModel( - _base.BaseAPIResultModel, - _nested.BaseDiskAPIResultNM, - _nested.BaseDiskForCADisksAPIResultNM, -): +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] - device_name: str | None = None - sep_type: _nested.SEPType + 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): diff --git a/src/dynamix_sdk/api/cloudapi/dpdknet/__init__.py b/src/dynamix_sdk/api/cloudapi/dpdknet/__init__.py new file mode 100644 index 0000000..24a9928 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/dpdknet/__init__.py @@ -0,0 +1 @@ +from ._api import * diff --git a/src/dynamix_sdk/api/cloudapi/dpdknet/_api.py b/src/dynamix_sdk/api/cloudapi/dpdknet/_api.py new file mode 100644 index 0000000..cfd4622 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/dpdknet/_api.py @@ -0,0 +1,11 @@ +import dynamix_sdk.base as _base +from .get import * +from .list import * + + +class CloudapiDpdknetAPI( + _base.BaseAPI, + CloudapiDpdknetGetProtocol, + CloudapiDpdknetListProtocol, +): + pass diff --git a/src/dynamix_sdk/api/cloudapi/dpdknet/get.py b/src/dynamix_sdk/api/cloudapi/dpdknet/get.py new file mode 100644 index 0000000..221bcde --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/dpdknet/get.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/dpdknet/list.py b/src/dynamix_sdk/api/cloudapi/dpdknet/list.py new file mode 100644 index 0000000..0357cf9 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/dpdknet/list.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/extnet/get.py b/src/dynamix_sdk/api/cloudapi/extnet/get.py index 33a22d4..63de7ab 100644 --- a/src/dynamix_sdk/api/cloudapi/extnet/get.py +++ b/src/dynamix_sdk/api/cloudapi/extnet/get.py @@ -2,32 +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] - ntp_servers: list[str] + zone_id: int class CloudapiExtnetGetProtocol(_base.BasePostAPIFunctionProtocol): diff --git a/src/dynamix_sdk/api/cloudapi/flipgroup/create.py b/src/dynamix_sdk/api/cloudapi/flipgroup/create.py index c9d6da7..bea14db 100644 --- a/src/dynamix_sdk/api/cloudapi/flipgroup/create.py +++ b/src/dynamix_sdk/api/cloudapi/flipgroup/create.py @@ -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: diff --git a/src/dynamix_sdk/api/cloudapi/flipgroup/get.py b/src/dynamix_sdk/api/cloudapi/flipgroup/get.py index b4b9322..f53b929 100644 --- a/src/dynamix_sdk/api/cloudapi/flipgroup/get.py +++ b/src/dynamix_sdk/api/cloudapi/flipgroup/get.py @@ -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 diff --git a/src/dynamix_sdk/api/cloudapi/image/get.py b/src/dynamix_sdk/api/cloudapi/image/get.py index 9a02b28..1f5aeb3 100644 --- a/src/dynamix_sdk/api/cloudapi/image/get.py +++ b/src/dynamix_sdk/api/cloudapi/image/get.py @@ -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 + 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) diff --git a/src/dynamix_sdk/api/cloudapi/k8ci/get.py b/src/dynamix_sdk/api/cloudapi/k8ci/get.py index 4fdd141..3864eb7 100644 --- a/src/dynamix_sdk/api/cloudapi/k8ci/get.py +++ b/src/dynamix_sdk/api/cloudapi/k8ci/get.py @@ -2,11 +2,12 @@ import dynamix_sdk.base as _base import dynamix_sdk.api._nested as _nested -class CloudapiK8ciGetResultModel( - _base.BaseAPIResultModel, - _nested.BaseK8CIAPIResultNM, -): - pass +class CloudapiK8ciGetResultModel(_base.BaseAPIResultModel): + id: int + name: str + version: str + description: str + network_plugins: list[_nested.K8sNetworkPlugin] class CloudapiK8ciGetProtocol(_base.BasePostAPIFunctionProtocol): diff --git a/src/dynamix_sdk/api/cloudapi/k8s/__init__.py b/src/dynamix_sdk/api/cloudapi/k8s/__init__.py new file mode 100644 index 0000000..24a9928 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/__init__.py @@ -0,0 +1 @@ +from ._api import * diff --git a/src/dynamix_sdk/api/cloudapi/k8s/_api.py b/src/dynamix_sdk/api/cloudapi/k8s/_api.py new file mode 100644 index 0000000..0338f59 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/_api.py @@ -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 diff --git a/src/dynamix_sdk/api/cloudapi/k8s/create.py b/src/dynamix_sdk/api/cloudapi/k8s/create.py new file mode 100644 index 0000000..f31e5fd --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/create.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/delete.py b/src/dynamix_sdk/api/cloudapi/k8s/delete.py new file mode 100644 index 0000000..890bb56 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/delete.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/get.py b/src/dynamix_sdk/api/cloudapi/k8s/get.py new file mode 100644 index 0000000..c527fbc --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/get.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/get_config.py b/src/dynamix_sdk/api/cloudapi/k8s/get_config.py new file mode 100644 index 0000000..e8226dc --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/get_config.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/list.py b/src/dynamix_sdk/api/cloudapi/k8s/list.py new file mode 100644 index 0000000..c3ed4c3 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/list.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/list_deleted.py b/src/dynamix_sdk/api/cloudapi/k8s/list_deleted.py new file mode 100644 index 0000000..d2a0ac5 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/list_deleted.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/restore.py b/src/dynamix_sdk/api/cloudapi/k8s/restore.py new file mode 100644 index 0000000..b08a445 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/restore.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/worker_reset.py b/src/dynamix_sdk/api/cloudapi/k8s/worker_reset.py new file mode 100644 index 0000000..f1b1db6 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/worker_reset.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/worker_restart.py b/src/dynamix_sdk/api/cloudapi/k8s/worker_restart.py new file mode 100644 index 0000000..042ecec --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/worker_restart.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/workers_group_add.py b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_add.py new file mode 100644 index 0000000..030a63d --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_add.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/workers_group_delete.py b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_delete.py new file mode 100644 index 0000000..01332e1 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_delete.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/k8s/workers_group_get_by_name.py b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_get_by_name.py new file mode 100644 index 0000000..9a1a52b --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/k8s/workers_group_get_by_name.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/kvmx86/create.py b/src/dynamix_sdk/api/cloudapi/kvmx86/create.py index 299467b..5757b32 100644 --- a/src/dynamix_sdk/api/cloudapi/kvmx86/create.py +++ b/src/dynamix_sdk/api/cloudapi/kvmx86/create.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/kvmx86/create_blank.py b/src/dynamix_sdk/api/cloudapi/kvmx86/create_blank.py index c35a4e7..e80dbad 100644 --- a/src/dynamix_sdk/api/cloudapi/kvmx86/create_blank.py +++ b/src/dynamix_sdk/api/cloudapi/kvmx86/create_blank.py @@ -32,5 +32,6 @@ class CloudapiKvmx86CreateBlankProtocol(_base.BasePostAPIFunctionProtocol): _nested.NetIfaceNamingTemplate.ens ), hot_resize: bool = False, + zone_id: None | int = None, ) -> CloudapiKvmx86CreateBlankResultInt: ... diff --git a/src/dynamix_sdk/api/cloudapi/lb/_api.py b/src/dynamix_sdk/api/cloudapi/lb/_api.py index ce49f09..66819a1 100644 --- a/src/dynamix_sdk/api/cloudapi/lb/_api.py +++ b/src/dynamix_sdk/api/cloudapi/lb/_api.py @@ -7,6 +7,8 @@ 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 * @@ -15,6 +17,7 @@ from .frontend_delete import * from .get import * from .list import * from .list_deleted import * +from .make_highly_available import * class CloudapiLbAPI( @@ -27,13 +30,16 @@ class CloudapiLbAPI( CloudapiLbBackendUpdateProtocol, CloudapiLbCreateProtocol, CloudapiLbDeleteProtocol, + CloudapiLbDisableProtocol, + CloudapiLbEnableProtocol, CloudapiLbFrontendBindDeleteProtocol, - CloudapiLbFrontendBindingUpdateProtocol, CloudapiLbFrontendBindProtocol, + CloudapiLbFrontendBindingUpdateProtocol, CloudapiLbFrontendCreateProtocol, CloudapiLbFrontendDeleteProtocol, CloudapiLbGetProtocol, CloudapiLbListDeletedProtocol, CloudapiLbListProtocol, + CloudapiLbMakeHighlyAvailableProtocol, ): pass diff --git a/src/dynamix_sdk/api/cloudapi/lb/create.py b/src/dynamix_sdk/api/cloudapi/lb/create.py index 03b981d..eb6418e 100644 --- a/src/dynamix_sdk/api/cloudapi/lb/create.py +++ b/src/dynamix_sdk/api/cloudapi/lb/create.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/lb/disable.py b/src/dynamix_sdk/api/cloudapi/lb/disable.py new file mode 100644 index 0000000..bfe5dbe --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/lb/disable.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/lb/enable.py b/src/dynamix_sdk/api/cloudapi/lb/enable.py new file mode 100644 index 0000000..56c13ad --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/lb/enable.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/lb/get.py b/src/dynamix_sdk/api/cloudapi/lb/get.py index 370c527..e434c45 100644 --- a/src/dynamix_sdk/api/cloudapi/lb/get.py +++ b/src/dynamix_sdk/api/cloudapi/lb/get.py @@ -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): + 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) -class CloudapiLbGetResultModel( - _base.BaseAPIResultModel, - _nested.LBAPIResultNM -): - pass + @property + def updated_datetime(self): + return self._get_datetime_from_timestamp(self.updated_timestamp) class CloudapiLbGetProtocol(_base.BasePostAPIFunctionProtocol): diff --git a/src/dynamix_sdk/api/cloudapi/lb/make_highly_available.py b/src/dynamix_sdk/api/cloudapi/lb/make_highly_available.py new file mode 100644 index 0000000..145cb6d --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/lb/make_highly_available.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/rg/create.py b/src/dynamix_sdk/api/cloudapi/rg/create.py index 9aaac37..238af51 100644 --- a/src/dynamix_sdk/api/cloudapi/rg/create.py +++ b/src/dynamix_sdk/api/cloudapi/rg/create.py @@ -26,5 +26,6 @@ class CloudapiRgCreateProtocol(_base.BasePostAPIFunctionProtocol): public_ip_count_quota: int | None = None, ram_size_quota_mb: int | None = None, storage_size_quota_gb: int | None = None, + sdn_access_group_id: str | None = None, ) -> CloudapiRgCreateResultInt: ... diff --git a/src/dynamix_sdk/api/cloudapi/stack/get.py b/src/dynamix_sdk/api/cloudapi/stack/get.py index 8af6153..8567638 100644 --- a/src/dynamix_sdk/api/cloudapi/stack/get.py +++ b/src/dynamix_sdk/api/cloudapi/stack/get.py @@ -2,14 +2,15 @@ import dynamix_sdk.base as _base import dynamix_sdk.api._nested as _nested -class CloudapiStackGetResultModel( - _base.BaseAPIResultModel, - _nested.StackAPIResultNM -): +class CloudapiStackGetResultModel(_base.BaseAPIResultModel): cpu_allocation_ratio: float | None description: str drivers: list[_nested.Driver] + id: int mem_allocation_ratio: float | None + name: str + status: _nested.PhysicalNodeStatus + type: str class CloudapiStackGetProtocol(_base.BasePostAPIFunctionProtocol): diff --git a/src/dynamix_sdk/api/cloudapi/user/_api.py b/src/dynamix_sdk/api/cloudapi/user/_api.py index 75a106e..efc94ed 100644 --- a/src/dynamix_sdk/api/cloudapi/user/_api.py +++ b/src/dynamix_sdk/api/cloudapi/user/_api.py @@ -1,11 +1,13 @@ import dynamix_sdk.base as _base +from .api_list import * from .get import * from .get_audit import * class CloudapiUserAPI( _base.BaseAPI, - CloudapiUserGetProtocol, + CloudapiUserApiListProtocol, CloudapiUserGetAuditProtocol, + CloudapiUserGetProtocol, ): pass diff --git a/src/dynamix_sdk/api/cloudapi/user/api_list.py b/src/dynamix_sdk/api/cloudapi/user/api_list.py new file mode 100644 index 0000000..e6ab080 --- /dev/null +++ b/src/dynamix_sdk/api/cloudapi/user/api_list.py @@ -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: + ... diff --git a/src/dynamix_sdk/api/cloudapi/vins/create_in_account.py b/src/dynamix_sdk/api/cloudapi/vins/create_in_account.py index e145ee2..0c1e04f 100644 --- a/src/dynamix_sdk/api/cloudapi/vins/create_in_account.py +++ b/src/dynamix_sdk/api/cloudapi/vins/create_in_account.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/vins/create_in_rg.py b/src/dynamix_sdk/api/cloudapi/vins/create_in_rg.py index 416871c..ec8c9c8 100644 --- a/src/dynamix_sdk/api/cloudapi/vins/create_in_rg.py +++ b/src/dynamix_sdk/api/cloudapi/vins/create_in_rg.py @@ -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: ... diff --git a/src/dynamix_sdk/api/cloudapi/vins/get.py b/src/dynamix_sdk/api/cloudapi/vins/get.py index 287f196..8e47ffc 100644 --- a/src/dynamix_sdk/api/cloudapi/vins/get.py +++ b/src/dynamix_sdk/api/cloudapi/vins/get.py @@ -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): diff --git a/src/dynamix_sdk/api/cloudbroker/account/create.py b/src/dynamix_sdk/api/cloudbroker/account/create.py index f1211ae..eeb41f8 100644 --- a/src/dynamix_sdk/api/cloudbroker/account/create.py +++ b/src/dynamix_sdk/api/cloudbroker/account/create.py @@ -23,5 +23,7 @@ class CloudbrokerAccountCreateProtocol(_base.BasePostAPIFunctionProtocol): 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: ... diff --git a/src/dynamix_sdk/api/name_mapping.yml b/src/dynamix_sdk/api/name_mapping.yml index c72dfd9..0514356 100644 --- a/src/dynamix_sdk/api/name_mapping.yml +++ b/src/dynamix_sdk/api/name_mapping.yml @@ -5,28 +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 @@ -52,15 +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__BaseVMAPIResultNM: loaderType +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 @@ -70,12 +82,15 @@ 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 @@ -84,6 +99,9 @@ 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 @@ -96,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 @@ -117,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 @@ -162,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 @@ -171,6 +196,7 @@ dst_net_mask__RouteAPIResultNM: netmask egress_rate: eRate email_address: emailaddress email_addresses: emailaddresses +emails: emails enabled: enabled entry_count: entryCount error: error @@ -193,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 @@ -200,6 +227,7 @@ 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 @@ -211,13 +239,14 @@ 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 @@ -231,11 +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 @@ -249,30 +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 @@ -280,16 +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 @@ -302,7 +356,14 @@ 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 @@ -331,25 +392,42 @@ 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 net_type__CloudapiComputeChangeIpParamsModel: net_type -network_id: networkId +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_depr_: 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 @@ -372,7 +450,6 @@ password__DiskForCAComputeGetAPIResultNM: passwd password__DiskForListUnattachedAPIResultNM: passwd pci_slot: pciSlot pci_slot__DiskForCAComputeGetAPIResultNM: pci_slot -pci_slot_depr___DiskAPIResultNM: pciSlot permanently: permanently pinned_to_stack: pinnedToStack policy: policy @@ -382,6 +459,7 @@ 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 @@ -412,7 +490,6 @@ read_bytes_sec_max: read_bytes_sec_max read_iops_sec: read_iops_sec read_iops_sec_max: read_iops_sec_max reality_device_number: realityDeviceNumber -reason: reason recursively__CloudapiRgDeleteParamsModel: force redundant: redundant reference_id: referenceId @@ -431,9 +508,10 @@ 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 @@ -445,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 @@ -452,27 +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_available: sizeAvailable -size_gb__BaseImageAPIResultNM: size 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 @@ -508,6 +595,7 @@ sysctl_params: sysctlParams system: system system_name: IS tags: tags +taints: taints target: target target_image_id: targetId task_guid: taskId @@ -519,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 @@ -530,15 +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 @@ -557,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 @@ -570,18 +662,20 @@ 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_id_depr___DiskAPIResultNM: 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 @@ -592,9 +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 diff --git a/src/dynamix_sdk/api/path_mapping.yml b/src/dynamix_sdk/api/path_mapping.yml index a37f8b3..524edaa 100644 --- a/src/dynamix_sdk/api/path_mapping.yml +++ b/src/dynamix_sdk/api/path_mapping.yml @@ -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 @@ -40,6 +41,7 @@ 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 @@ -61,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 @@ -87,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 diff --git a/src/dynamix_sdk/utils.py b/src/dynamix_sdk/utils.py index 8f8e49d..a83c365 100644 --- a/src/dynamix_sdk/utils.py +++ b/src/dynamix_sdk/utils.py @@ -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 diff --git a/tests/test_with_api_definition.py b/tests/test_with_api_definition.py index 8073943..f02eb77 100644 --- a/tests/test_with_api_definition.py +++ b/tests/test_with_api_definition.py @@ -15,18 +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.disks.create: default value of parameter "size_gb" must be 10.', '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 ] @@ -298,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