use super::Descriptor;
use super::MediaTypes;
use std::collections::BTreeMap;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Manifest {
pub schema_version: isize,
pub media_type: Option<String>,
pub config: Descriptor,
pub layers: Vec<Descriptor>,
pub annotations: Option<BTreeMap<String, String>>,
pub subject: Option<Descriptor>,
pub artifact_type: Option<String>,
}
impl Manifest {
pub fn new(config: Descriptor, layers: Vec<Descriptor>) -> Self {
Self {
schema_version: 2,
media_type: Some(MediaTypes::IMAGE_MANIFEST.to_string()),
config,
layers,
annotations: None,
subject: None,
artifact_type: None,
}
}
}