pub use oci_client::Reference as ImageReference;
pub mod image_ref_serde {
use super::ImageReference;
use serde::{Deserialize, Deserializer, Serializer};
use std::str::FromStr;
pub fn serialize<S: Serializer>(r: &ImageReference, s: S) -> Result<S::Ok, S::Error> {
s.serialize_str(&r.to_string())
}
pub fn deserialize<'de, D: Deserializer<'de>>(d: D) -> Result<ImageReference, D::Error> {
let s = String::deserialize(d)?;
ImageReference::from_str(&s).map_err(serde::de::Error::custom)
}
pub mod option {
use super::ImageReference;
use serde::{Deserialize, Deserializer, Serializer};
use std::str::FromStr;
pub fn serialize<S: Serializer>(
r: &Option<ImageReference>,
s: S,
) -> Result<S::Ok, S::Error> {
match r {
Some(r) => s.serialize_str(&r.to_string()),
None => s.serialize_none(),
}
}
pub fn deserialize<'de, D: Deserializer<'de>>(
d: D,
) -> Result<Option<ImageReference>, D::Error> {
let s: Option<String> = Option::deserialize(d)?;
match s {
Some(s) => ImageReference::from_str(&s)
.map(Some)
.map_err(serde::de::Error::custom),
None => Ok(None),
}
}
}
}
pub mod api;
pub mod auth;
pub mod client;
pub mod spec;
pub mod storage;