class

Fluxion::Step

Inherits Reference < Object

Base class for every kind of work a profile can declare.

Subclasses hold only validated data — no IO, no process handles, no terminal. Turning a step into commands is the executor's job, which is what lets plan, dry-run, explain, and apply share one description of the work and disagree only about whether to run it.

Constructors

new(name : String, description : String | Nil = nil, continue_on_error : Bool = false, probe_command : String | Nil = nil, condition : Condition | Nil = nil)
Source

Instance methods

condition

Manifest-level when guard. Nil for the stable jobs/steps schema, which has no per-step conditions.

Settable because a manifest plan entry carries its when and execution.continueOnError alongside the spec the step is built from, and threading both through every kind's constructor would add two parameters to twenty-seven signatures for no gain.

Source
condition=(condition : Condition | Nil)

Manifest-level when guard. Nil for the stable jobs/steps schema, which has no per-step conditions.

Settable because a manifest plan entry carries its when and execution.continueOnError alongside the spec the step is built from, and threading both through every kind's constructor would add two parameters to twenty-seven signatures for no gain.

Source
continue_on_error=(continue_on_error : Bool)
Source
continue_on_error?

Whether the step keeps going after one of its items fails. The default differs per kind and is set by each subclass, because "keep installing the other packages" and "keep running the rest of this script" are very different risks.

Source
description
Source
halts?

True when reaching this step ends the run and writes a resume point.

Source
items

Everything this step installs, in declaration order.

Source
kind

The config type (stable schema) that produces this step.

Source
mutating?

True when the step mutates the host. Purely informational steps still appear in plans but never need sudo or a dry-run guard.

Source
name
Source
probe_command

Shell snippet that reports whether this step's work is already done. Runs under /bin/bash -lc; exit 0 means done.

Source
summary

One-line summary for plan and list.

Source