Skip to main content

BranchBuilder

Struct BranchBuilder 

Source
pub struct BranchBuilder { /* private fields */ }
Expand description

A branchSnapshot mutation being assembled — see Client::branch.

Unlike the run_* builders this has no NetOpts: a branch inherits the snapshot’s own port forwards unless told otherwise, and the guest’s network identity comes from the snapshot, not from the caller.

Implementations§

Source§

impl BranchBuilder

Source

pub fn name(self, name: impl Into<String>) -> Self

Name the new machine. Generated when unset.

Source

pub fn cpus(self, cpus: u32) -> Self

vCPU count. Defaults to what the snapshot recorded.

Source

pub fn mem(self, mib: u32) -> Self

Guest RAM in MiB. Defaults to what the snapshot recorded.

Source

pub fn port(self, forward: impl Into<String>) -> Self

Add a host→guest forward, "[BIND:]HOST:GUEST". Given at least one, these replace the snapshot’s recorded forwards.

Source

pub fn forward(self, host: u16, guest: u16) -> Self

Add a port forward from numbers instead of a string.

Source

pub fn no_ports(self) -> Self

Forward nothing, ignoring what the snapshot recorded.

Source

pub fn launch(self) -> Result<String>

Boot the branch and return its machine id.

With no port set, the snapshot’s own forwards are inherited — with any host port that is already taken swapped for a free one, since the machine the snapshot came from is usually still running on it.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V