use std::fmt;
use boxferry_engine::PlatformVersion;
use boxferry_model::Identifier;
#[derive(Clone, Eq, PartialEq)]
pub struct PodmanInspectDocuments {
containers: String,
images: String,
networks: String,
volumes: String,
pods: String,
}
impl PodmanInspectDocuments {
#[must_use]
pub fn new(
containers: impl Into<String>,
images: impl Into<String>,
networks: impl Into<String>,
volumes: impl Into<String>,
pods: impl Into<String>,
) -> Self {
Self {
containers: containers.into(),
images: images.into(),
networks: networks.into(),
volumes: volumes.into(),
pods: pods.into(),
}
}
#[must_use]
pub fn containers(&self) -> &str {
&self.containers
}
#[must_use]
pub fn images(&self) -> &str {
&self.images
}
#[must_use]
pub fn networks(&self) -> &str {
&self.networks
}
#[must_use]
pub fn volumes(&self) -> &str {
&self.volumes
}
#[must_use]
pub fn pods(&self) -> &str {
&self.pods
}
}
impl fmt::Debug for PodmanInspectDocuments {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
formatter
.debug_struct("PodmanInspectDocuments")
.field("containers", &"[REDACTED]")
.field("images", &"[REDACTED]")
.field("networks", &"[REDACTED]")
.field("volumes", &"[REDACTED]")
.field("pods", &"[REDACTED]")
.finish()
}
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PodmanInspectSource {
application_name: Identifier,
version: PlatformVersion,
documents: PodmanInspectDocuments,
}
impl PodmanInspectSource {
#[must_use]
pub const fn new(
application_name: Identifier,
version: PlatformVersion,
documents: PodmanInspectDocuments,
) -> Self {
Self {
application_name,
version,
documents,
}
}
#[must_use]
pub const fn application_name(&self) -> &Identifier {
&self.application_name
}
#[must_use]
pub const fn version(&self) -> PlatformVersion {
self.version
}
#[must_use]
pub const fn documents(&self) -> &PodmanInspectDocuments {
&self.documents
}
}