This commit is contained in:
2025-03-21 17:47:09 +03:00
commit 346ffd4255
54 changed files with 2565 additions and 0 deletions

View File

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

View File

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

View File

@@ -0,0 +1,3 @@
from .params import *
from .result import *
from .enums import *

View File

@@ -0,0 +1,161 @@
from dynamix_sdk.utils import (
AutoNameEnum as _AutoNameEnum,
enum_auto as _enum_auto,
)
class AccessType(str, _AutoNameEnum):
ARCXDU = _enum_auto()
CXDRAU = _enum_auto()
RCX = _enum_auto()
R = _enum_auto()
class AffinityMode(str, _AutoNameEnum):
ANY = _enum_auto()
EQ = _enum_auto()
NE = _enum_auto()
class AffinityPolicy(str, _AutoNameEnum):
RECOMMENDED = _enum_auto()
REQUIRED = _enum_auto()
class AffinityTopology(str, _AutoNameEnum):
compute = _enum_auto()
node = _enum_auto()
class BootDevice(str, _AutoNameEnum):
cdrom = _enum_auto()
hd = _enum_auto()
network = _enum_auto()
class Chipset(str, _AutoNameEnum):
Q35 = _enum_auto()
i440fx = _enum_auto()
class Driver(str, _AutoNameEnum):
KVM_X86 = _enum_auto()
SVA_KVM_X86 = _enum_auto()
class NetType(str, _AutoNameEnum):
DPDK = _enum_auto()
EMPTY = _enum_auto()
EXTNET = _enum_auto()
VFNIC = _enum_auto()
VINS = _enum_auto()
class NumaAffinity(str, _AutoNameEnum):
none = _enum_auto()
strict = _enum_auto()
loose = _enum_auto()
class TXMode(str, _AutoNameEnum):
iothread = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
timer = _enum_auto()
class Ioeventfd(str, _AutoNameEnum):
off = _enum_auto()
on = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
class EventIdx(str, _AutoNameEnum):
off = _enum_auto()
on = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
class ResourceGroupStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DELETED = _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 LockStatus(str, _AutoNameEnum):
LOCKED = _enum_auto()
UNLOCKED = _enum_auto()
class ComputeFeature(str, _AutoNameEnum):
cpupin = _enum_auto()
dpdk = _enum_auto()
hugepages = _enum_auto()
numa = _enum_auto()
vfnic = _enum_auto()
class RGDefaultNetType(str, _AutoNameEnum):
NONE = _enum_auto()
PRIVATE = _enum_auto()
PUBLIC = _enum_auto()
class RGResourceType(str, _AutoNameEnum):
compute = _enum_auto()
k8s = _enum_auto()
lb = _enum_auto()
vins = _enum_auto()
class DiskStatus(str, _AutoNameEnum):
ASSIGNED = _enum_auto()
CREATED = _enum_auto()
DELETED = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
MODELED = _enum_auto()
PURGED = _enum_auto()
REPLICATION = _enum_auto()
class DiskTechStatus(str, _AutoNameEnum):
ALLOCATED = _enum_auto()
UNALLOCATED = _enum_auto()
class VMStatus(str, _AutoNameEnum):
CREATED = _enum_auto()
DELETED = _enum_auto()
DELETING = _enum_auto()
DESTROYED = _enum_auto()
DESTROYING = _enum_auto()
DISABLED = _enum_auto()
ENABLED = _enum_auto()
MODELED = _enum_auto()
REDEPLOYING = _enum_auto()
class VMTechStatus(str, _AutoNameEnum):
BACKUP_RUNNING = _enum_auto()
BACKUP_STOPPED = _enum_auto()
DOWN = _enum_auto()
MIGRATING = _enum_auto()
PAUSED = _enum_auto()
PAUSING = _enum_auto()
SCHEDULED = _enum_auto()
STARTED = _enum_auto()
STARTING = _enum_auto()
STOPPED = _enum_auto()
STOPPING = _enum_auto()
class DiskType(str, _AutoNameEnum):
B = _enum_auto()
D = _enum_auto()

View File

@@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
from . import enums as _enums
class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
name: str
size: int
description: None | str = None
image_id: None | int = None
sep_id: None | int = None
sep_pool_name: None | str = None
class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel):
net_id: int
net_type: _enums.NetType
ip_addr: None | str = None
mtu: None | int = None

View File

@@ -0,0 +1,343 @@
import dynamix_sdk.base as _base
from dynamix_sdk.utils import EmptyStr as _EmptyStr
from . import enums as _enums
class AccessAPIResultNM(_base.BaseAPIResultNestedModel):
explicit: bool
guid: str
access_type: _enums.AccessType
status: str
type: str
user_group_id: str
class AffinityRuleAPIResultNM(_base.BaseAPIResultNestedModel):
guid: str
key: str
mode: _enums.AffinityMode
policy: _enums.AffinityPolicy
topology: _enums.AffinityTopology
value: str
class QOSAPIResultNM(_base.BaseAPIResultNestedModel):
egress_rate: int
guid: str
ingress_burst: int
ingress_rate: int
class VMACLAPIResultNM(_base.BaseAPIResultNestedModel):
account: list[AccessAPIResultNM]
compute: list[AccessAPIResultNM]
rg: list[AccessAPIResultNM]
class LibvirtSettingsAPIResultNM(_base.BaseAPIResultNestedModel):
event_idx: _EmptyStr | _enums.EventIdx
guid: str
ioeventfd: _EmptyStr | _enums.Ioeventfd
queues: int
rx_queue_size: int
tx_mode: _EmptyStr | _enums.TXMode
tx_queue_size: int
class BaseInterfaceAPIResultNM(_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
node_id: int
pci_slot: int
target: str
type: str
vnf_ids: list[int]
class InterfaceAPIResultNM(BaseInterfaceAPIResultNM):
qos: QOSAPIResultNM
class OSUserAPIResultNM(_base.BaseAPIResultNestedModel):
login: str
password: str
pub_key: str
guid: str
class SnapshotSetAPIResultNM(_base.BaseAPIResultNestedModel):
disks: list[int]
guid: str
label: str
timestamp: int
@property
def datetime(self):
return self._get_datetime_from_timestamp(self.timestamp)
class IOTuneAPIResultNM(_base.BaseAPIResultNestedModel):
read_bytes_sec: None | int = None
read_bytes_sec_max: None | int = None
read_iops_sec: None | int = None
read_iops_sec_max: None | int = None
size_iops_sec: None | int = None
total_bytes_sec: None | int = None
total_bytes_sec_max: None | int = None
total_iops_sec: None | int = None
total_iops_sec_max: None | int = None
write_bytes_sec: None | int = None
write_bytes_sec_max: None | int = None
write_iops_sec: None | int = None
write_iops_sec_max: None | int = None
class SnapshotAPIResultNM(_base.BaseAPIResultNestedModel):
guid: str
label: str
reference_id: str
res_id: str
snapshot_set_guid: str
snapshot_set_timestamp: int
timestamp: int
@property
def datetime(self):
return self._get_datetime_from_timestamp(self.timestamp)
@property
def snapshot_set_datetime(self):
return self._get_datetime_from_timestamp(self.snapshot_set_timestamp)
class ReplicationAPIResultNM(_base.BaseAPIResultNestedModel):
disk_id: int
pool_id: str
role: str
self_volume_id: str
storage_id: str
volume_id: str
class BaseDiskAPIResultNM(_base.BaseAPIResultNestedModel):
bus_number: int
id: int
pci_slot: int
class DiskAPIResultNM(BaseDiskAPIResultNM):
account_id: int
acl: dict
boot_partition: int
created_timestamp: int
deleted_timestamp: int
description: str
destruction_timestamp: int
disk_path: str
grid_id: int
guid: int
image_id: int
images: list
io_tune: IOTuneAPIResultNM
iqn: str
login: str
milestones: int
name: str
order: int
params: str
parent_id: int
password: str
present_to: list[int]
purge_timestamp: int
reality_device_number: int
replication_dict: dict
res_id: str
role: str
sep_id: int
sep_pool_name: str
shareable: bool
size_max: 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 updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
@property
def purge_datetime(self):
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def replication(self):
if self.replication_dict:
return ReplicationAPIResultNM(**self.replication_dict)
class TenantQuotasAPIResultNM(_base.BaseAPIResultNestedModel):
cpu: int
disk_size: int
ext_traffic: int
gpu: int
public_ip: int
ram: float | int
storage: int
class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
acl: list[AccessAPIResultNM]
compute_features: list[_enums.ComputeFeature]
cpu_allocation_parameter: str
cpu_allocation_ratio: int
created_by: str
created_timestamp: int
default_net_id: int
default_net_type: _enums.RGDefaultNetType
deleted_by: str
deleted_timestamp: int
description: str
grid_id: int
guid: int
id: int
lock_status: _enums.LockStatus
milestones: int
name: str
quotas: TenantQuotasAPIResultNM
register_computes: bool
resource_types: list[_enums.RGResourceType]
secret: str
status: _enums.ResourceGroupStatus
uniq_pools: list[str]
updated_by: str
updated_timestamp: int
vins_ids: list[int]
vm_ids: list[int]
dirty: bool | None = None
@property
def created_datetime(self):
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
return self._get_datetime_from_timestamp(self.updated_timestamp)
class BaseVMAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
affinity_label: str
affinity_rules: list[AffinityRuleAPIResultNM]
affinity_weight: int
anti_affinity_rules: list[AffinityRuleAPIResultNM]
arch: str
auto_start: bool
boot_disk_size: int
boot_order: list[_enums.BootDevice]
cd_image_id: int
chipset: _enums.Chipset
clone_ids: list[int]
clone_reference: int
compute_ci_id: int
cpu: int
cpu_pin: bool
created_by: str
created_timestamp: int
custom_fields: dict
deleted_by: str
deleted_timestamp: int
description: str
devices: dict
driver: _enums.Driver
gpu_ids: list[int]
grid_id: int
guid: int
hp_backed: bool
id: int
image_id: int
lock_status: _enums.LockStatus
manager_id: int
manager_type: str
migration_job: int
milestones: int
name: str
need_reboot: bool
numa_affinity: _enums.NumaAffinity
numa_node_id: int
pinned: bool
preferred_cpu_cores: list[int]
ram: int
reference_id: str
registered: bool
res_name: str
reserved_cpu_cores: list[int]
rg_id: int
rg_name: str
snapshot_sets: list[SnapshotSetAPIResultNM]
stateless_sep_id: int
stateless_sep_type: str
status: _enums.VMStatus
tags: dict
tech_status: _enums.VMTechStatus
updated_by: str
updated_timestamp: int
user_managed: bool
virtual_image_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 VMAPIResultNM(BaseVMAPIResultNM):
acl: list # BDX-7995
disks: list[BaseDiskAPIResultNM]
interfaces: list[BaseInterfaceAPIResultNM]
total_disks_size: int
vins_count: int

View File

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

View File

@@ -0,0 +1,14 @@
import dynamix_sdk.base as _base
from .account import *
from .compute import *
from .kvmx86 import *
from .rg import *
from .user import *
class CloudapiAPI(_base.BaseAPI):
account: CloudapiAccountAPI
compute: CloudapiComputeAPI
kvmx86: CloudapiKvmx86API
rg: CloudapiRgAPI
user: CloudapiUserAPI

View File

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

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
from .add_user import *
from .delete_user import *
from .disable import *
from .enable import *
from .update_user import *
class CloudapiAccountAPI(
_base.BaseAPI,
CloudapiAccountAddUserProtocol,
CloudapiAccountDeleteUserProtocol,
CloudapiAccountDisableProtocol,
CloudapiAccountEnableProtocol,
CloudapiAccountUpdateUserProtocol,
):
pass

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountAddUserResultBool(_base.BaseAPIResultBool):
pass
class CloudapiAccountAddUserProtocol(_base.BasePostAPIFunctionProtocol):
def add_user(
self,
*,
account_id: int,
access_type: _nested.AccessType,
user_id: str,
) -> CloudapiAccountAddUserResultBool:
...

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
class CloudapiAccountDeleteUserResultBool(_base.BaseAPIResultBool):
pass
class CloudapiAccountDeleteUserProtocol(_base.BasePostAPIFunctionProtocol):
def delete_user(
self,
*,
account_id: int,
user_id: str,
) -> CloudapiAccountDeleteUserResultBool:
...

View File

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

View File

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

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiAccountUpdateUserResultBool(_base.BaseAPIResultBool):
pass
class CloudapiAccountUpdateUserProtocol(_base.BasePostAPIFunctionProtocol):
def update_user(
self,
*,
account_id: int,
access_type: _nested.AccessType,
user_id: str,
) -> CloudapiAccountUpdateUserResultBool:
...

View File

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

View File

@@ -0,0 +1,15 @@
import dynamix_sdk.base as _base
from .delete import *
from .get import *
from .list import *
from .update import *
class CloudapiComputeAPI(
_base.BaseAPI,
CloudapiComputeDeleteProtocol,
CloudapiComputeGetProtocol,
CloudapiComputeListProtocol,
CloudapiComputeUpdateProtocol,
):
pass

View File

@@ -0,0 +1,17 @@
import dynamix_sdk.base as _base
class CloudapiComputeDeleteResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeDeleteProtocol(_base.BasePostAPIFunctionProtocol):
def delete(
self,
*,
compute_id: int,
detach_disks: bool = False,
permanently: bool = False,
) -> CloudapiComputeDeleteResultBool:
...

View File

@@ -0,0 +1,31 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeGetResultModel(
_base.BaseAPIResultModel,
_nested.BaseVMAPIResultNM,
):
acl: _nested.VMACLAPIResultNM
ci_user_data: dict
disks: list[_nested.DiskAPIResultNM]
image_name: None | str
interfaces: list[_nested.InterfaceAPIResultNM]
os_users: list[_nested.OSUserAPIResultNM]
virtual_image_name: None | str
vns_password: str
natable_vins_id: int = 0
natable_vins_ip: str = ''
natable_vins_name: str = ''
natable_vins_network: str = ''
natable_vins_network_name: str = ''
class CloudapiComputeGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
compute_id: int,
) -> CloudapiComputeGetResultModel:
...

View File

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

View File

@@ -0,0 +1,23 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiComputeUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudapiComputeUpdateProtocol(_base.BasePostAPIFunctionProtocol):
def update(
self,
*,
compute_id: int,
auto_start: None | bool = None,
chipset: None | _nested.Chipset = None,
cpu_pin: None | bool = None,
description: None | str = None,
hp_backed: None | bool = None,
name: None | str = None,
numa_affinity: None | _nested.NumaAffinity = None,
preferred_cpu_cores: None | list[int] = None,
) -> CloudapiComputeUpdateResultBool:
...

View File

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

View File

@@ -0,0 +1,9 @@
import dynamix_sdk.base as _base
from .create import *
class CloudapiKvmx86API(
_base.BaseAPI,
CloudapiKvmx86CreateProtocol,
):
pass

View File

@@ -0,0 +1,37 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiKvmx86CreateResultInt(_base.BaseAPIResultInt):
pass
class CloudapiKvmx86CreateProtocol(_base.BasePostAPIFunctionProtocol):
def create(
self,
*,
cpu: int,
name: str,
ram: int,
rg_id: int,
boot_disk_size: None | int = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
ci_user_data: None | dict = None,
cpu_pin: bool = False,
custom_fields: None | str = None,
data_disks: None | list[_nested.DiskAPIParamsNM] = None,
description: None | str = None,
driver: _nested.Driver = _nested.Driver.KVM_X86,
hp_backed: bool = False,
image_id: None | int = None,
interfaces: None | list[_nested.InterfaceAPIParamsNM] = None,
ipa_type: None | str = None,
numa_affinity: _nested.NumaAffinity = _nested.NumaAffinity.none,
preferred_cpu_cores: None | list[int] = None,
sep_id: None | int = None,
sep_pool_name: None | str = None,
start: bool = True,
system_name: None | str = None,
without_boot_disk: bool = False,
) -> CloudapiKvmx86CreateResultInt:
...

View File

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

View File

@@ -0,0 +1,13 @@
import dynamix_sdk.base as _base
from .create import *
from .get import *
from .list import *
class CloudapiRgAPI(
_base.BaseAPI,
CloudapiRgCreateProtocol,
CloudapiRgGetProtocol,
CloudapiRgListProtocol,
):
pass

View File

@@ -0,0 +1,31 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiRgCreateResultBoolInt(_base.BaseAPIResultInt):
pass
class CloudapiRgCreateProtocol(_base.BasePostAPIFunctionProtocol):
def create(
self,
*,
account_id: int,
grid_id: int,
name: str,
cpu_quota: int = -1,
default_net_type: _nested.RGDefaultNetType = (
_nested.RGDefaultNetType.PRIVATE
),
description: str | None = None,
ext_net_id: int = 0,
ext_net_ip: str | None = None,
ext_traffic_quota: int = -1,
ip_cidr: str | None = None,
owner: str | None = None,
public_ip_quota: int = -1,
ram_quota: int = -1,
register_computes: bool = False,
storage_quota: int = -1,
) -> CloudapiRgCreateResultBoolInt:
...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiRgGetResultModel(
_base.BaseAPIResultModel,
_nested.ResourceGroupAPIResultNM,
):
pass
class CloudapiRgGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(
self,
*,
rg_id: int,
) -> CloudapiRgGetResultModel:
...

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiRgListResultModel(_base.BaseAPIResultModel):
data: list[_nested.ResourceGroupAPIResultNM]
entry_count: int
class CloudapiRgListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
account_id: int | None = None,
account_name: str | None = None,
created_after_timestamp: int | None = None,
created_before_timestamp: int | None = None,
id: int | None = None,
include_deleted: bool = False,
lock_status: _nested.LockStatus | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
sort_by: str | None = None,
status: _nested.ResourceGroupStatus | None = None,
) -> CloudapiRgListResultModel:
...

View File

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

View File

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

View File

@@ -0,0 +1,12 @@
import dynamix_sdk.base as _base
class CloudapiUserGetResultModel(_base.BaseAPIResultModel):
data: dict
email_addresses: list[str]
user_name: str
class CloudapiUserGetProtocol(_base.BasePostAPIFunctionProtocol):
def get(self, *, user_name: str) -> CloudapiUserGetResultModel:
...

View File

@@ -0,0 +1,224 @@
# sdk_name[__model_class_name]: dynamix_name
access_type: accesstype
access_type__AccessAPIResultNM: right
account: accountAcl
account_id: accountId
account_name: accountName
acl: acl
acl__CloudapiComputeGetResultModel: ACL
admin: admin
affinity_label: affinityLabel
affinity_rules: affinityRules
affinity_weight: affinityWeight
anti_affinity_rules: antiAffinityRules
arch: arch
auto_start: autoStart
boot_disk_size: bootdiskSize
boot_disk_size__CloudapiKvmx86CreateParamsModel: bootDisk
boot_order: bootOrder
boot_partition: bootPartition
bus_number: bus_number
cd_image_id: cdImageId
chipset: chipset
ci_user_data: userdata
clone_ids: clones
clone_reference: cloneReference
compute: computeAcl
compute_ci_id: computeciId
compute_features: computeFeatures
compute_id: computeId
conn_id: connId
conn_type: connType
cpu: cpu
cpu__CloudapiComputeGetResultModel: cpus
cpu__TenantQuotasAPIResultNM: CU_C
cpu__VMAPIResultNM: cpus
cpu_allocation_parameter: cpu_allocation_parameter
cpu_allocation_ratio: cpu_allocation_ratio
cpu_pin: cpupin
cpu_quota: maxCPUCapacity
created_after_timestamp: createdAfter
created_before_timestamp: createdBefore
created_by: createdBy
created_timestamp: createdTime
custom_fields: customFields
data: data
data_disks: dataDisks
default_gw: defGw
default_net_id: def_net_id
default_net_type: def_net_type
default_net_type__CloudapiRgCreateParamsModel: def_net
deleted_by: deletedBy
deleted_timestamp: deletedTime
description: desc
destruction_timestamp: destructionTime
detach_disks: detachDisks
devices: devices
dirty: dirty
disk_id: diskId
disk_path: diskPath
disk_size: CU_D
disks: disks
driver: driver
egress_rate: eRate
email_addresses: emailaddresses
enabled: enabled
entry_count: entryCount
event_idx: event_idx
explicit: explicit
ext_net_id: extNetId
ext_net_ip: extIp
ext_net_name: extNetName
ext_traffic: CU_NP
ext_traffic_quota: maxNetworkPeerTransfer
flip_group_id: flipgroupId
gpu: gpu_units
gpu_ids: vgpus
grid_id: gid
guid: guid
hp_backed: hpBacked
id: id
id__CloudapiComputeListParamsModel: by_id
id__CloudapiRgListParamsModel: by_id
image_id: imageId
image_name: imageName
images: images
include_deleted: includedeleted
ingress_burst: inBurst
ingress_rate: inRate
interfaces: interfaces
io_tune: iotune
ioeventfd: ioeventfd
ip_addr: ipAddress
ip_addr__InterfaceAPIParamsNM: ipAddr
ip_cidr: ipcidr
ipa_type: ipaType
iqn: iqn
key: key
label: label
libvirt_settings: libvirtSettings
listen_ssh: listenSsh
lock_status: lockStatus
login: login
mac: mac
manager_id: managerId
manager_type: managerType
migration_job: migrationjob
milestones: milestones
mode: mode
mtu: mtu
name: name
name__DiskAPIParamsNM: diskName
natable_vins_id: natableVinsId
natable_vins_ip: natableVinsIp
natable_vins_name: natableVinsName
natable_vins_network: natableVinsNetwork
natable_vins_network_name: natableVinsNetworkName
need_reboot: needReboot
net_id: netId
net_mask: netMask
net_type: netType
node_id: nodeId
numa_affinity: numaAffinity
numa_node_id: numaNodeId
order: order
os_users: osUsers
owner: owner
page_number: page
page_size: size
params: params
parent_id: parentId
password: password
password__DiskAPIResultNM: passwd
pci_slot: pciSlot
permanently: permanently
pinned: pinned
policy: policy
pool_id: poolId
preferred_cpu_cores: preferredCpu
present_to: presentTo
pub_key: pubkey
public_ip: CU_I
public_ip_quota: maxNumPublicIP
purge_timestamp: purgeTime
qos: qos
queues: queues
quotas: resourceLimits
ram: ram
ram__TenantQuotasAPIResultNM: CU_M
ram_quota: maxMemoryCapacity
read_bytes_sec: read_bytes_sec
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
reference_id: referenceId
register_computes: registerComputes
registered: registered
replication_dict: replication
res_id: resId
res_name: resName
reserved_cpu_cores: reservedNodeCpus
resource_types: resourceTypes
rg: rgAcl
rg_id: rgId
rg_name: rgName
role: role
roles: roles
rx_queue_size: rx_queue_size
secret: secret
self_volume_id: selfVolumeId
sep_id: sepId
sep_pool_name: pool
shareable: shareable
size__DiskAPIParamsNM: size
size_iops_sec: size_iops_sec
size_max: sizeMax
size_used: sizeUsed
snapshot_set_guid: snapSetGuid
snapshot_set_timestamp: snapSetTime
snapshot_sets: snapSets
snapshots: snapshots
sort_by: sortBy
start: start
stateless_sep_id: statelessSepId
stateless_sep_type: statelessSepType
status: status
storage: CU_DM
storage_id: storageId
storage_quota: maxVDiskCapacity
system_name: IS
tags: tags
target: target
tech_status: techStatus
timestamp: timestamp
topology: topology
total_bytes_sec: total_bytes_sec
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
tx_mode: txmode
tx_queue_size: tx_queue_size
type: type
uniq_pools: uniqPools
updated_by: updatedBy
updated_timestamp: updatedTime
user_group_id: userGroupId
user_id: userId
user_managed: userManaged
user_name: username
value: value
vins_count: vinsConnected
vins_ids: vins
virtual_image_id: virtualImageId
virtual_image_name: virtualImageName
vm_ids: vms
vnf_ids: vnfs
vns_password: vncPasswd
volume_id: volumeId
without_boot_disk: withoutBootDisk
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

View File

@@ -0,0 +1,4 @@
# sdk_path_part: dynamix_path_part
add_user: addUser
delete_user: deleteUser
update_user: updateUser

View File

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

View File

@@ -0,0 +1,6 @@
import dynamix_sdk.base as _base
from .usermanager import *
class SystemAPI(_base.BaseAPI):
usermanager: SystemUsermanagerAPI

View File

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

View File

@@ -0,0 +1,9 @@
import dynamix_sdk.base as _base
from .whoami import *
class SystemUsermanagerAPI(
_base.BaseAPI,
SystemUsermanagerWhoamiProtocol,
):
pass

View File

@@ -0,0 +1,12 @@
import dynamix_sdk.base as _base
class SystemUsermanagerWhoamiResultModel(_base.BaseAPIResultModel):
admin: bool
name: str
roles: list[str]
class SystemUsermanagerWhoamiProtocol(_base.BasePostAPIFunctionProtocol):
def whoami(self) -> SystemUsermanagerWhoamiResultModel:
...