import typing as _typing 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 | str # BDX-8471 guid: str access_type: _enums.AccessType status: str type: str user_group_id: str can_be_deleted: None | bool = None 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 VMACLForComputeGetAPIResultNM( # BDX-8459 _base.BaseAPIResultNestedModel ): account: list[AccessAPIResultNM] vm: 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 node_id: int pci_slot: int target: str type: str vnf_ids: list[int] class InterfaceForComputeListAPIResultNM(BaseInterfaceAPIResultNM): net_type: _enums.NetType class InterfaceForComputeGetAPIResultNM(InterfaceForComputeListAPIResultNM): qos: QOSAPIResultNM class VNFDevInterfaceAPIResultNM(BaseInterfaceAPIResultNM): net_type: _EmptyStr | _enums.NetType qos: QOSAPIResultNM 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 BaseDiskForCAComputeAPIResultNM(_base.BaseAPIResultNestedModel): bus_number: int id: int pci_slot: int class BaseDiskAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int acl: dict created_timestamp: int deleted_timestamp: int description: str destruction_timestamp: int grid_id: int id: int image_id: int image_ids: list[int] io_tune: IOTuneAPIResultNM name: str order: int params: str parent_id: int present_to: list[int] purge_timestamp: int replication: ReplicationAPIResultNM | dict res_id: str role: str sep_id: int sep_pool_name: str shared: bool size_max_gb: 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 purge_datetime(self): return self._get_datetime_from_timestamp(self.purge_timestamp) @property def updated_datetime(self): return self._get_datetime_from_timestamp(self.updated_timestamp) class BaseDiskForCADisksAPIResultNM(BaseDiskAPIResultNM): res_name: str account_name: str updated_by: _typing.Any = '' class DiskForCAComputeGetAPIResultNM( BaseDiskForCAComputeAPIResultNM, BaseDiskAPIResultNM, ): boot_partition: int disk_path: str guid: int iqn: str login: str milestones: int password: str reality_device_number: int updated_by: _typing.Any = '' class DiskForListAndListDeletedAPIResultNM( BaseDiskForCADisksAPIResultNM, BaseDiskAPIResultNM, ): vms: dict[str, str] device_name: str vm_id: int | None vm_name: str | None sep_type: _enums.SEPType class DiskForListUnattachedAPIResultNM( BaseDiskForCADisksAPIResultNM, BaseDiskAPIResultNM, ): boot_partition: int disk_path: str guid: int iqn: str login: str milestones: int password: str pci_slot: int purge_attempt_count: int reality_device_number: int reference_id: str vm_id: int class TenantQuotasAPIResultNM(_base.BaseAPIResultNestedModel): cpu_count: int disk_size_gb: int ext_traffic: int gpu_count: int public_ip_count: int ram_size_mb: float | int storage_size_gb: int class ResourceGroupAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str acl: list[AccessAPIResultNM] vm_features: list[_enums.VMFeature] 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 AccountAPIResultNM(_base.BaseAPIResultNestedModel): acl: list[AccessAPIResultNM] vm_features: list[_enums.VMFeature] created_timestamp: int deleted_timestamp: int id: int name: str status: _enums.AccountStatus updated_timestamp: 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 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_gb: int boot_order: list[_enums.BootDevice] cdrom_image_id: int chipset: _enums.Chipset clone_ids: list[int] clone_reference: int vm_ci_id: int cpu_count: 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 vgpus: list[dict[str, _typing.Any]] 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_size_mb: 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[_typing.Any] # BDX-7995 disks: list[BaseDiskForCAComputeAPIResultNM] interfaces: list[InterfaceForComputeListAPIResultNM] total_disks_size: int vins_count: int class VMCountsAPIResultNM(_base.BaseAPIResultNestedModel): started: int stopped: int class BaseImageAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int arch: str boot_mode: _enums.BootMode | _EmptyStr | None bootable: bool description: str drivers: list[_enums.Driver] hot_resize: bool id: int link_to: int name: str network_interface_naming: _enums.NetIfaceNamingTemplate os_user_name: str | None sep_id: int sep_pool_name: str size_gb: int status: _enums.ImageStatus type: _enums.ImageType @property def boot_loader_type(self): if self.type in _enums.BootLoaderType._member_names_: return _enums.BootLoaderType[self.type] class ImageForListAPIResultNM(BaseImageAPIResultNM): cdrom: bool virtual: bool class ImageHistoryRecordAPIResultNM(_base.BaseAPIResultNestedModel): guid: str id: int timestamp: int @property def datetime(self): return self._get_datetime_from_timestamp(self.timestamp) class VINSVMAPIResultNM(_base.BaseAPIResultNestedModel): id: int name: str class BaseVINSAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str created_by: str created_timestamp: int deleted_by: str deleted_timestamp: int id: int name: str net_ip: str rg_id: int rg_name: str status: _enums.VINSStatus updated_by: str updated_timestamp: int vxlan_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 VINSForListAPIResultNM(BaseVINSAPIResultNM): ext_net_id: int ext_net_ip: str free_ip_count: int class VINSForListDeletedAPIResultNM(BaseVINSAPIResultNM): ext_net_ip: str primary_vnfdev_id: int class VNFHostDeviceAPIResultNM(_base.BaseAPIResultNestedModel): device_id: int iface01_name: str iface02_name: str class VNFHostDevicesAPIResultNM(_base.BaseAPIResultNestedModel): primary: VNFHostDeviceAPIResultNM class RouteAPIResultNM(_base.BaseAPIResultNestedModel): dst_net_ip: str dst_net_mask: str gateway: str guid: str id: int vm_ids: list[int] class BaseVNFAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int created_timestamp: int devices: VNFHostDevicesAPIResultNM grid_id: int guid: int id: int lock_status: _enums.LockStatus milestones: int owner_id: int owner_type: _enums.NetType pure_virtual: bool routes: list[RouteAPIResultNM] status: _enums.VNFDevStatus tech_status: _enums.VNFDevTechStatus type: _enums.VNFType @property def created_datetime(self): return self._get_datetime_from_timestamp(self.created_timestamp) class DHCPReservationAPIResultNM(_base.BaseAPIResultNestedModel): ip_addr: str mac: str type: _enums.DHCPReservationType vm_id: int account_id: None | int = None client_type: None | str = None description: None | str = None domain_name: None | str = None hostname: None | str = None class DHCPVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel): default_gw: str dns_servers: list[str] ip_pool_end: str ip_pool_start: str lease_time: int net_ip: str net_mask: int reservations: list[DHCPReservationAPIResultNM] class GWVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel): default_gw: str ext_net_id: int ext_net_ip: str ext_net_mask: int qos: _typing.Any class NATRuleAPIResultNM(_base.BaseAPIResultNestedModel): id: int local_ip: str local_port: int protocol: _enums.NATRuleProtocol public_port_end: int public_port_start: int vm_id: int class NATVNFConfigAPIResultNM(_base.BaseAPIResultNestedModel): net_ip: str net_mask: int rules: list[NATRuleAPIResultNM] class DHCPVNFAPIResultNM(BaseVNFAPIResultNM): config: DHCPVNFConfigAPIResultNM class GWVNFAPIResultNM(BaseVNFAPIResultNM): config: GWVNFConfigAPIResultNM class NATVNFAPIResultNM(BaseVNFAPIResultNM): config: NATVNFConfigAPIResultNM class VNFSAPIResultNM(_base.BaseAPIResultNestedModel): dhcp: None | DHCPVNFAPIResultNM = None gw: None | GWVNFAPIResultNM = None nat: None | NATVNFAPIResultNM = None class VNFDevMGMTConfigAPIResultNM(_base.BaseAPIResultNestedModel): ip_addr: str password: str ssh_key: str user: str class VNFDevResourcesConfigAPIResultNM(_base.BaseAPIResultNestedModel): cpu_count: int ram_size_mb: int stack_id: int uuid: str class VNFDevConfigAPIResultNM(_base.BaseAPIResultNestedModel): mgmt: VNFDevMGMTConfigAPIResultNM resources: VNFDevResourcesConfigAPIResultNM class VNFDevAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int capabilities: list[_enums.VNFType] config: VNFDevConfigAPIResultNM config_saved: bool custom_pre_cfg: bool description: str grid_id: int guid: int id: int interfaces: list[VNFDevInterfaceAPIResultNM] lock_status: _enums.LockStatus milestones: int name: str status: _enums.VNFDevStatus tech_status: _enums.VNFDevTechStatus type: _enums.VNFDevType vins_ids: list[int] vnc_password: str class BServiceGroupAPIResultNM(_base.BaseAPIResultNestedModel): id: int name: str status: _enums.BServiceGroupStatus tech_status: _enums.BServiceGroupTechStatus consistency: bool vm_count: int class BServiceVMAPIResultNM(_base.BaseAPIResultNestedModel): id: int name: str bsgroup_id: int arch: str account_id: int rg_id: int status: _enums.VMStatus tech_status: _enums.VMTechStatus stack_id: int bsgroup_name: str bsgroup_role: str class BServiceSnapshotAPIResultNM(_base.BaseAPIResultNestedModel): timestamp: int label: str valid: bool guid: str @property def datetime(self): return self._get_datetime_from_timestamp(self.timestamp) class BaseBServiceAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int account_name: str base_domain: str created_by: str created_timestamp: int deleted_by: str deleted_timestamp: int grid_id: int guid: int id: int name: str parent_service_id: int parent_service_type: str rg_id: int rg_name: str ssh_user: str status: _enums.BServiceStatus tech_status: _enums.BServiceTechStatus updated_by: str updated_timestamp: int user_managed: bool @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 BServiceForListAPIResultNM(BaseBServiceAPIResultNM): group_ids: list[int] class BServiceGroupOSUserAPIResultNM(_base.BaseAPIResultNestedModel): login: str password: str class OSUserAPIResultNM(BServiceGroupOSUserAPIResultNM): pub_key: str guid: str class BServiceGroupVMAPIResultNM(_base.BaseAPIResultNestedModel): id: int name: str os_users: list[BServiceGroupOSUserAPIResultNM] ip_addresses: list[str] class ExtNetForListAPIResultNM(_base.BaseAPIResultNestedModel): id: int ip_cidr: str name: str status: _enums.ExtNetStatus class BaseFlipGroupAPIResultNM(_base.BaseAPIResultNestedModel): account_id: int client_ids: list[int] client_type: _enums.FlipGroupClientType conn_id: int conn_type: str default_gw: str description: str grid_id: int guid: int id: int ip_addr: str milestones: int name: str net_id: int net_type: _enums.FlipGroupNetType status: _enums.FlipGroupStatus class FlipGroupForListAPIResultNM(BaseFlipGroupAPIResultNM): net_mask: int class LBNodeAPIResultNM(_base.BaseAPIResultNestedModel): backend_ip_addr: str frontend_ip_addr: str guid: str mgmt_ip: str net_id: int vm_id: int class LBServerSettingsAPIResultNM(_base.BaseAPIResultNestedModel): downinter: int fall: int guid: str inter: int maxconn: int maxqueue: int rise: int slowstart: int weight: int class LBServerAPIResultNM(_base.BaseAPIResultNestedModel): check: _enums.LBServerCheck guid: str ip_addr: str name: str port: int server_settings: LBServerSettingsAPIResultNM class LBBackendAPIResultNM(_base.BaseAPIResultNestedModel): algorithm: _enums.LBBackendAlgorithm guid: str name: str server_default_settings: LBServerSettingsAPIResultNM servers: list[LBServerAPIResultNM] class LBFrontendBindingAPIResultNM(_base.BaseAPIResultNestedModel): name: str ip_addr: str port: int guid: str class LBFrontendAPIResultNM(_base.BaseAPIResultNestedModel): name: str backend_name: str bindings: list[LBFrontendBindingAPIResultNM] guid: str class LBAPIResultNM(_base.BaseAPIResultNestedModel): acl: list[_typing.Any] backend_ha_ip_addr: str backends: list[LBBackendAPIResultNM] created_by: str created_timestamp: int deleted_by: str deleted_timestamp: int description: str dp_api_user: str ext_net_id: int frontend_ha_ip_addr: str frontends: list[LBFrontendAPIResultNM] grid_id: int guid: int ha_mode: bool id: int manager_id: int manager_type: str milestones: int name: str part_of_k8s: bool primary_node: LBNodeAPIResultNM rg_id: int rg_name: str secondary_node: LBNodeAPIResultNM status: _enums.LBStatus sysctl_params: dict[str, str] tech_status: _enums.LBTechStatus updated_by: str updated_timestamp: int user_managed: bool vins_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 SEPPoolAPIResultNM(_base.BaseAPIResultNestedModel): name: str types: list[_enums.PoolDiskType] system: str class SEPAPIResultNM(_base.BaseAPIResultNestedModel): sep_id: int sep_name: str 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 grid_id: int guid: int id: int location_code: str name: str class AffinityRelationsAPIResultNM(_base.BaseAPIResultNestedModel): same_node: list[int] same_node_soft: list[int] other_node: list[int] other_node_soft: list[int] other_node_indirect: list[int] other_node_indirect_soft: list[int] class VMACLForComputeUserListAPIResultNM( # BDX-8459 _base.BaseAPIResultNestedModel ): account: list[AccessAPIResultNM] vm: list[AccessAPIResultNM] rg: list[AccessAPIResultNM] class TaskAPIResultNM(_base.BaseAPIResultNestedModel): audit_guid: str guid: None | str = None # BDX-8474 completed: bool created_timestamp: int error: str log: list[str] result: _typing.Any stage: str status: str updated_by: None | str = None updated_timestamp: None | int = None @property def created_datetime(self): return self._get_datetime_from_timestamp(self.created_timestamp) @property def updated_datetime(self): if self.updated_timestamp is None: return None return self._get_datetime_from_timestamp(self.updated_timestamp)