Skip to main content

DerivedFacts

Struct DerivedFacts 

Source
pub struct DerivedFacts {
Show 19 fields pub affected_units: Vec<UnitId>, pub sensitivity: Sensitivities, pub disruption: Disruptions, pub recovery: Recovery, pub touches_manifest: bool, pub touches_canonical_probe: bool, pub changes_desired: bool, pub touches_core: bool, pub below_security_floor: bool, pub other_sessions_affected: bool, pub affected_sessions: Vec<String>, pub restores_unattributed_stop: bool, pub restarts_failed_unit: bool, pub removes_sensitivity: Sensitivities, pub removes: Vec<UnitId>, pub removes_each: Vec<Sensitivities>, pub restarts_held_unit: bool, pub caller: Actor, pub config_diff: Option<ConfigDiff>,
}
Expand description

Derived by the executor from the evaluated generation, never from the proposal (I14).

Fields§

§affected_units: Vec<UnitId>

Sorted and unique (unit_set).

§sensitivity: Sensitivities§disruption: Disruptions§recovery: Recovery§touches_manifest: bool§touches_canonical_probe: bool

A canonical probe’s definition changed (protected by I10).

§changes_desired: bool

Which units are desired-present changed; makes probes (in)applicable. Not tampering (§9; missing from §8, G2).

§touches_core: bool§below_security_floor: bool

The target generation (revert, rollback, switch) is below the security floor (§12e).

§other_sessions_affected: bool

A system-scope effect reaches another uid’s online or active session (§11).

§affected_sessions: Vec<String>

Logind sessions the transition’s disruption lands on, sorted. The “own session” floor (§11) holds only when this is exactly the caller’s session; empty means not known, which never counts as own. Not in §8.

§restores_unattributed_stop: bool

A RestartUnit that restores a unit stopped outside Planarian and not attributed (§11 residue): stopped, not failed, under no override. Derived from systemd’s state, never from a proposal.

§restarts_failed_unit: bool

A RestartUnit whose unit has already failed (observed Failed, or not running while it is desired running) in the observation the facts are derived against; Unknown is not failed. Waives the External escalation of the RestartUnit row, never the Security one (§11; owner decision, Nov 2).

§removes_sensitivity: Sensitivities

The sensitivity of the units a generation transition would remove or stop: present now and absent from the target’s manifest, or stopped by its activation. A Rollback that takes away a Security- or External-sensitive unit (a VPN) asks (§11 Rollback row; owner decision, Nov 2). Empty for every other transition.

§removes: Vec<UnitId>

The units behind removes_sensitivity, sorted: what an approval shows as removed or stopped (§16). Journaled in this form since 4bb9c99.

§removes_each: Vec<Sensitivities>

removes[i]’s own sensitivity, from the decision’s lookup, so the display and the decision agree. A parallel field, not a change to removes, so a record journaled before it still decodes (and an older build ignores it). Absent or of another length: the display shows removes_sensitivity for each and says so.

§restarts_held_unit: bool

A RestartUnit of a network-security unit (§12d: a network tool the kernel attributes traffic-steering changes to) that has failed: its traffic is held, so the restart only ends an outage and runs at once whatever its sensitivity (§11; owner decision, Nov 2).

§caller: Actor§config_diff: Option<ConfigDiff>

Trait Implementations§

Source§

impl Clone for DerivedFacts

Source§

fn clone(&self) -> DerivedFacts

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DerivedFacts

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DerivedFacts

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DerivedFacts

Source§

fn eq(&self, other: &DerivedFacts) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for DerivedFacts

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for DerivedFacts

Source§

impl StructuralPartialEq for DerivedFacts

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,