use std::path::PathBuf;
use serde::{Deserialize, Serialize};
use crate::{config::ImageConfig, digest::Digest};
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
pub enum PullPolicy {
#[default]
IfMissing,
Always,
Never,
}
#[derive(Debug, Clone)]
pub struct PullOptions {
pub pull_policy: PullPolicy,
pub force: bool,
pub build_index: bool,
}
pub struct PullResult {
pub layers: Vec<PathBuf>,
pub config: ImageConfig,
pub manifest_digest: Digest,
pub cached: bool,
}
impl Default for PullOptions {
fn default() -> Self {
Self {
pull_policy: PullPolicy::default(),
force: false,
build_index: true,
}
}
}