#[non_exhaustive]pub enum Step {
Show 13 variants
Run {
script: ProjectPath,
creates: Option<AbsPath>,
},
Copy(Copy),
Packages(Vec<Package>),
Reboot,
Playbook(ProjectPath),
Repository(Repository),
File(FileStep),
Template(Template),
User(UserStep),
Group(GroupStep),
Service(Service),
Command(CommandStep),
Firewall(Firewall),
}Expand description
One step of the portable recipe. Steps install and configure: they run as root from the
project copy at /opt/isoloom, with no network to the other machines and no inputs or
secrets (on containers they run at image build time). What needs those goes in setup.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Run
A project script (.sh, or .ps1 on Windows), skipped when creates exists.
Fields
script: ProjectPathThe script.
Copy(Copy)
A project file or folder copied into the machine.
Packages(Vec<Package>)
Packages installed with the OS’s own installer (Windows features on Windows), never empty.
Reboot
The machine restarts, and the next step runs once it is back (no container form).
Playbook(ProjectPath)
An Ansible playbook of the project, run in the machine (no container form in 1.0).
Repository(Repository)
A vendor’s package repository, its key pinned.
File(FileStep)
A folder, a removal, a link or a pinned download.
Template(Template)
A project file with its placeholders filled in.
User(UserStep)
A local user.
Group(GroupStep)
A local group.
Service(Service)
A daemon: enabled and started on VMs, the container’s process in containers.
Command(CommandStep)
A command run once, behind its guard.
Firewall(Firewall)
Ports opened in the OS’s own firewall.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Step
impl<'de> Deserialize<'de> for Step
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>,
impl Eq for Step
Source§impl JsonSchema for Step
impl JsonSchema for Step
Source§fn json_schema(g: &mut SchemaGenerator) -> Schema
fn json_schema(g: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreimpl StructuralPartialEq for Step
Auto Trait Implementations§
impl Freeze for Step
impl RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl UnsafeUnpin for Step
impl UnwindSafe for Step
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.