blob: 8e176598bdef73de5b39d282c8c4a7046b5cff9f (
plain) (
tree)
|
|
use std::convert::TryFrom;
use virt::{connect::Connect, domain::Domain;};
use crate::errors::Error;
/**
* Represents a virtual machine, that's active on some server
*/
pub struct VirtualMachine {
/// The assigned name of the VM
pub name: String,
/// The network address of the physical machine that's hosting this machine
pub host_server: String,
/// Whether or not the VM is active
pub is_active: bool,
/// The libvirtd-assigned UUID
pub uuid: String,
/// The network address of the VM
pub addr: Option<String>,
/// How much RAM (in MB) is assigned to the VM
pub assigned_mem_mb: u64,
/// How many vCPUs are assigned to the VM
pub assigned_cpus: u64,
}
impl TryFrom<Domain> for VirtualMachine {
type Error = Error;
fn try_from(d: Domain) -> Result<Self, Self::Error> {
|