You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
344 lines
8.2 KiB
344 lines
8.2 KiB
3 months ago
|
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
|