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