#[non_exhaustive]pub struct Recipe {
pub os: OsRef,
pub family: Family,
pub install: Vec<Resource>,
pub configure: Vec<Resource>,
pub start: Vec<Resource>,
pub daemons: Vec<Daemon>,
pub files: BTreeMap<ProjectPath, String>,
}Expand description
A recipe resolved for one machine: its phases in order (install, configure, start), the
daemons its container form runs, and the texts of its templates.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.os: OsRefThe OS it is resolved for.
family: FamilyThe OS’s family.
install: Vec<Resource>Install: an app’s steps; a catalogue entry’s install (which its official image skips).
configure: Vec<Resource>Configure: a catalogue entry’s configure, run in every form.
start: Vec<Resource>Start: a catalogue entry’s per-start preparation (an app has none in 1.0).
daemons: Vec<Daemon>The foreground forms of its enabled services, in recipe order: the container’s daemons.
files: BTreeMap<ProjectPath, String>The text of each of its templates, by the template’s from, its lab placeholders not yet
filled in (super::fill does, per machine and target). A template missing here wasn’t
read: the renderers refuse it rather than install something else.
Implementations§
Source§impl Recipe
impl Recipe
Sourcepub fn of(
c: &Configuration,
ports: &[Port],
daemons: &DaemonTable,
) -> Result<Recipe, Vec<Unportable>>
pub fn of( c: &Configuration, ports: &[Port], daemons: &DaemonTable, ) -> Result<Recipe, Vec<Unportable>>
The recipe of configuration c, its firewall’s port names read in ports (the lowered
machine’s), its services in daemons.
§Errors
Every step c’s family can’t carry (Unportable), in step order. Lowering refuses
those first, so a lowered machine’s configuration always resolves.
Trait Implementations§
impl Eq for Recipe
impl StructuralPartialEq for Recipe
Auto Trait Implementations§
impl Freeze for Recipe
impl RefUnwindSafe for Recipe
impl Send for Recipe
impl Sync for Recipe
impl Unpin for Recipe
impl UnsafeUnpin for Recipe
impl UnwindSafe for Recipe
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.