This commit is contained in:
2026-02-11 12:20:55 +03:00
parent fac66abef6
commit 66601495dd
84 changed files with 1168 additions and 1567 deletions

View File

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

View File

@@ -25,19 +25,19 @@ class AffinityPolicy(str, _AutoNameEnum):
class AffinityTopology(str, _AutoNameEnum):
vm = 'compute'
node = _enum_auto()
VM = 'compute'
NODE = 'node'
class BootDevice(str, _AutoNameEnum):
cdrom = _enum_auto()
hd = _enum_auto()
network = _enum_auto()
CDROM = 'cdrom'
HD = 'hd'
NETWORK = 'network'
class Chipset(str, _AutoNameEnum):
Q35 = _enum_auto()
i440fx = _enum_auto()
I440FX = 'i440fx'
class Driver(str, _AutoNameEnum):
@@ -61,27 +61,27 @@ class NetTypeForChangeIP(str, _AutoNameEnum):
class NumaAffinity(str, _AutoNameEnum):
none = _enum_auto()
strict = _enum_auto()
loose = _enum_auto()
NONE = 'none'
STRICT = 'strict'
LOOSE = 'loose'
class TXMode(str, _AutoNameEnum):
iothread = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
timer = _enum_auto()
IOTHREAD = 'iothread'
SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
TIMER = 'timer'
class Ioeventfd(str, _AutoNameEnum):
off = _enum_auto()
on = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
OFF = 'off'
ON = 'on'
SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
class EventIdx(str, _AutoNameEnum):
off = _enum_auto()
on = _enum_auto()
selected_by_hypervisor = 'selected by hypervisor'
OFF = 'off'
ON = 'on'
SELECTED_BY_HYPERVISOR = 'selected by hypervisor'
class ResourceGroupStatus(str, _AutoNameEnum):
@@ -103,13 +103,13 @@ 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()
CHANGEMAC = 'changemac'
CPUPIN = 'cpupin'
DPDK = 'dpdk'
HUGEPAGES = 'hugepages'
NUMA = 'numa'
TRUNK = 'trunk'
VFNIC = 'vfnic'
class RGDefaultNetTypeForSet(str, _AutoNameEnum):
@@ -124,10 +124,10 @@ class RGDefaultNetType(str, _AutoNameEnum):
class RGResourceType(str, _AutoNameEnum):
vm = 'compute'
k8s = _enum_auto()
lb = _enum_auto()
vins = _enum_auto()
VM = 'compute'
K8S = 'k8s'
LB = 'lb'
VINS = 'vins'
class DiskStatus(str, _AutoNameEnum):
@@ -185,8 +185,8 @@ class VMTechStatus(str, _AutoNameEnum):
class DiskType(str, _AutoNameEnum):
B = _enum_auto()
D = _enum_auto()
BOOT = 'B'
DATA = 'D'
class AccountStatus(str, _AutoNameEnum):
@@ -198,11 +198,11 @@ class AccountStatus(str, _AutoNameEnum):
class AccountResourceType(str, _AutoNameEnum):
vm = 'compute'
k8s = _enum_auto()
lb = _enum_auto()
vins = _enum_auto()
flipgroup = _enum_auto()
VM = 'compute'
K8S = 'k8s'
LB = 'lb'
VINS = 'vins'
FLIPGROUP = 'flipgroup'
class ImageTechStatus(str, _AutoNameEnum):
@@ -219,16 +219,16 @@ class ImageStatus(str, _AutoNameEnum):
class ImageType(str, _AutoNameEnum):
cdrom = _enum_auto()
linux = _enum_auto()
unknown = _enum_auto()
virtual = _enum_auto()
windows = _enum_auto()
CDROM = 'cdrom'
LINUX = 'linux'
UNKNOWN = 'unknown'
VIRTUAL = 'virtual'
WINDOWS = 'windows'
class NetIfaceNamingTemplate(str, _AutoNameEnum):
ens = _enum_auto()
eth = _enum_auto()
ENS = 'ens'
ETH = 'eth'
class VINSStatus(str, _AutoNameEnum):
@@ -290,17 +290,17 @@ class VINSInterfaceType(str, _AutoNameEnum):
class NATRuleProtocol(str, _AutoNameEnum):
tcp = _enum_auto()
udp = _enum_auto()
TCP = 'tcp'
UDP = 'udp'
class VNFDevType(str, _AutoNameEnum):
vyos = _enum_auto()
VYOS = 'vyos'
class BootMode(str, _AutoNameEnum):
bios = _enum_auto()
uefi = _enum_auto()
BIOS = 'bios'
UEFI = 'uefi'
class BServiceStatus(str, _AutoNameEnum):
@@ -358,6 +358,7 @@ class SEPType(str, _AutoNameEnum):
TATLIN = _enum_auto()
DORADO = _enum_auto()
SHARED = _enum_auto()
USTOR = _enum_auto()
class ExtNetStatus(str, _AutoNameEnum):
@@ -372,9 +373,9 @@ class ExtNetStatus(str, _AutoNameEnum):
class BootLoaderType(str, _AutoNameEnum):
linux = _enum_auto()
unknown = _enum_auto()
windows = _enum_auto()
LINUX = 'linux'
UNKNOWN = 'unknown'
WINDOWS = 'windows'
class FlipGroupClientType(str, _AutoNameEnum):
@@ -392,8 +393,8 @@ class FlipGroupNetType(str, _AutoNameEnum):
class PoolDiskType(str, _AutoNameEnum):
B = _enum_auto()
D = _enum_auto()
BOOT = 'B'
DATA = 'D'
ANY = _enum_auto()
@@ -447,16 +448,6 @@ class DataDisksChangeMode(str, _AutoNameEnum):
KEEP = _enum_auto()
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()
class AuthBroker(str, _AutoNameEnum):
DECS3O = 'decs3o'
BVS = 'bvs'
@@ -530,8 +521,8 @@ class VFPoolStatus(str, _AutoNameEnum):
class LinkState(str, _AutoNameEnum):
on = _enum_auto()
off = _enum_auto()
ON = 'on'
OFF = 'off'
class ZoneStatus(str, _AutoNameEnum):
@@ -618,3 +609,18 @@ class PCIDeviceStatus(str, _AutoNameEnum):
DISABLED = _enum_auto()
ENABLED = _enum_auto()
ERROR = _enum_auto()
class CPUAllocationMode(str, _AutoNameEnum):
STRICT = 'strict'
LOOSE = 'loose'
class SEPTechStatus(str, _AutoNameEnum):
DISABLED = _enum_auto()
ENABLED = _enum_auto()
class DiskCacheMode(str, _AutoNameEnum):
NONE = 'none'
WRITETHROUGH = 'writethrough'

View File

@@ -16,10 +16,15 @@ class DiskAPIParamsNM(_base.BaseAPIParamsNestedModel):
class InterfaceAPIParamsNM(_base.BaseAPIParamsNestedModel):
enabled: bool = True
net_id: int
net_prefix: None | int = None
net_type: _enums.NetType
sdn_logical_port_id: None | str = None
security_group_ids: None | list[int] = None
security_group_mode: bool = False
sdn_segment_id: None | str = None
sdn_object_group_id: None | str = None
sdn_logical_port_display_name: None | str = None
sdn_logical_port_description: None | str = None
ip_addr: None | str = None
mac: None | str = None

View File

@@ -7,14 +7,14 @@ from . import enums as _enums
class AccessAPIResultNM(_base.BaseAPIResultNestedModel):
explicit: bool
guid: str
guid: str | None = None
access_type: _enums.AccessType
status: str
type: str
user_group_id: str
user_name: str
can_be_deleted: None | bool = None
emails: list[str] | None = None
user_emails: list[str] | None = None
class AffinityRuleAPIResultNM(_base.BaseAPIResultNestedModel):
@@ -135,13 +135,13 @@ class VNFDevInterfaceAPIResultNM(_base.BaseAPIResultNestedModel):
class SnapshotSetAPIResultNM(_base.BaseAPIResultNestedModel):
disks: list[int]
disk_ids: list[int]
guid: str
label: str
timestamp: int
@property
def datetime(self):
@_base.computed_field
def datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.timestamp)
@@ -170,12 +170,12 @@ class SnapshotAPIResultNM(_base.BaseAPIResultNestedModel):
snapshot_set_timestamp: int
timestamp: int
@property
def datetime(self):
@_base.computed_field
def datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.timestamp)
@property
def snapshot_set_datetime(self):
@_base.computed_field
def snapshot_set_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.snapshot_set_timestamp)
@@ -190,13 +190,16 @@ class ReplicationAPIResultNM(_base.BaseAPIResultNestedModel):
class DiskForCAComputeListAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
sep_id: int | None = None
class DiskForCAComputeGetAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
acl: dict
blkdiscard: bool
boot_partition: int
bus_num: int
cache_mode: _enums.DiskCacheMode
created_by: str
created_timestamp: int
deleted_by: str
@@ -229,10 +232,9 @@ class DiskForCAComputeGetAPIResultNM(_base.BaseAPIResultNestedModel):
sep_id: int
sep_pool_name: str
shared: bool
size_available: float
size_available: float
size_available_gb: float
size_max_gb: int
size_used: float
size_used_gb: float
snapshots: list[SnapshotAPIResultNM]
status: _enums.DiskStatus
storage_policy_id: int
@@ -243,24 +245,24 @@ class DiskForCAComputeGetAPIResultNM(_base.BaseAPIResultNestedModel):
updated_by: str
updated_timestamp: int = 0
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def destruction_datetime(self):
@_base.computed_field
def destruction_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def purge_datetime(self):
@_base.computed_field
def purge_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -268,6 +270,8 @@ class DiskForListAndListDeletedAPIResultNM(_base.BaseAPIResultNestedModel):
account_id: int
account_name: str
acl: dict
blkdiscard: bool
cache_mode: _enums.DiskCacheMode
created_by: str
created_timestamp: int
deleted_by: str
@@ -294,10 +298,9 @@ class DiskForListAndListDeletedAPIResultNM(_base.BaseAPIResultNestedModel):
sep_pool_name: str
sep_type: _enums.SEPType
shared: bool
size_available: float
size_available: float
size_available_gb: float
size_max_gb: int
size_used: float
size_used_gb: float
snapshots: list[SnapshotAPIResultNM]
status: _enums.DiskStatus
storage_policy_id: int
@@ -310,24 +313,24 @@ class DiskForListAndListDeletedAPIResultNM(_base.BaseAPIResultNestedModel):
vms: dict[str, str]
updated_timestamp: int = 0
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def destruction_datetime(self):
@_base.computed_field
def destruction_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def purge_datetime(self):
@_base.computed_field
def purge_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -366,34 +369,33 @@ class DiskForListUnattachedAPIResultNM(_base.BaseAPIResultNestedModel):
sep_id: int
sep_pool_name: str
shared: bool
size_available: float
size_available: float
size_available_gb: float
size_max_gb: int
size_used: float
size_used_gb: float
snapshots: list[SnapshotAPIResultNM]
status: _enums.DiskStatus
tech_status: _enums.DiskTechStatus
type: _enums.DiskType
updated_timestamp: int = 0
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def destruction_datetime(self):
@_base.computed_field
def destruction_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def purge_datetime(self):
@_base.computed_field
def purge_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -405,7 +407,6 @@ class StoragePolicyQuotasAPIResultNM(_base.BaseAPIResultNestedModel):
class TenantQuotasAPIResultNM(_base.BaseAPIResultNestedModel):
cpu_count: int
disk_size_gb: int
ext_traffic: int
gpu_count: int
ext_ip_count: int
ram_size_mb: float | int
@@ -439,7 +440,7 @@ class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
secret: str
status: _enums.ResourceGroupStatus
storage_policy_ids: list[int]
uniq_pools: list[str]
sep_pools: list[str]
updated_by: str
updated_timestamp: int
vins_ids: list[int]
@@ -447,16 +448,16 @@ class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel):
dirty: bool | None = None
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -472,16 +473,16 @@ class AccountForCAAPIResultNM(_base.BaseAPIResultNestedModel):
vm_features: list[_enums.VMFeature]
zone_ids: list[int]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -492,8 +493,8 @@ class GuestAgentAPIResultNM(_base.BaseAPIResultNestedModel):
last_update_timestamp: int
user_name: str
@property
def last_update_datetime(self):
@_base.computed_field
def last_update_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.last_update_timestamp)
@@ -518,16 +519,16 @@ class VGPUAPIResultNM(_base.BaseAPIResultNestedModel):
status: _enums.VGPUStatus
vm_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def last_update_datetime(self):
@_base.computed_field
def last_update_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.last_update_timestamp)
@@ -558,7 +559,7 @@ class VMAPIResultNM(_base.BaseAPIResultNestedModel):
deleted_by: str
deleted_timestamp: int
description: str
devices: dict
pci_devices: dict[str, int]
disks: list[DiskForCAComputeListAPIResultNM]
driver: _enums.Driver
grid_id: int
@@ -579,9 +580,10 @@ class VMAPIResultNM(_base.BaseAPIResultNestedModel):
numa_affinity: _enums.NumaAffinity
numa_node_id: int
os_version: str
pinned_to_stack: bool
pinned_to_node: bool
preferred_cpu_cores: list[int]
ram_size_mb: int
read_only: bool
reference_id: str
res_name: str
reserved_cpu_cores: list[int]
@@ -593,7 +595,7 @@ class VMAPIResultNM(_base.BaseAPIResultNestedModel):
status: _enums.VMStatus
tags: dict
tech_status: _enums.VMTechStatus
total_disks_size: int
total_disks_size_gb: int
updated_by: str
updated_timestamp: int
user_managed: bool
@@ -603,16 +605,16 @@ class VMAPIResultNM(_base.BaseAPIResultNestedModel):
guest_agent: GuestAgentAPIResultNM
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -642,8 +644,8 @@ class ImageForListAPIResultNM(_base.BaseAPIResultNestedModel):
type: _enums.ImageType
virtual: bool | None = None
@property
def boot_loader_type(self):
@_base.computed_field
def boot_loader_type(self) -> _enums.BootLoaderType | None:
if self.type in _enums.BootLoaderType._member_names_:
return _enums.BootLoaderType[self.type]
@@ -653,8 +655,8 @@ class ImageHistoryRecordAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
timestamp: int
@property
def datetime(self):
@_base.computed_field
def datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.timestamp)
@@ -683,16 +685,16 @@ class VINSForListAPIResultNM(_base.BaseAPIResultNestedModel):
updated_timestamp: int
vxlan_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -715,16 +717,16 @@ class VINSForListDeletedAPIResultNM(_base.BaseAPIResultNestedModel):
updated_timestamp: int
vxlan_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -817,8 +819,8 @@ class DHCPVNFAPIResultNM(_base.BaseAPIResultNestedModel):
type: _enums.VNFType
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@@ -841,8 +843,8 @@ class GWVNFAPIResultNM(_base.BaseAPIResultNestedModel):
type: _enums.VNFType
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@@ -865,8 +867,8 @@ class NATVNFAPIResultNM(_base.BaseAPIResultNestedModel):
type: _enums.VNFType
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@@ -880,13 +882,13 @@ class VNFDevMGMTConfigAPIResultNM(_base.BaseAPIResultNestedModel):
ip_addr: str
password: str
ssh_public_key: str
user: str
user_name: str
class VNFDevResourcesConfigAPIResultNM(_base.BaseAPIResultNestedModel):
cpu_count: int
ram_size_mb: int
stack_id: int | None
node_id: int | None
uuid: str
@@ -936,7 +938,7 @@ class BServiceVMAPIResultNM(_base.BaseAPIResultNestedModel):
rg_id: int
status: _enums.VMStatus
tech_status: _enums.VMTechStatus
stack_id: int | None
node_id: int | None
bsgroup_name: str
bsgroup_role: str
@@ -947,8 +949,8 @@ class BServiceSnapshotAPIResultNM(_base.BaseAPIResultNestedModel):
valid: bool
guid: str
@property
def datetime(self):
@_base.computed_field
def datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.timestamp)
@@ -977,16 +979,16 @@ class BServiceAPIResultNM(_base.BaseAPIResultNestedModel):
user_managed: bool
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1124,16 +1126,16 @@ class LBAPIResultNM(_base.BaseAPIResultNestedModel):
vins_id: int
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1149,13 +1151,6 @@ class SEPAPIResultNM(_base.BaseAPIResultNestedModel):
pools: list[SEPPoolAPIResultNM]
class StackAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
status: _enums.PhysicalNodeStatus
type: str
class LocationAPIResultNM(_base.BaseAPIResultNestedModel):
auth_broker: list[_enums.AuthBroker]
flag: str
@@ -1189,12 +1184,12 @@ class TaskAPIResultNM(_base.BaseAPIResultNestedModel):
updated_by: None | str = None
updated_timestamp: None | int = None
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
if self.updated_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1209,8 +1204,8 @@ class K8CIForListAPIResultNM(_base.BaseAPIResultNestedModel):
status: _enums.K8CIStatus
version: str
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@@ -1306,16 +1301,16 @@ class K8sAPIResultNM(_base.BaseAPIResultNestedModel):
worker_groups: list[WorkerGroupAPIResultNM]
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1335,12 +1330,12 @@ class DPDKNetAPIResultNM(_base.BaseAPIResultNestedModel):
vlan_id: int
vm_ids: list[int]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1376,12 +1371,12 @@ class VFPoolAPIResultNM(_base.BaseAPIResultNestedModel):
updated_timestamp: int
nodes: list[VFPoolNodeAPIResultNM]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1393,16 +1388,17 @@ class ZoneForListAPIResultNM(_base.BaseAPIResultNestedModel):
guid: int
id: int
name: str
node_auto_start: bool
node_ids: list[int]
status: _enums.ZoneStatus
updated_timestamp: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1413,7 +1409,7 @@ class SecurityGroupRuleAPIResultNM(_base.BaseAPIResultNestedModel):
port_range_min: int | None
protocol: _enums.SGRuleProtocol | None
remote_group_id: int | None = None
remote_ip_prefix: str | None
remote_net_cidr: str | None
traffic_direction: _enums.TrafficDirection
@@ -1427,6 +1423,7 @@ class TrunkAPIResultNM(_base.BaseAPIResultNestedModel):
guid: int
id: int
mac: str
mtu: int
name: str
native_vlan_id: int | None
ovs_bridge: str
@@ -1435,18 +1432,18 @@ class TrunkAPIResultNM(_base.BaseAPIResultNestedModel):
updated_timestamp: int | None
vlan_ids: str
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
if self.deleted_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
if self.updated_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1456,6 +1453,7 @@ class SEPPoolsAPIResultNM(_base.BaseAPIResultNestedModel):
pool_names: list[str]
sep_id: int
sep_name: str | None = None
sep_tech_status: _enums.SEPTechStatus | None = None
class TenantIDsAPIResultNM(_base.BaseAPIResultNestedModel):
@@ -1494,12 +1492,12 @@ class SecurityGroupAPIResultNM(_base.BaseAPIResultNestedModel):
updated_by: str | None
updated_timestamp: int | None
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
if self.updated_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1515,9 +1513,9 @@ class MigrateStorageJobAPIResultNM(_base.BaseAPIResultNestedModel):
domain_name: str
id: int
log: list[str]
source_stack_id: int
source_node_id: int
status: _enums.JobStatus
target_stack_id: int
target_node_id: int
class AuditAPIResultNM(_base.BaseAPIResultNestedModel):
@@ -1546,12 +1544,12 @@ class AuditAPIResultNM(_base.BaseAPIResultNestedModel):
vins_id: int | None = None
vm_id: int | None = None
@property
def request_datetime(self):
@_base.computed_field
def request_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.request_timestamp)
@property
def response_datetime(self):
@_base.computed_field
def response_datetime(self) -> _base.datetime | None:
if self.response_timestamp is None:
return None
return self._get_datetime_from_timestamp(self.response_timestamp)
@@ -1579,8 +1577,8 @@ class UserAPIResultNM(_base.BaseAPIResultNestedModel):
service_account: bool
xmpp: list[_typing.Any]
@property
def last_check_datetime(self):
@_base.computed_field
def last_check_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.last_check_timestamp)
@@ -1602,7 +1600,6 @@ class ResourceCountersAPIResultNM(_base.BaseAPIResultNestedModel):
storage_size_gb_by_real_usage: int | float
storage_size_gb_by_disk_max: int
ext_ip_count: int
ext_traffic: int
gpu_count: int
sep_pools: dict[str, dict[str, StorageCountersAPIResultNM]]
storage_policies: dict[str, StoragePolicyCountersAPIResultNM]
@@ -1613,7 +1610,6 @@ class TenantQuotasForResourceConsumptionAPIResultNM(
):
cpu_count: int
disk_size_gb: int
ext_traffic: int
gpu_count: int
ext_ip_count: int
ram_size_mb: float | int
@@ -1628,7 +1624,7 @@ class PCIDeviceAPIResultNM(_base.BaseAPIResultNestedModel):
id: int
name: str
rg_id: int
stack_id: int
node_id: int
status: _enums.PCIDeviceStatus
system_name: str
@@ -1667,22 +1663,22 @@ class ResourceGroupForListDeletedAPIResultNM(_base.BaseAPIResultNestedModel):
secret: str
status: _enums.ResourceGroupStatus
storage_policy_ids: list[int]
uniq_pools: list[str]
sep_pools: list[str]
updated_by: str
updated_timestamp: int
vins_ids: list[int]
vm_ids: list[int]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)
@@ -1720,21 +1716,21 @@ class AccountForCBAPIResultNM(_base.BaseAPIResultNestedModel):
send_access_emails: bool
status: _enums.AccountStatus
storage_policy_ids: list[int]
uniq_pools: list[str]
sep_pools: list[str]
updated_timestamp: int
version: int
vm_features: list[_enums.VMFeature]
zone_ids: list[int]
zones: list[int]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -17,7 +17,6 @@ from .pcidevice import *
from .rg import *
from .security_group import *
from .sep import *
from .stack import *
from .storage_policy import *
from .tasks import *
from .trunk import *
@@ -47,7 +46,6 @@ class CloudapiAPI(_base.BaseAPI):
rg: CloudapiRgAPI
security_group: CloudapiSecurityGroupAPI
sep: CloudapiSepAPI
stack: CloudapiStackAPI
storage_policy: CloudapiStoragePolicyAPI
tasks: CloudapiTasksAPI
trunk: CloudapiTrunkAPI

View File

@@ -26,7 +26,7 @@ class CloudapiAccountGetResultModel(_base.BaseAPIResultModel):
send_access_emails: bool
status: _nested.AccountStatus
storage_policy_ids: list[int]
uniq_pools: list[str]
sep_pools: list[str]
updated_timestamp: int
version: int
vins_count: int
@@ -34,20 +34,20 @@ class CloudapiAccountGetResultModel(_base.BaseAPIResultModel):
vm_features: list[_nested.VMFeature]
zones: list[_nested.ZoneAPIResultNM]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deactivation_datetime(self):
@_base.computed_field
def deactivation_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deactivation_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

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

View File

@@ -34,16 +34,16 @@ class CloudapiBserviceGetResultModel(_base.BaseAPIResultModel):
vms: list[_nested.BServiceVMAPIResultNM]
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -50,7 +50,7 @@ from .pause import *
from .pfw_add import *
from .pfw_del import *
from .pfw_list import *
from .pin_to_stack import *
from .pin_to_node import *
from .power_cycle import *
from .reboot import *
from .redeploy import *
@@ -66,7 +66,7 @@ from .start import *
from .stop import *
from .tag_add import *
from .tag_remove import *
from .unpin_from_stack import *
from .unpin_from_node import *
from .update import *
from .user_grant import *
from .user_list import *
@@ -127,7 +127,7 @@ class CloudapiComputeAPI(
CloudapiComputePfwAddProtocol,
CloudapiComputePfwDelProtocol,
CloudapiComputePfwListProtocol,
CloudapiComputePinToStackProtocol,
CloudapiComputePinToNodeProtocol,
CloudapiComputePowerCycleProtocol,
CloudapiComputeRebootProtocol,
CloudapiComputeRedeployProtocol,
@@ -143,7 +143,7 @@ class CloudapiComputeAPI(
CloudapiComputeStopProtocol,
CloudapiComputeTagAddProtocol,
CloudapiComputeTagRemoveProtocol,
CloudapiComputeUnpinFromStackProtocol,
CloudapiComputeUnpinFromNodeProtocol,
CloudapiComputeUpdateProtocol,
CloudapiComputeUserGrantProtocol,
CloudapiComputeUserListProtocol,

View File

@@ -14,7 +14,7 @@ class CloudapiComputeDiskAddProtocol(_base.BasePostAPIFunctionProtocol):
name: str,
disk_size_gb: int,
storage_policy_id: int,
disk_type: _nested.DiskType = _nested.DiskType.D,
disk_type: _nested.DiskType = _nested.DiskType.DATA,
sep_id: int | None = None,
sep_pool_name: str | None = None,
description: str | None = None,

View File

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

View File

@@ -55,9 +55,10 @@ class CloudapiComputeGetResultModel(_base.BaseAPIResultModel):
numa_node_id: int
os_users: list[_nested.OSUserAPIResultNM]
os_version: str
pinned_to_stack: bool
pinned_to_node: bool
preferred_cpu_cores: list[int]
ram_size_mb: int
read_only: bool
reference_id: str
res_name: str
reserved_cpu_cores: list[int]
@@ -84,16 +85,16 @@ class CloudapiComputeGetResultModel(_base.BaseAPIResultModel):
natable_vins_network: str = ''
natable_vins_network_name: str = ''
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -23,5 +23,10 @@ class CloudapiComputeNetAttachProtocol(_base.BasePostAPIFunctionProtocol):
mtu: None | int = None,
mac: None | str = None,
sdn_logical_port_id: None | str = None,
net_prefix: int | None = None,
sdn_segment_id: str | None = None,
sdn_object_group_id: str | None = None,
sdn_logical_port_display_name: str | None = None,
sdn_logical_port_description: str | None = None,
) -> CloudapiComputeNetAttachResultModel:
...

View File

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

View File

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

View File

@@ -11,7 +11,7 @@ class CloudapiComputeRedeployProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
vm_id: int,
storage_policy_id: int,
storage_policy_id: int | None = None,
start: bool = False,
boot_disk_size_gb: int | None = None,
data_disks_change_mode: _nested.DataDisksChangeMode = (

View File

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

View File

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

View File

@@ -6,6 +6,8 @@ class CloudapiDisksGetResultModel(_base.BaseAPIResultModel):
account_id: int
account_name: str
acl: dict
blkdiscard: bool
cache_mode: _nested.DiskCacheMode
created_by: str
created_timestamp: int
deleted_by: str
@@ -32,9 +34,9 @@ class CloudapiDisksGetResultModel(_base.BaseAPIResultModel):
sep_pool_name: str
sep_type: _nested.SEPType
shared: bool
size_available: float
size_available_gb: float
size_max_gb: int
size_used: float
size_used_gb: float
snapshots: list[_nested.SnapshotAPIResultNM]
status: _nested.DiskStatus
storage_policy_id: int
@@ -47,24 +49,24 @@ class CloudapiDisksGetResultModel(_base.BaseAPIResultModel):
vms: dict[str, str]
updated_timestamp: int = 0
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def destruction_datetime(self):
@_base.computed_field
def destruction_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.destruction_timestamp)
@property
def purge_datetime(self):
@_base.computed_field
def purge_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.purge_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -25,22 +25,20 @@ class CloudapiFlipgroupGetResultModel(_base.BaseAPIResultModel):
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
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -20,7 +20,6 @@ class CloudapiFlipgroupListProtocol(_base.BasePostAPIFunctionProtocol):
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.FlipGroupStatus | None = None,
vins_id: int | None = None,

View File

@@ -18,7 +18,7 @@ class CloudapiImageCreateProtocol(_base.BasePostAPIFunctionProtocol):
storage_policy_id: int,
hot_resize: bool = False,
network_interface_naming: _nested.NetIfaceNamingTemplate = (
_nested.NetIfaceNamingTemplate.ens
_nested.NetIfaceNamingTemplate.ENS
),
download_password: str | None = None,
os_password: str | None = None,

View File

@@ -12,7 +12,6 @@ class CloudapiImageGetResultModel(_base.BaseAPIResultModel):
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]
@@ -32,7 +31,7 @@ class CloudapiImageGetResultModel(_base.BaseAPIResultModel):
present_to: dict[str, int]
provider_name: str
purge_attempt_count: int
res_id: str
res_id: str | None
rescue_cd: bool
sep_id: int
sep_pool_name: str
@@ -48,13 +47,13 @@ class CloudapiImageGetResultModel(_base.BaseAPIResultModel):
version: str
vm_ci_id: int
@property
def boot_loader_type(self):
@_base.computed_field
def boot_loader_type(self) -> _nested.BootLoaderType | None:
if self.type in _nested.BootLoaderType._member_names_:
return _nested.BootLoaderType[self.type]
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)

View File

@@ -44,7 +44,7 @@ class CloudapiK8sCreateProtocol(_base.BasePostAPIFunctionProtocol):
extnet_only: bool = False,
ci_user_data: str | None = None,
additional_sans: list[str] | None = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
chipset: _nested.Chipset = _nested.Chipset.Q35,
lb_sysctl_params: list[dict[str, str]] | None = None,
zone_id: int | None = None,
) -> CloudapiK8sCreateResultStr:

View File

@@ -31,16 +31,16 @@ class CloudapiK8sGetResultModel(_base.BaseAPIResultModel):
with_lb: bool
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -13,6 +13,6 @@ class CloudapiK8sWorkerAddProtocol(_base.BasePostAPIFunctionProtocol):
k8s_id: int,
worker_group_id: int,
node_count: int = 1,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
chipset: _nested.Chipset = _nested.Chipset.Q35,
) -> CloudapiK8sWorkerAddResultBool:
...

View File

@@ -23,6 +23,6 @@ class CloudapiK8sWorkersGroupAddProtocol(_base.BasePostAPIFunctionProtocol):
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,
chipset: _nested.Chipset = _nested.Chipset.Q35,
) -> CloudapiK8sWorkersGroupAddResultStr:
...

View File

@@ -16,7 +16,7 @@ class CloudapiKvmx86CreateProtocol(_base.BasePostAPIFunctionProtocol):
rg_id: int,
storage_policy_id: int,
boot_disk_size_gb: None | int = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
chipset: _nested.Chipset = _nested.Chipset.Q35,
ci_user_data: None | dict = None,
cpu_pin: bool = False,
custom_fields: None | str = None,
@@ -26,7 +26,7 @@ class CloudapiKvmx86CreateProtocol(_base.BasePostAPIFunctionProtocol):
image_id: None | int = None,
interfaces: None | list[_nested.InterfaceAPIParamsNM] = None,
ipa_type: None | str = None,
numa_affinity: _nested.NumaAffinity = _nested.NumaAffinity.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,

View File

@@ -16,7 +16,7 @@ class CloudapiKvmx86CreateBlankProtocol(_base.BasePostAPIFunctionProtocol):
rg_id: int,
storage_policy_id: int,
boot_disk_size_gb: None | int = None,
chipset: _nested.Chipset = _nested.Chipset.i440fx,
chipset: _nested.Chipset = _nested.Chipset.Q35,
data_disks: None | list[_nested.DiskAPIParamsNM] = None,
description: None | str = None,
interfaces: None | list[_nested.InterfaceAPIParamsNM] = None,
@@ -25,14 +25,17 @@ class CloudapiKvmx86CreateBlankProtocol(_base.BasePostAPIFunctionProtocol):
sep_pool_name: None | str = None,
without_boot_disk: bool = False,
boot_loader_type: _nested.BootLoaderType = (
_nested.BootLoaderType.unknown
_nested.BootLoaderType.UNKNOWN
),
boot_mode: _nested.BootMode = _nested.BootMode.bios,
boot_mode: _nested.BootMode = _nested.BootMode.BIOS,
network_interface_naming: _nested.NetIfaceNamingTemplate = (
_nested.NetIfaceNamingTemplate.ens
_nested.NetIfaceNamingTemplate.ENS
),
hot_resize: bool = False,
zone_id: None | int = None,
os_version: None | str = None,
cpu_pin: bool = False,
hp_backed: bool = False,
numa_affinity: _nested.NumaAffinity = _nested.NumaAffinity.NONE,
) -> CloudapiKvmx86CreateBlankResultInt:
...

View File

@@ -40,16 +40,16 @@ class CloudapiLbGetResultModel(_base.BaseAPIResultModel):
vins_id: int
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -21,7 +21,6 @@ class CloudapiRgCreateProtocol(_base.BasePostAPIFunctionProtocol):
description: str | None = None,
ext_net_id: int | None = None,
ext_net_ip: str | None = None,
ext_traffic_quota: int | None = None,
ip_cidr: str | None = None,
owner: str | None = None,
ext_ip_count_quota: int | None = None,

View File

@@ -11,15 +11,14 @@ class CloudapiRgUpdateProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
rg_id: int,
clear_uniq_pools: bool = False,
clear_sep_pools: bool = False,
cpu_count_quota: None | int = None,
description: None | str = None,
ext_traffic_quota: None | int = None,
name: None | str = None,
ext_ip_count_quota: None | int = None,
ram_size_quota_mb: None | int = None,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
storage_policies: None | list[_nested.StoragePolicyQuotasAPIParamsNM] = None, # noqa: E501
sep_pools: None | list[str] = None,
storage_policies_quotas: None | list[_nested.StoragePolicyQuotasAPIParamsNM] = None, # noqa: E501
) -> CloudapiRgUpdateResultBool:
...

View File

@@ -18,6 +18,6 @@ class CloudapiSecurityGroupCreateRuleProtocol(
protocol: _nested.SGRuleProtocol | None = None,
port_range_max: int | None = None,
port_range_min: int | None = None,
remote_ip_prefix: str | None = None,
remote_net_cidr: str | None = None,
) -> CloudapiSecurityGroupCreateRuleResultInt:
...

View File

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

View File

@@ -1,11 +0,0 @@
import dynamix_sdk.base as _base
from .get import *
from .list import *
class CloudapiStackAPI(
_base.BaseAPI,
CloudapiStackGetProtocol,
CloudapiStackListProtocol,
):
pass

View File

@@ -1,22 +0,0 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
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):
def get(
self,
*,
stack_id: int,
) -> CloudapiStackGetResultModel:
...

View File

@@ -1,22 +0,0 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudapiStackListResultModel(_base.BaseAPIResultModel):
data: list[_nested.StackAPIResultNM]
entry_count: int
class CloudapiStackListProtocol(_base.BasePostAPIFunctionProtocol):
def list(
self,
*,
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.PhysicalNodeStatus | None = None,
type: str | None = None,
) -> CloudapiStackListResultModel:
...

View File

@@ -23,5 +23,6 @@ class CloudapiStoragePolicyListProtocol(_base.BaseGetAPIFunctionProtocol):
sep_pool_name: str | None = None,
sort_by: str | None = None,
status: _nested.StoragePolicyStatus | None = None,
sep_tech_status: _nested.SEPTechStatus | None = None,
) -> CloudapiStoragePolicyListResultModel:
...

View File

@@ -38,16 +38,16 @@ class CloudapiVinsGetResultModel(_base.BaseAPIResultModel):
vxlan_id: int
zone_id: int
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -14,7 +14,7 @@ class CloudapiVinsNatRuleAddProtocol(_base.BasePostAPIFunctionProtocol):
public_port_start: int,
vins_id: int,
local_port: int | None = None,
protocol: _nested.NATRuleProtocol = _nested.NATRuleProtocol.tcp,
protocol: _nested.NATRuleProtocol = _nested.NATRuleProtocol.TCP,
public_port_end: int | None = None,
) -> CloudapiVinsNatRuleAddResultInt:
...

View File

@@ -15,18 +15,19 @@ class CloudapiZoneGetResultModel(_base.BaseAPIResultModel):
k8s_ids: list[int]
lb_ids: list[int]
name: str
node_auto_start: bool
node_ids: list[int]
status: _nested.ZoneStatus
updated_timestamp: int
vins_ids: list[int]
vm_ids: list[int]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -17,6 +17,12 @@ from .list import *
from .list_deleted import *
from .remove_zone import *
from .restore import *
from .set_cpu_allocation_parameter import *
from .set_cpu_allocation_ratio import *
from .update import *
from .update_compute_features import *
from .update_resource_types import *
from .update_user import *
class CloudbrokerAccountAPI(
@@ -39,5 +45,11 @@ class CloudbrokerAccountAPI(
CloudbrokerAccountListProtocol,
CloudbrokerAccountRemoveZoneProtocol,
CloudbrokerAccountRestoreProtocol,
CloudbrokerAccountSetCpuAllocationParameterProtocol,
CloudbrokerAccountSetCpuAllocationRatioProtocol,
CloudbrokerAccountUpdateProtocol,
CloudbrokerAccountUpdateComputeFeaturesProtocol,
CloudbrokerAccountUpdateResourceTypesProtocol,
CloudbrokerAccountUpdateUserProtocol,
):
pass

View File

@@ -14,6 +14,6 @@ class CloudbrokerAccountAddUserProtocol(
*,
account_id: int,
user_name: str,
access_type: _nested.AccessType,
access_type: _nested.AccessTypeForSet,
) -> CloudbrokerAccountAddUserResultBool:
...

View File

@@ -16,13 +16,12 @@ class CloudbrokerAccountCreateProtocol(_base.BasePostAPIFunctionProtocol):
cpu_count_quota: None | int = None,
email_address: None | str = None,
storage_policy_quotas: list[_nested.StoragePolicyQuotasAPIParamsNM] | None = None, # noqa: E501
ext_traffic_quota: None | int = None,
gpu_count_quota: None | int = None,
ext_ip_count_quota: None | int = None,
ram_size_quota_mb: None | int = None,
send_access_emails: bool = False,
storage_size_quota_gb: None | int = None,
uniq_pools: None | list[str] = None,
sep_pools: None | list[str] = None,
description: str | None = None,
zone_ids: None | list[int] = None,
default_zone_id: None | int = None,

View File

@@ -26,26 +26,26 @@ class CloudbrokerAccountGetResultModel(_base.BaseAPIResultModel):
send_access_emails: bool
status: _nested.AccountStatus
storage_policy_ids: list[int]
uniq_pools: list[str]
sep_pools: list[str]
updated_timestamp: int
version: int
vm_features: list[_nested.VMFeature]
zones: list[_nested.ZoneAPIResultNM]
@property
def created_datetime(self):
@_base.computed_field
def created_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.created_timestamp)
@property
def deactivation_datetime(self):
@_base.computed_field
def deactivation_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deactivation_timestamp)
@property
def deleted_datetime(self):
@_base.computed_field
def deleted_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.deleted_timestamp)
@property
def updated_datetime(self):
@_base.computed_field
def updated_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.updated_timestamp)

View File

@@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerAccountSetCpuAllocationParameterResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudbrokerAccountSetCpuAllocationParameterProtocol(
_base.BasePostAPIFunctionProtocol,
):
def set_cpu_allocation_parameter(
self,
*,
account_id: int,
cpu_allocation_mode: _nested.CPUAllocationMode,
) -> CloudbrokerAccountSetCpuAllocationParameterResultBool:
...

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
class CloudbrokerAccountSetCpuAllocationRatioResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudbrokerAccountSetCpuAllocationRatioProtocol(
_base.BasePostAPIFunctionProtocol,
):
def set_cpu_allocation_ratio(
self,
*,
account_id: int,
ratio: float,
) -> CloudbrokerAccountSetCpuAllocationRatioResultBool:
...

View File

@@ -0,0 +1,27 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerAccountUpdateResultBool(_base.BaseAPIResultBool):
pass
class CloudbrokerAccountUpdateProtocol(_base.BasePostAPIFunctionProtocol):
def update(
self,
*,
account_id: int,
name: None | str = None,
ram_size_quota_mb: None | int = None,
storage_size_quota_gb: None | int = None,
cpu_count_quota: None | int = None,
ext_ip_count_quota: None | int = None,
send_access_emails: bool | None = None,
gpu_count_quota: None | int = None,
sep_pools: None | list[str] = None,
description: str | None = None,
clear_sep_pools: bool = False,
default_zone_id: int | None = None,
storage_policies_quotas: list[_nested.StoragePolicyQuotasAPIParamsNM] | None = None, # noqa: E501
) -> CloudbrokerAccountUpdateResultBool:
...

View File

@@ -0,0 +1,20 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerAccountUpdateComputeFeaturesResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudbrokerAccountUpdateComputeFeaturesProtocol(
_base.BasePostAPIFunctionProtocol,
):
def update_compute_features(
self,
*,
account_id: int,
vm_features: list[_nested.VMFeature] | None = None,
) -> CloudbrokerAccountUpdateComputeFeaturesResultBool:
...

View File

@@ -0,0 +1,18 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerAccountUpdateResourceTypesResultBool(_base.BaseAPIResultBool):
pass
class CloudbrokerAccountUpdateResourceTypesProtocol(
_base.BasePostAPIFunctionProtocol,
):
def update_resource_types(
self,
*,
account_id: int,
resource_types: list[_nested.AccountResourceType],
) -> CloudbrokerAccountUpdateResourceTypesResultBool:
...

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerAccountUpdateUserResultBool(_base.BaseAPIResultBool):
pass
class CloudbrokerAccountUpdateUserProtocol(
_base.BasePostAPIFunctionProtocol,
):
def update_user(
self,
*,
account_id: int,
user_name: str,
access_type: _nested.AccessTypeForSet,
) -> CloudbrokerAccountUpdateUserResultBool:
...

View File

@@ -1,4 +1,5 @@
import dynamix_sdk.base as _base
from .change_read_only import *
from .change_security_groups import *
from .clone import *
from .clone_abort import *
@@ -11,6 +12,7 @@ from .stop_migration_out import *
class CloudbrokerComputeAPI(
_base.BaseAPI,
CloudbrokerComputeChangeReadOnlyProtocol,
CloudbrokerComputeChangeSecurityGroupsProtocol,
CloudbrokerComputeCloneProtocol,
CloudbrokerComputeCloneAbortProtocol,

View File

@@ -0,0 +1,19 @@
import dynamix_sdk.base as _base
class CloudbrokerComputeChangeReadOnlyResultBool(
_base.BaseAPIResultBool,
):
pass
class CloudbrokerComputeChangeReadOnlyProtocol(
_base.BasePostAPIFunctionProtocol
):
def change_read_only(
self,
*,
vm_id: int,
read_only: bool,
) -> CloudbrokerComputeChangeReadOnlyResultBool:
...

View File

@@ -16,6 +16,6 @@ class CloudbrokerComputeCloneProtocol(_base.BasePostAPIFunctionProtocol):
snapshot_name: str | None = None,
sep_pool_name: str | None = None,
sep_id: int | None = None,
storage_policy_id: int | None = None,
storage_policy_id: int,
) -> CloudbrokerComputeCloneResultStr:
...

View File

@@ -14,6 +14,6 @@ class CloudbrokerComputeStartMigrationInProtocol(
self,
*,
vm_id: int,
stack_id: int | None = None,
node_id: int | None = None,
) -> CloudbrokerComputeStartMigrationInResultStr:
...

View File

@@ -18,6 +18,6 @@ class CloudbrokerSecurityGroupCreateRuleProtocol(
protocol: _nested.SGRuleProtocol | None = None,
port_range_max: int | None = None,
port_range_min: int | None = None,
remote_ip_prefix: str | None = None,
remote_net_cidr: str | None = None,
) -> CloudbrokerSecurityGroupCreateRuleResultInt:
...

View File

@@ -23,5 +23,6 @@ class CloudbrokerStoragePolicyListProtocol(_base.BaseGetAPIFunctionProtocol):
sep_pool_name: str | None = None,
sort_by: str | None = None,
status: _nested.StoragePolicyStatus | None = None,
sep_tech_status: _nested.SEPTechStatus | None = None,
) -> CloudbrokerStoragePolicyListResultModel:
...

View File

@@ -2,7 +2,7 @@ import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested
class CloudbrokerUserCreateResultBool(_base.BaseAPIResultBool):
class CloudbrokerUserCreateResultStr(_base.BaseAPIResultStr):
pass
@@ -11,9 +11,9 @@ class CloudbrokerUserCreateProtocol(_base.BasePostAPIFunctionProtocol):
self,
*,
user_name: str,
email_addresses: list[str],
email_address: str,
password: str,
api_access_group_ids: list[int] | None = None,
auth_broker: _nested.AuthBroker | None = None,
) -> CloudbrokerUserCreateResultBool:
) -> CloudbrokerUserCreateResultStr:
...

View File

@@ -26,8 +26,8 @@ class CloudbrokerUserGetResultModel(_base.BaseAPIResultModel):
service_account: bool
xmpp: list[_typing.Any]
@property
def last_check_datetime(self):
@_base.computed_field
def last_check_datetime(self) -> _base.datetime | None:
return self._get_datetime_from_timestamp(self.last_check_timestamp)

View File

@@ -14,8 +14,8 @@ class CloudbrokerUserListProtocol(_base.BasePostAPIFunctionProtocol):
active: bool | None = None,
email: str | None = None,
name: str | None = None,
page_number: int | None = None,
page_size: int | None = None,
page_number: int = 1,
page_size: int = 100,
service_account: bool | None = None,
sort_by: str | None = None,
) -> CloudbrokerUserListResultModel:

View File

@@ -87,6 +87,7 @@ bandwidth_limit: bandwidth
base_domain: baseDomain
binding_name: bindingName
bindings: bindings
blkdiscard: blkdiscard
blocked: blocked
boot_cdrom_image_id: altBootId
boot_disk_size_gb: bootdiskSize
@@ -124,6 +125,7 @@ bus_num: bus_number
bus_num__VGPUAPIResultNM: bus_number
bus_num_hex__CloudapiComputeDiskAddParamsModel: bus_number
bus_num_hex__CloudapiComputeDiskAttachParamsModel: bus_number
cache_mode: cache
can_be_deleted: canBeDeleted
capabilities: capabilities
cd_presented_to: cdPresentedTo
@@ -134,6 +136,8 @@ cdrom_image_id__VMAPIResultNM: cdImageId
cdrom_mapping: cdrommap
check: check
check_ips: checkIps
child_id__CloudapiBserviceGroupParentAddParamsModel: compgroupId
child_id__CloudapiBserviceGroupParentRemoveParamsModel: compgroupId
chipset: chipset
ci_user_data: userdata
ci_user_data__CloudapiBserviceGroupAddParamsModel: userData
@@ -142,7 +146,7 @@ ci_user_data__CloudapiK8sUpdateWorkerNodesMetaDataParamsModel: userData
ci_user_data__CloudapiK8sWorkersGroupAddParamsModel: userData
ckey: _ckey
claimed: claimed
clear_uniq_pools: clearUniqPools
clear_sep_pools: clearUniqPools
client_host_key__CloudbrokerNodeAddSshIdentityParamsModel: client_host_key
client_hostname__CloudbrokerNodeAddSshIdentityParamsModel: client_host_name
client_ids: clientIds
@@ -168,6 +172,7 @@ consistency: consistency
consumed: Consumed
correlation_id: correlation_id
count_change_mode__CloudapiBserviceGroupResizeParamsModel: mode
cpu_allocation_mode__CloudbrokerAccountSetCpuAllocationParameterParamsModel: strict_loose
cpu_allocation_parameter: cpu_allocation_parameter
cpu_allocation_ratio: cpu_allocation_ratio
cpu_count: cpu
@@ -178,6 +183,7 @@ cpu_count__VMAPIResultNM: cpus
cpu_count_quota: maxCPUCapacity
cpu_count_total: cpuTotal
cpu_pin: cpupin
cpu_pin__CloudapiKvmx86CreateBlankParamsModel: cpu_pin
created_after_timestamp: createdAfter
created_after_timestamp__CloudapiSecurityGroupListParamsModel: created_min
created_after_timestamp__CloudapiTasksListParamsModel: updateTimeAt
@@ -226,7 +232,6 @@ description__CloudapiDpdknetListParamsModel: description
description__CloudapiSecurityGroupCreateParamsModel: description
description__CloudapiSecurityGroupListParamsModel: description
description__CloudapiSecurityGroupUpdateParamsModel: description
description__CloudapiStackGetResultModel: descr
description__CloudapiVfpoolListParamsModel: description
description__CloudapiZoneGetResultModel: description
description__CloudapiZoneListParamsModel: description
@@ -266,6 +271,7 @@ disk_id__CloudbrokerDisksMigrateAbortParamsModel: disk_id
disk_id__CloudbrokerDisksMigrateParamsModel: disk_id
disk_id__CloudbrokerDisksMigrateStatusParamsModel: disk_id
disk_ids: diskIds
disk_ids__SnapshotSetAPIResultNM: disks
disk_mapping: diskmap
disk_max_size_gb: diskMaxSize
disk_path: diskPath
@@ -301,7 +307,6 @@ egress_rate: eRate
email: email
email_address: emailaddress
email_addresses: emailaddresses
email_addresses__CloudbrokerUserCreateParamsModel: emailaddress
emails: emails
enabled: enabled
enabled__TenantStatusCountersAPIResultNM: ENABLED
@@ -331,9 +336,6 @@ ext_net_ip__VINSForListAPIResultNM: externalIP
ext_net_ip__VINSForListDeletedAPIResultNM: externalIP
ext_net_name: extNetName
ext_net_prefix: ext_netmask
ext_traffic: CU_NP
ext_traffic__ResourceCountersAPIResultNM: exttraffic
ext_traffic_quota: maxNetworkPeerTransfer
extnet_ids: extnets
extnet_ids__CloudapiZoneGetResultModel: extnetIds
extnet_only: extnetOnly
@@ -359,6 +361,7 @@ gpu_count: gpu_units
gpu_count__ResourceCountersAPIResultNM: gpu
gpu_count_quota__CloudapiAccountUpdateParamsModel: gpu_units
gpu_count_quota__CloudbrokerAccountCreateParamsModel: gpu_units
gpu_count_quota__CloudbrokerAccountUpdateParamsModel: gpu_units
graphics_listen_addr: graphics
grid_id: gid
group_ids__BServiceAPIResultNM: groups
@@ -375,6 +378,7 @@ hostname__CloudbrokerNodeGetSshIdentityResultModel: host_name
hot_resize: hotResize
hot_resize__CloudapiImageCreateParamsModel: hotresize
hp_backed: hpBacked
hp_backed__CloudapiKvmx86CreateBlankParamsModel: hp_backed
hw_path: hwPath
id: id
id__CloudapiAccountListDeletedParamsModel: by_id
@@ -400,7 +404,6 @@ id__CloudapiPcideviceListParamsModel: by_id
id__CloudapiRgListDeletedParamsModel: by_id
id__CloudapiRgListParamsModel: by_id
id__CloudapiSecurityGroupListParamsModel: by_id
id__CloudapiStackListParamsModel: by_id
id__CloudapiStoragePolicyGetParamsModel: storage_policy_id
id__CloudapiStoragePolicyListParamsModel: by_id
id__CloudapiVfpoolListParamsModel: by_id
@@ -529,7 +532,6 @@ max_status_code__CloudapiAuditListParamsModel: max_status_code
max_status_code__CloudbrokerAuditListParamsModel: max_status_code
maxconn: maxconn
maxqueue: maxqueue
mem_allocation_ratio: mem_allocation_ratio
meta: _meta
mgmt: mgmt
mgmt_ip: mgmtIp
@@ -564,8 +566,10 @@ net_ip: network
net_ip__CloudapiExtnetListParamsModel: network
net_mapping: netmap
net_prefix: netmask
net_prefix__CloudapiComputeNetAttachParamsModel: netMask
net_prefix__CloudapiExtnetGetResultModel: prefix
net_prefix__CloudapiVinsGetResultModel: netMask
net_prefix__InterfaceAPIParamsNM: netMask
net_prefix__InterfaceForComputeGetAPIResultNM: netMask
net_prefix__InterfaceForComputeListAPIResultNM: netMask
net_prefix__VINSExtNetAPIResultNM: prefixlen
@@ -583,6 +587,8 @@ new_mac: new_mac_address
new_name: new_name
new_vm_name__CloudapiComputeMoveToRgParamsModel: name
new_vm_uuid: new_vm_uuid
node_auto_start__CloudapiZoneGetResultModel: autostart
node_auto_start__ZoneForListAPIResultNM: autostart
node_boot_disk_size_gb__CloudapiK8sWorkersGroupGetByNameResultModel: disk
node_boot_disk_size_gb__K8sNodeGroupAPIResultNM: disk
node_count__CloudapiK8sWorkerAddParamsModel: num
@@ -595,10 +601,13 @@ node_cpu_count__K8sNodeGroupAPIResultNM: cpu
node_disk_size_gb__CloudapiK8sWorkersGroupAddParamsModel: workerDisk
node_groups: k8sGroups
node_id: nodeId
node_id__BServiceVMAPIResultNM: node_id
node_id__CloudbrokerAuditListParamsModel: node_id
node_id__CloudbrokerComputeStartMigrationInParamsModel: node_id
node_id__CloudbrokerNodeAddSshIdentityParamsModel: node_id
node_id__CloudbrokerNodeGetSshIdentityParamsModel: node_id
node_id__CloudbrokerNodeUpdateDescriptionParamsModel: nid
node_id__VNFDevResourcesConfigAPIResultNM: node_id
node_ids: nodeIds
node_ids__AuditAPIResultNM: node_ids
node_ram_size_mb__CloudapiK8sWorkersGroupAddParamsModel: workerRam
@@ -607,6 +616,7 @@ node_ram_size_mb__K8sNodeGroupAPIResultNM: ram
nodes: vfs
ntp_servers: ntp
numa_affinity: numaAffinity
numa_affinity__CloudapiKvmx86CreateBlankParamsModel: numa_affinity
numa_node_id: numaNodeId
os_password__CloudapiImageCreateParamsModel: password
os_password__CloudapiImageGetResultModel: password
@@ -639,6 +649,7 @@ password__DiskForListUnattachedAPIResultNM: passwd
password__UserAPIResultNM: passwd
path: path
pci_device_id: deviceId
pci_devices__VMAPIResultNM: devices
pci_slot_num: pciSlot
pci_slot_num__DiskForCAComputeGetAPIResultNM: pci_slot
pci_slot_num__VGPUAPIResultNM: pciSlot
@@ -651,7 +662,7 @@ pgpu_mode__CloudapiVgpuListParamsModel: mode
pgpu_mode__VGPUAPIResultNM: mode
pgpu_processor_type__CloudapiVgpuListParamsModel: type
pgpu_processor_type__VGPUAPIResultNM: type
pinned_to_stack: pinnedToStack
pinned_to_node: pinnedToNode
policy: policy
pool_id: poolId
pool_names: pool_names
@@ -693,16 +704,18 @@ ram_size_mb__TenantQuotasAPIResultNM: CU_M
ram_size_mb__TenantQuotasForResourceConsumptionAPIResultNM: CU_M
ram_size_quota_mb: maxMemoryCapacity
ram_size_total_mb: ramTotal
ratio: ratio
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
read_only: read_only
reality_device_number: realityDeviceNumber
recursively__CloudapiRgDeleteParamsModel: force
redundant: redundant
reference_id: referenceId
remote_group_id: remote_group_id
remote_ip_prefix: remote_ip_prefix
remote_net_cidr: remote_ip_prefix
replication: replication
request_datetime_iso8601: _ttl
request_id: request_id
@@ -754,7 +767,11 @@ same_node: sameNode
same_node_soft: sameNodeSoft
sdn: sdn
sdn_access_group_id: sdn_access_group_id
sdn_logical_port_description: sdn_logical_port_description
sdn_logical_port_display_name: sdn_logical_port_display_name
sdn_logical_port_id: sdn_interface_id
sdn_object_group_id: sdn_object_group_id
sdn_segment_id: sdn_segment_id
sdn_support: sdn_support
secondary: secondary
secondary_node: secondaryNode
@@ -795,8 +812,17 @@ sep_pool_name__CloudbrokerStoragePolicyAddPoolParamsModel: pool_name
sep_pool_name__CloudbrokerStoragePolicyDeletePoolParamsModel: pool_name
sep_pool_name__CloudbrokerStoragePolicyListParamsModel: pool_name
sep_pools: access_seps_pools
sep_pools__AccountForCBAPIResultNM: uniqPools
sep_pools__CloudapiAccountGetResultModel: uniqPools
sep_pools__CloudapiAccountUpdateParamsModel: uniqPools
sep_pools__CloudapiRgUpdateParamsModel: uniqPools
sep_pools__CloudbrokerAccountCreateParamsModel: uniqPools
sep_pools__CloudbrokerAccountGetResultModel: uniqPools
sep_pools__CloudbrokerAccountUpdateParamsModel: uniqPools
sep_pools__ResourceCountersAPIResultNM: seps
sep_pools__ResourceGroupAPIResultNM: uniqPools
sep_pools__StoragePolicyCountersAPIResultNM: seps
sep_tech_status: sep_tech_status
sep_type: sepType
seq_no: seqNo
server_default_settings: serverDefaultSettings
@@ -812,7 +838,7 @@ shared__CloudapiDisksListDeletedParamsModel: shared
shared__CloudapiDisksListParamsModel: shared
shared_with: sharedWith
show_all: showAll
size_available: sizeAvailable
size_available_gb: sizeAvailable
size_gb__CloudapiDisksCreateParamsModel: size
size_gb__CloudapiImageGetResultModel: size
size_gb__CloudapiImageListParamsModel: imageSize
@@ -820,7 +846,7 @@ size_gb__DiskAPIParamsNM: size
size_gb__ImageForListAPIResultNM: size
size_iops_sec: size_iops_sec
size_max_gb: sizeMax
size_used: sizeUsed
size_used_gb: sizeUsed
slowstart: slowstart
snapshot_id: snapshotId
snapshot_name: snapshotName
@@ -838,7 +864,7 @@ sort_by__CloudbrokerAuditListParamsModel: sort_by
sort_by__CloudbrokerComputeMigrateStorageListParamsModel: sort_by
sort_by__CloudbrokerSecurityGroupListParamsModel: sort_by
sort_by__CloudbrokerStoragePolicyListParamsModel: sort_by
source_stack_id: sourceStackId
source_node_id: sourceNodeId
source_type: source_type
source_value: source_value
ssh_public_key: pubkey
@@ -846,7 +872,6 @@ ssh_public_key__CloudapiBserviceCreateParamsModel: sshKey
ssh_public_key__CloudapiBserviceGetResultModel: sshKey
ssh_public_key__VNFDevMGMTConfigAPIResultNM: sshkey
ssh_user_name: sshUser
stack_id: stackId
stage: stage
start: start
start__CloudapiComputeRedeployParamsModel: autoStart
@@ -863,8 +888,9 @@ stopped: stopped
stopped__VMStatusCountersAPIResultNM: Stopped
storage_id: storageId
storage_policies: storage_policy
storage_policies__CloudapiRgUpdateParamsModel: storage_policies
storage_policies__ResourceCountersAPIResultNM: policies
storage_policies_quotas__CloudapiRgUpdateParamsModel: storage_policies
storage_policies_quotas__CloudbrokerAccountUpdateParamsModel: storage_policies
storage_policy_id: storage_policy_id
storage_policy_ids: storage_policy_ids
storage_policy_quotas__CloudapiRgCreateParamsModel: storage_policies
@@ -893,7 +919,7 @@ target: target
target_dev: target_dev
target_disk_id: targetDiskId
target_image_id: targetId
target_stack_id: targetStackId
target_node_id: targetNodeId
task_guid: taskId
tech_status: techStatus
timestamp: timestamp
@@ -902,7 +928,7 @@ topology: topology
total_bytes : end
total_bytes_sec: total_bytes_sec
total_bytes_sec_max: total_bytes_sec_max
total_disks_size: totalDisksSize
total_disks_size_gb: totalDisksSize
total_iops_sec: total_iops_sec
total_iops_sec_max: total_iops_sec_max
traffic_direction: direction
@@ -913,7 +939,6 @@ type: type
type__CloudapiImageListParamsModel: typeImage
types: types
unc_path: UNCPath
uniq_pools: uniqPools
updated_after_timestamp__CloudapiSecurityGroupListParamsModel: updated_min
updated_after_timestamp__CloudbrokerSecurityGroupListParamsModel: updated_min
updated_before_timestamp__CloudapiSecurityGroupListParamsModel: updated_max
@@ -926,10 +951,10 @@ updated_timestamp__SecurityGroupAPIResultNM: updated_at
updated_timestamp__TrunkAPIResultNM: updated_at
usage: usage
use_unsafe: use_unsafe
user: user
user_group_id: userGroupId
user_emails__AccessAPIResultNM: emails
user_managed: userManaged
user_name: username
user_name__AccessAPIResultNM: userGroupId
user_name__AuditAPIResultNM: user
user_name__CloudapiAccountAddUserParamsModel: userId
user_name__CloudapiAccountDeleteUserParamsModel: userId
@@ -941,11 +966,13 @@ user_name__CloudapiComputeUserUpdateParamsModel: userName
user_name__CloudapiRgAccessGrantParamsModel: user
user_name__CloudapiRgAccessRevokeParamsModel: user
user_name__CloudapiUserApiListParamsModel: userId
user_name__CloudbrokerAccountUpdateUserParamsModel: userId
user_name__CloudbrokerAuditListParamsModel: user
user_name__CloudbrokerUserBlockParamsModel: user_id
user_name__CloudbrokerUserGetParamsModel: userId
user_name__CloudbrokerUserUnblockParamsModel: user_id
user_name__GuestAgentAPIResultNM: user
user_name__VNFDevMGMTConfigAPIResultNM: user
uuid: uuid
valid: valid
value: value
@@ -996,6 +1023,7 @@ vm_id__CloudapiComputeGuestAgentExecuteParamsModel: compute_id
vm_id__CloudapiComputeGuestAgentFeatureUpdateParamsModel: compute_id
vm_id__CloudapiDisksGetResultModel: machineId
vm_id__CloudbrokerAuditListParamsModel: compute_id
vm_id__CloudbrokerComputeChangeReadOnlyParamsModel: compute_id
vm_id__CloudbrokerComputeChangeSecurityGroupsParamsModel: compute_id
vm_id__CloudbrokerComputeCloneAbortParamsModel: compute_id
vm_id__CloudbrokerComputeStartMigrationOutParamsModel: compute_id

View File

@@ -99,10 +99,11 @@ net_detach: netDetach
pfw_add: pfwAdd
pfw_del: pfwDel
pfw_list: pfwList
pin_to_stack: pinToStack
power_cycle: powerCycle
remove_def_net: removeDefNet
remove_zone: removeZone
set_cpu_allocation_parameter: setCpuAllocationParameter
set_cpu_allocation_ratio: setCpuAllocationRatio
set_custom_fields: setCustomFields
set_data: setData
set_def_net: setDefNet
@@ -116,6 +117,8 @@ static_route_list: staticRouteList
tag_add: tagAdd
tag_remove: tagRemove
unpin_from_stack: unpinFromStack
update_compute_features: updateComputeFeatures
update_resource_types: updateResourceTypes
update_sysctl_params: updateSysctlParams
update_user: updateUser
update_worker_nodes_meta_data: updateWorkerNodesMetaData

View File

@@ -18,12 +18,13 @@ from typing import (
)
import requests
from pydantic import (
from pydantic import ( # noqa: F401
AliasGenerator,
BaseModel as PydanticBaseModel,
ConfigDict,
PrivateAttr,
create_model,
computed_field,
)
import yaml
@@ -248,11 +249,17 @@ def get_alias(
f' not found in name mapping dictionary.'
)
if field_name in model_cls.model_computed_fields:
return field_name
for base_cls in model_cls.__bases__:
if not issubclass(base_cls, BaseModel):
continue
if field_name not in base_cls.model_fields.keys():
if (
field_name not in base_cls.model_fields.keys()
and field_name not in base_cls.model_computed_fields
):
continue
return get_alias(
@@ -391,23 +398,22 @@ class BaseAPI(ABC):
def __getattribute__(self, name: str) -> Any:
if name.startswith('_'):
return super().__getattribute__(name)
else:
if name in self.__annotations__:
annotation = self.__annotations__[name]
if issubclass(annotation, BaseAPI):
api_cls = annotation
return api_cls(
config=self._config,
parent_api_group_names=(
self._parent_api_group_names + [name]
)
if name in self.__annotations__:
annotation = self.__annotations__[name]
if issubclass(annotation, BaseAPI):
api_cls = annotation
return api_cls(
config=self._config,
parent_api_group_names=(
self._parent_api_group_names + [name]
)
else:
attr_value = super().__getattribute__(name)
if not inspect.ismethod(attr_value):
raise ValueError
)
attr_value = super().__getattribute__(name)
return self._make_api_function(attr_value)
if inspect.ismethod(attr_value):
return self._make_api_function(attr_value)
return attr_value
def _make_api_function(
self,
@@ -523,6 +529,7 @@ class BaseAPI(ABC):
).prepare()
attempts = config.http503_attempts
status_code = None
try:
with requests.Session() as session:
while True:
@@ -531,7 +538,8 @@ class BaseAPI(ABC):
verify=config.verify_ssl,
)
if http_response.status_code == 503:
status_code = http_response.status_code
if status_code == 503:
if attempts < 1:
break
else:
@@ -547,6 +555,7 @@ class BaseAPI(ABC):
orig_exception=e,
func_name=func_name,
func_kwargs=kwargs,
status_code=status_code,
)
else:
raise e

View File

@@ -8,7 +8,10 @@ from .api import API
class Dynamix:
_config: config.ConfigWithAuth
_COMPATIBLE_DX_BUILD = 1145
_COMPATIBLE_DX_MINOR_VERSION: str = '4.5'
_COMPATIBLE_DX_BUILD: int = 1269
_COMPATIBILITY_WITH_NEWER_DX_BUILDS: bool = True
_dx_version: str
_dx_build: int
def __init__(
@@ -35,35 +38,90 @@ class Dynamix:
wrap_request_exceptions=wrap_request_exceptions,
f_decorators=f_decorators,
)
self._dx_build = self._get_dx_build()
self._dx_version, self._dx_build = self._get_dx_version_and_build()
self._check_dx_compatibility(ignore_api_compatibility)
@property
def api(self):
return API(config=self._config)
@property
def compatible_dx_minor_version(self) -> str:
return self._COMPATIBLE_DX_MINOR_VERSION
@property
def compatible_dx_build(self) -> int:
return self._COMPATIBLE_DX_BUILD
@property
def compatibility_with_newer_dx_builds(self) -> bool:
return self._COMPATIBILITY_WITH_NEWER_DX_BUILDS
@property
def dx_version(self) -> str:
return self._dx_version
@property
def dx_build(self) -> int:
return self._dx_build
def _get_dx_build(self) -> int:
def _get_dx_version_and_build(self) -> tuple[str, int]:
result = self.api.system.info.version()
dx_build = json.loads(result.replace("'", '"'))['build']
decoded_data = json.loads(result.replace("'", '"'))
dx_version = decoded_data['version']
if not isinstance(dx_version, str):
raise TypeError(f'DX version must be an str, got {type(dx_version)}') # noqa: E501
dx_build = decoded_data['build']
if not isinstance(dx_build, int):
raise TypeError(f'DX build must be an int, got {type(dx_build)}')
return dx_build
return dx_version, dx_build
def _check_dx_compatibility(self, ignore_api_compatibility: bool):
if self.dx_build != self.compatible_dx_build:
if (
self.dx_version.rsplit('.', 1)[0]
!= self.compatible_dx_minor_version
):
message = (
f'Incompatible minor Dynamix version. '
f'Dynamix version: {self.dx_version}. '
f'Compatible minor version: '
f'{self.compatible_dx_minor_version}.'
)
if ignore_api_compatibility:
warn(message=message)
return
else:
raise IncompatibleAPIError(message=message)
build_is_compatible = (
(
self.compatibility_with_newer_dx_builds
and self.dx_build >= self.compatible_dx_build
)
or (
not self.compatibility_with_newer_dx_builds
and self.dx_build == self.compatible_dx_build
)
)
if not build_is_compatible:
compatible_build_str = f'{self.compatible_dx_build}'
if self.compatibility_with_newer_dx_builds:
compatible_build_str = f'>={compatible_build_str}'
message = (
f'Incompatible Dynamix build. '
f'Dynamix build: {self.dx_build}. '
f'Compatible build: {self.compatible_dx_build}'
f'Compatible build: {compatible_build_str}.'
)
if ignore_api_compatibility:
warn(message=message)
else:

View File

@@ -17,13 +17,16 @@ class RequestException(Exception):
orig_exception: requests.exceptions.RequestException
func_name: str
func_kwargs: None | dict = None
status_code: None | int = None
def __init__(
self,
orig_exception: requests.exceptions.RequestException,
func_name: str,
func_kwargs: None | dict,
status_code: None | int,
):
self.orig_exception = orig_exception
self.func_name = func_name
self.func_kwargs = func_kwargs
self.status_code = status_code

View File

@@ -68,3 +68,15 @@ def get_nested_value(
f'The key {key} found, but its value is not a dictionary.'
)
return value
def camel_to_snake(name: str) -> str:
result = []
for i, ch in enumerate(name):
if ch.isupper():
if i > 0 and not name[i - 1].isupper():
result.append('_')
result.append(ch.lower())
else:
result.append(ch)
return ''.join(result)