#[non_exhaustive]pub enum Kind {
Container {
image: String,
idle: bool,
appliance: Option<Appliance>,
config: Option<String>,
},
Vm {
os: OsRef,
provision: Vec<String>,
},
Router {},
}Expand description
What a node is.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Container
A container from a published image: Isoloom’s app.image (or a network appliance’s).
Fields
§
idle: boolThe image runs no service of its own (a stock Linux image): it is kept running idle, as a machine to work from.
Vm
A machine of an OS, set up by its provisioning steps: Isoloom’s os plus app.steps
(each target decides whether it is a VM or a container built from the OS’s image).
Fields
Router
An automatic router: not a machine. The networks it is on (LANs, VLANs, cables) can all
reach each other, through Isoloom’s own router (reach rules both ways); nothing to
configure. A router you configure yourself is a container or a VM (FRR, for instance).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Kind
impl<'de> Deserialize<'de> for Kind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Kind
Auto Trait Implementations§
impl Freeze for Kind
impl RefUnwindSafe for Kind
impl Send for Kind
impl Sync for Kind
impl Unpin for Kind
impl UnsafeUnpin for Kind
impl UnwindSafe for Kind
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