diff options
Diffstat (limited to 'src/plan.rs')
| -rw-r--r-- | src/plan.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plan.rs b/src/plan.rs new file mode 100644 index 0000000..16158e5 --- /dev/null +++ b/src/plan.rs @@ -0,0 +1,19 @@ +use anyhow::Result; + +use crate::ImageSpec; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct BuildPlan { + spec: ImageSpec, +} + +impl BuildPlan { + pub fn compile(spec: ImageSpec) -> Result<Self> { + spec.validate()?; + Ok(Self { spec }) + } + + pub fn spec(&self) -> &ImageSpec { + &self.spec + } +} |