pub struct SubdomainBaselineDiff {
pub domain: String,
pub baseline_recorded_at: Option<DateTime<Utc>>,
pub added: Vec<String>,
pub removed: Vec<String>,
pub unchanged_count: usize,
pub baseline_missing: bool,
}Expand description
A report of how a fresh enumeration differs from the stored baseline.
Produced by SubdomainBaselines::diff; rendered by the human/markdown
formatters and serialized directly for JSON/YAML output.
Fields§
§domain: StringThe domain compared.
baseline_recorded_at: Option<DateTime<Utc>>When the baseline was recorded (None when no baseline exists).
added: Vec<String>Names present now but absent from the baseline (the material change).
removed: Vec<String>Names in the baseline but absent from the fresh enumeration. Informational only — see the module docs for why removals don’t count as material.
unchanged_count: usizeNumber of names present in both the baseline and the fresh set.
baseline_missing: boolTrue when no baseline was stored for this domain (first run). The
added/removed lists are empty in that case so callers keying the
exit code off Self::has_new_names exit 0 on a first run.
Implementations§
Source§impl SubdomainBaselineDiff
impl SubdomainBaselineDiff
Sourcepub fn has_new_names(&self) -> bool
pub fn has_new_names(&self) -> bool
True when at least one new name appeared since the baseline. Callers (CLI/cron) use this to drive a non-zero exit code. Removals never make this true — see the module docs.
Trait Implementations§
Source§impl Clone for SubdomainBaselineDiff
impl Clone for SubdomainBaselineDiff
Source§fn clone(&self) -> SubdomainBaselineDiff
fn clone(&self) -> SubdomainBaselineDiff
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubdomainBaselineDiff
impl Debug for SubdomainBaselineDiff
Source§impl<'de> Deserialize<'de> for SubdomainBaselineDiff
impl<'de> Deserialize<'de> for SubdomainBaselineDiff
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>,
Auto Trait Implementations§
impl Freeze for SubdomainBaselineDiff
impl RefUnwindSafe for SubdomainBaselineDiff
impl Send for SubdomainBaselineDiff
impl Sync for SubdomainBaselineDiff
impl Unpin for SubdomainBaselineDiff
impl UnsafeUnpin for SubdomainBaselineDiff
impl UnwindSafe for SubdomainBaselineDiff
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more