pub struct Vm {
pub id: Id,
pub name: Option<String>,
pub engine: Arc<dyn VmEngine>,
pub template: Arc<VmTemplate>,
pub runtime_image: String,
pub net_kind: NetKind,
pub snapshots: HashMap<String, Snapshot>,
pub latest_meta: Option<PathBuf>,
pub state: VmState,
pub resource: VmResource,
pub addr: NetAddr,
pub features: HashSet<VmFeature>,
}Expand description
Infomations about a VM instance.
Fields§
§id: IdUUID of this VM
name: Option<String>Name of the VM.
engine: Arc<dyn VmEngine>Created by which engine.
template: Arc<VmTemplate>Template of runtime_image, that is,
the runtime image is created based on the template.
runtime_image: StringRuntime image of Vm.
Use ‘String’ instead of ‘PathBuf’, because
runtime_image may not be a regular file path,
such as ZFS stroage.
E.g. zroot/kk/VmId
net_kind: NetKindNetwork kind of this VM.
snapshots: HashMap<String, Snapshot>SnapshotName => Snapshot
latest_meta: Option<PathBuf>The latest cached config-file.
state: VmStateInfo about the state of VM.
resource: VmResourceInfo about the resource of VM.
addr: NetAddrUsually an ‘IP’ or a ‘domain url’.
Only meaningful from the perspective of the client, to indicate how to connect to it from the client.
This has different meanings with the ip_addr in VmResource.
features: HashSet<VmFeature>Features required by this vm.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Vm
impl !RefUnwindSafe for Vm
impl Send for Vm
impl Sync for Vm
impl Unpin for Vm
impl !UnwindSafe for Vm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more