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

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