Struct shipcat_definitions::status::Condition[][src]

pub struct Condition {
    pub status: bool,
    pub reason: Option<String>,
    pub message: Option<String>,
    pub last_transition: String,
    pub source: Option<Applier>,
}
Expand description

Condition

Stated out like a normal kubernetes conditions like PodCondition:

  • lastProbeTime: null lastTransitionTime: “2019-07-31T13:07:30Z” message: ‘containers with unready status: [product-config]’ reason: ContainersNotReady status: “False” type: ContainersReady

where we ignore lastProbeTime / lastHeartbeatTime because they are expensive, and we add in an originator/source of the condition for parallel setups.

However, due to the lack of possibilities for patching statuses and general difficulty dealing with the vector struct, we instead have multiple named variants.

See https://github.com/kubernetes/kubernetes/issues/7856#issuecomment-323196033 and https://github.com/clux/kube-rs/issues/43 For the reasoning.

Fields

status: bool

Whether or not in a good state

This must default to true when in a good state

reason: Option<String>

Error reason type if not in a good state

message: Option<String>

One sentence error message if not in a good state

last_transition: String

When the condition was last written (RFC 3339 timestamp)

source: Option<Applier>

Originator for this condition

Implementations

impl Condition[src]

pub fn ok(a: &Applier) -> Self[src]

pub fn bad(a: &Applier, err: &str, msg: String) -> Self[src]

pub fn format_last_transition(&self) -> Result<String>[src]

pub fn html_list_item(&self) -> Result<String>[src]

Trait Implementations

impl Clone for Condition[src]

fn clone(&self) -> Condition[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Condition[src]

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

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for Condition[src]

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

Deserialize this value from the given Serde deserializer. Read more

impl Serialize for Condition[src]

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

impl RefUnwindSafe for Condition

impl Send for Condition

impl Sync for Condition

impl Unpin for Condition

impl UnwindSafe for Condition

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

pub fn vzip(self) -> V[src]

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