pub struct ImageIndex { /* private fields */ }
Expand description
The image index is a higher-level manifest which points to specific image manifests, ideal for one or more platforms. While the use of an image index is OPTIONAL for image providers, image consumers SHOULD be prepared to process them.
Implementations§
Source§impl ImageIndex
impl ImageIndex
Sourcepub fn schema_version(&self) -> u32
pub fn schema_version(&self) -> u32
This REQUIRED property specifies the image manifest schema version. For this version of the specification, this MUST be 2 to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification.
Source§impl ImageIndex
impl ImageIndex
Sourcepub fn media_type(&self) -> &Option<MediaType>
pub fn media_type(&self) -> &Option<MediaType>
This property is reserved for use, to maintain compatibility. When used, this field contains the media type of this document, which differs from the descriptor use of mediaType.
Sourcepub fn artifact_type(&self) -> &Option<MediaType>
pub fn artifact_type(&self) -> &Option<MediaType>
This OPTIONAL property contains the type of an artifact when the manifest is used for an artifact. If defined, the value MUST comply with RFC 6838, including the naming requirements in its section 4.2, and MAY be registered with IANA.
Sourcepub fn manifests(&self) -> &Vec<Descriptor>
pub fn manifests(&self) -> &Vec<Descriptor>
This REQUIRED property contains a list of manifests for specific platforms. While this property MUST be present, the size of the array MAY be zero.
Sourcepub fn subject(&self) -> &Option<Descriptor>
pub fn subject(&self) -> &Option<Descriptor>
This OPTIONAL property specifies a descriptor of another manifest. This value, used by the referrers API, indicates a relationship to the specified manifest.
Source§impl ImageIndex
impl ImageIndex
Sourcepub fn set_schema_version(&mut self, val: u32) -> &mut Self
pub fn set_schema_version(&mut self, val: u32) -> &mut Self
This REQUIRED property specifies the image manifest schema version. For this version of the specification, this MUST be 2 to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification.
Sourcepub fn set_media_type(&mut self, val: Option<MediaType>) -> &mut Self
pub fn set_media_type(&mut self, val: Option<MediaType>) -> &mut Self
This property is reserved for use, to maintain compatibility. When used, this field contains the media type of this document, which differs from the descriptor use of mediaType.
Sourcepub fn set_artifact_type(&mut self, val: Option<MediaType>) -> &mut Self
pub fn set_artifact_type(&mut self, val: Option<MediaType>) -> &mut Self
This OPTIONAL property contains the type of an artifact when the manifest is used for an artifact. If defined, the value MUST comply with RFC 6838, including the naming requirements in its section 4.2, and MAY be registered with IANA.
Sourcepub fn set_manifests(&mut self, val: Vec<Descriptor>) -> &mut Self
pub fn set_manifests(&mut self, val: Vec<Descriptor>) -> &mut Self
This REQUIRED property contains a list of manifests for specific platforms. While this property MUST be present, the size of the array MAY be zero.
Sourcepub fn set_subject(&mut self, val: Option<Descriptor>) -> &mut Self
pub fn set_subject(&mut self, val: Option<Descriptor>) -> &mut Self
This OPTIONAL property specifies a descriptor of another manifest. This value, used by the referrers API, indicates a relationship to the specified manifest.
Source§impl ImageIndex
impl ImageIndex
Sourcepub fn from_file<P: AsRef<Path>>(path: P) -> Result<ImageIndex>
pub fn from_file<P: AsRef<Path>>(path: P) -> Result<ImageIndex>
Attempts to load an image index from a file.
§Errors
This function will return an OciSpecError::Io if the file does not exist or an OciSpecError::SerDe if the image index cannot be deserialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
Sourcepub fn from_reader<R: Read>(reader: R) -> Result<ImageIndex>
pub fn from_reader<R: Read>(reader: R) -> Result<ImageIndex>
Attempts to load an image index from a stream.
§Errors
This function will return an OciSpecError::SerDe if the index cannot be deserialized.
§Example
use oci_spec::image::ImageIndex;
use std::fs::File;
let reader = File::open("index.json").unwrap();
let image_index = ImageIndex::from_reader(reader).unwrap();
Sourcepub fn to_file<P: AsRef<Path>>(&self, path: P) -> Result<()>
pub fn to_file<P: AsRef<Path>>(&self, path: P) -> Result<()>
Attempts to write an image index to a file as JSON. If the file already exists, it will be overwritten.
§Errors
This function will return an OciSpecError::SerDe if the image index cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
image_index.to_file("my-index.json").unwrap();
Sourcepub fn to_file_pretty<P: AsRef<Path>>(&self, path: P) -> Result<()>
pub fn to_file_pretty<P: AsRef<Path>>(&self, path: P) -> Result<()>
Attempts to write an image index to a file as pretty printed JSON. If the file already exists, it will be overwritten.
§Errors
This function will return an OciSpecError::SerDe if the image index cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
image_index.to_file_pretty("my-index.json").unwrap();
Sourcepub fn to_writer<W: Write>(&self, writer: &mut W) -> Result<()>
pub fn to_writer<W: Write>(&self, writer: &mut W) -> Result<()>
Attempts to write an image index to a stream as JSON.
§Errors
This function will return an OciSpecError::SerDe if the image index cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
let mut writer = Vec::new();
image_index.to_writer(&mut writer);
Sourcepub fn to_writer_pretty<W: Write>(&self, writer: &mut W) -> Result<()>
pub fn to_writer_pretty<W: Write>(&self, writer: &mut W) -> Result<()>
Attempts to write an image index to a stream as pretty printed JSON.
§Errors
This function will return an OciSpecError::SerDe if the image index cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
let mut writer = Vec::new();
image_index.to_writer_pretty(&mut writer);
Sourcepub fn to_string(&self) -> Result<String>
pub fn to_string(&self) -> Result<String>
Attempts to write an image index to a string as JSON.
§Errors
This function will return an OciSpecError::SerDe if the image configuration cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
let json_str = image_index.to_string().unwrap();
Sourcepub fn to_string_pretty(&self) -> Result<String>
pub fn to_string_pretty(&self) -> Result<String>
Attempts to write an image index to a string as pretty printed JSON.
§Errors
This function will return an OciSpecError::SerDe if the image configuration cannot be serialized.
§Example
use oci_spec::image::ImageIndex;
let image_index = ImageIndex::from_file("index.json").unwrap();
let json_str = image_index.to_string_pretty().unwrap();
Trait Implementations§
Source§impl Clone for ImageIndex
impl Clone for ImageIndex
Source§fn clone(&self) -> ImageIndex
fn clone(&self) -> ImageIndex
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ImageIndex
impl Debug for ImageIndex
Source§impl Default for ImageIndex
impl Default for ImageIndex
Source§impl<'de> Deserialize<'de> for ImageIndex
impl<'de> Deserialize<'de> for ImageIndex
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>,
Source§impl Display for ImageIndex
impl Display for ImageIndex
This ToString trait is automatically implemented for any type which implements the Display trait. As such, ToString shouldn’t be implemented directly: Display should be implemented instead, and you get the ToString implementation for free.
Source§impl PartialEq for ImageIndex
impl PartialEq for ImageIndex
Source§impl Serialize for ImageIndex
impl Serialize for ImageIndex
impl Eq for ImageIndex
impl StructuralPartialEq for ImageIndex
Auto Trait Implementations§
impl Freeze for ImageIndex
impl RefUnwindSafe for ImageIndex
impl Send for ImageIndex
impl Sync for ImageIndex
impl Unpin for ImageIndex
impl UnwindSafe for ImageIndex
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,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)