pub struct ServiceImpact {
pub unit_name: String,
pub providers: Vec<String>,
pub is_active: bool,
pub needs_restart: bool,
pub recommended_decision: ServiceRestartDecision,
pub restart_decision: ServiceRestartDecision,
}Expand description
What: Aggregated information about a systemd unit affected by the pending operation.
Inputs:
- Populated by the service impact resolver which correlates package file lists and
systemctlstate.
Output:
- Supplies UI rendering with package provenance, restart status, and the current user choice.
Details:
providerslists packages that ship the unit.is_activeflags if the unit currently runs.needs_restartindicates detected impact.recommended_decisionrecords the resolver default, andrestart_decisionreflects any user override applied in the UI.
Fields§
§unit_name: StringFully-qualified unit name (e.g., sshd.service).
providers: Vec<String>Packages contributing this unit.
is_active: boolWhether the unit is active (systemctl is-active == active).
needs_restart: boolWhether a restart is recommended because files/configs will change.
recommended_decision: ServiceRestartDecisionResolver-suggested action prior to user adjustments.
restart_decision: ServiceRestartDecisionRestart decision currently applied to the unit (may differ from recommendation).
Trait Implementations§
Source§impl Clone for ServiceImpact
impl Clone for ServiceImpact
Source§fn clone(&self) -> ServiceImpact
fn clone(&self) -> ServiceImpact
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServiceImpact
impl Debug for ServiceImpact
Source§impl<'de> Deserialize<'de> for ServiceImpact
impl<'de> Deserialize<'de> for ServiceImpact
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ServiceImpact
impl RefUnwindSafe for ServiceImpact
impl Send for ServiceImpact
impl Sync for ServiceImpact
impl Unpin for ServiceImpact
impl UnwindSafe for ServiceImpact
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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