Struct kkcloud_framework::model::Vm[][src]

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>,
}

Infomations about a VM instance.

Fields

id: Id

UUID 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: String

Runtime 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: NetKind

Network kind of this VM.

snapshots: HashMap<String, Snapshot>

SnapshotName => Snapshot

latest_meta: Option<PathBuf>

The latest cached config-file.

state: VmState

Info about the state of VM.

resource: VmResource

Info about the resource of VM.

addr: NetAddr

Usually 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

impl Debug for Vm[src]

Auto Trait Implementations

impl !RefUnwindSafe for Vm[src]

impl Send for Vm[src]

impl Sync for Vm[src]

impl Unpin for Vm[src]

impl !UnwindSafe for Vm[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.