Skip to main content

EphemeralAllocation

Struct EphemeralAllocation 

Source
pub struct EphemeralAllocation {
    pub metadata: ObjectMeta,
    pub spec: AllocationSpec,
    pub status: Option<AllocationStatus>,
}
Expand description

Auto-generated derived type for AllocationSpec via CustomResource

Fields§

§metadata: ObjectMeta§spec: AllocationSpec§status: Option<AllocationStatus>

Implementations§

Source§

impl EphemeralAllocation

Source

pub fn new(name: &str, spec: AllocationSpec) -> Self

Spec based constructor for derived custom resource

Source§

impl EphemeralAllocation

Source

pub fn observed_phase(&self) -> Option<AllocationPhase>

The copy-form status-projection primitive on the phase axis: returns the AllocationPhase the pool reconciler currently persists at status.phase, wrapped in an Option so the missing-status corner collapses to None — the ONE-liner collapse of the paired self.status.as_ref().map(|s| s.phase) incantation the pool reconciler’s AllocationConvergenceCtx:: observe restated by hand pre-lift.

Cross-CRD peer to crate::prelude::Process::observed_phase on the (CRD × phase-slot × observed-status) axis pair — both primitives walk the identical .status.as_ref().map(|s| s. phase) shape, differing only in the Phase type projected (AllocationPhase vs crate::phase::ProcessPhase). The substrate now owns the borrow-form .status.as_ref().map(|s| s.phase) chain axis-uniformly across the two Phase-having CRDs so a future normalization (a generation-filter that returns None for a phase stamped with a stale metadata.generation, a staleness gate that drops a phase whose observing phase_since predates a reconcile deadline, a canonicalization pass that maps a phase outside the CRD’s closed set to None) lands at ONE substrate method per CRD rather than being restated at every observer.

Source

pub fn observed_phase_or_pending(&self) -> AllocationPhase

The copy-form status-projection primitive on the phase axis with the AllocationPhase::Pending sink applied — the ONE-liner collapse of the paired self.observed_phase(). unwrap_or(AllocationPhase::Pending) incantation the pool reconciler’s AllocationConvergenceCtx::observe restated by hand pre-lift as a 5-line .status.as_ref().map(|s| s.phase). unwrap_or(AllocationPhase::Pending) chain.

Pre-lift the chain sat at [tatara-pool-reconciler:: allocation_decide::AllocationConvergenceCtx::observe]’s phase seed. Cross-CRD peer to [crate::prelude::Process:: observed_phase_or_pending] on the (CRD × phase-slot × sink) axis pair — both primitives close the missing-status corner with each CRD’s respective Default-equivalent Pending variant, and both compose on top of their peer Self::observed_phase / [crate::prelude::Process:: observed_phase] borrow-form projections so a future normalization at the underlying observed_phase primitive reaches both the raw-Option accessor and the Pending- sinked composer through the SAME upstream body.

The AllocationPhase::Pending sink is load-bearing as the “not yet observed” default — the pool reconciler’s typed AllocationPhase::needs_pool_routing predicate returns true for Pending, so a freshly-admitted Allocation whose pool reconciler has not yet stamped a .status slot reads as Pending and immediately enters the routing ladder, matching the pre-lift AllocationPhase::Pending fallback semantics verbatim.

Theory anchor: THEORY.md §VI.1 (generation over composition — the two-link .status.as_ref().map(|s| s.phase).unwrap_or (AllocationPhase::Pending) chain recurred at both the crate::prelude::Process site (already lifted onto crate::prelude::Process::observed_phase_or_pending) AND the EphemeralAllocation site by hand, i.e. the SHAPE itself recurs past the ★★ PRIME-DIRECTIVE ≥ 2 duplication trigger, and is lifted to ONE owner per CRD here). THEORY.md §II.1 invariant 5 (composition preserves proofs — the pins bind the missing-status sink to Pending + populated- status pass-through + every AllocationPhase variant round-trip + byte-identical parity with the pre-lift two-link chain + cross-CRD peer coherence with crate::prelude::Process::observed_phase_or_pending, so a regression that drifted any surface at tests::observed_phase_* rather than as silent operator- facing skew between the allocation observer’s routing seed and the Process observer’s dispatch seed).

Source

pub fn observed_bound_pool(&self) -> Option<&AllocationRef>

The borrow-form status-projection primitive on the bound-pool axis: returns the AllocationRef the pool reconciler currently persists at status.bound_pool (name + namespace of the pool that owns the matched member), with the missing-status corner AND the empty-slot corner BOTH collapsed to None — the ONE-liner collapse of the paired self.status.as_ref().and_then(|s| s.bound_pool.<clone|as_ref>()) incantation the pool reconciler’s AllocationConvergenceCtx:: observe restated by hand pre-lift.

Cross-CRD peer to crate::prelude::Process::observed_identity on the (CRD × structured-record-slot × borrow-form) axis pair — both primitives walk the identical .status.as_ref() .and_then(|s| s.<slot>.as_ref()) shape, differing only in the record projected (AllocationRef here, [crate::identity:: Identity] on Process). The substrate now owns the borrow-form .status.as_ref().and_then(|s| s.<slot>.as_ref()) chain on the second structured-record slot across the two status-having CRDs, so a future normalization step (a generation-filter that returns None for a bound-pool reference stamped with a stale metadata.generation, a canonicalization pass that rejects a malformed (name, namespace) pair, a cross-cluster reference-rewrite gate) lands at ONE substrate method per CRD rather than being restated at every observer.

Return-form axis: Option<&AllocationRef> mirrors the borrow-first discipline of [crate::prelude::Process:: observed_identity]. The lone pre-lift consumer ([tatara-pool-reconciler::allocation_decide:: AllocationConvergenceCtx::observe]’s bound_pool seed) spelled the projection as .and_then(|s| s.bound_pool.clone()) — an eager clone allocated inside every reconcile pass even when the downstream branch (the Release-composition arm) needed only the borrow for the .as_ref() re-projection two lines later. Post-lift the consumer reaches the primitive borrow-first (alloc.observed_bound_pool().cloned()) and the empty-borrow corner clones nothing (Option::cloned on None is None); the composition point where the owned AllocationRef fallback is required (the AllocationConvergenceCtx snapshot slot, still Option<AllocationRef>-typed for serde stability) is the ONLY site that materializes an owned copy.

The missing-status corner AND the populated-status-with- bound_pool=None corner BOTH collapse to None so .is_some() / if let Some(_) / .cloned() behave identically on an EphemeralAllocation whose status field is None and on one whose status carries an unpopulated bound_pool slot — matching what the pre-lift .and_then(...) chain produced. Consumers that need to tell those corners apart reach for Self::status directly, exactly as the existing peer accessors Self::observed_phase + Self::observed_phase_or_pending admit.

Theory anchor: THEORY.md §VI.1 (generation over composition — the .status.as_ref().and_then(|s| s.<structured-record> .<clone|as_ref>()) shape recurred as ONE hand-authored .and_then(|s| s.bound_pool.clone()) chain in [tatara-pool-reconciler::allocation_decide:: AllocationConvergenceCtx::observe] AND as the peer crate::prelude::Process::observed_identity primitive already owned on the Process CRD’s status.identity slot, past the ★★ PRIME-DIRECTIVE ≥ 2 duplication trigger at substrate-shape level. THEORY.md §II.1 invariant 5 (composition preserves proofs — the pins bind the missing- status corner + the empty-bound_pool-slot corner + the borrow-form &AllocationRef lifetime + the zero-copy projection contract + byte-identical parity with the pre-lift .and_then(|s| s.bound_pool.clone()) chain across the full corner set + cross-CRD peer coherence with crate::prelude::Process::observed_identity, so a regression that drifted any surface at tests::observed_bound_pool_* rather than as silent operator- facing skew between the allocation observer’s Release- composition seed and the Process observer’s FORK-time identity seed on the SAME reconcile tick).

Trait Implementations§

Source§

impl Clone for EphemeralAllocation

Source§

fn clone(&self) -> EphemeralAllocation

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl CustomResourceExt for EphemeralAllocation

Source§

fn crd() -> CustomResourceDefinition

Helper to generate the CRD including the JsonSchema Read more
Source§

fn crd_name() -> &'static str

Helper to return the name of this CustomResourceDefinition in kubernetes. Read more
Source§

fn api_resource() -> ApiResource

Helper to generate the api information type for use with the dynamic Api
Source§

fn shortnames() -> &'static [&'static str]

Shortnames of this resource type. Read more
Source§

impl Debug for EphemeralAllocation

Source§

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

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

impl<'de> Deserialize<'de> for EphemeralAllocation

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 HasSpec for EphemeralAllocation

Source§

type Spec = AllocationSpec

The type of the spec of this resource
Source§

fn spec(&self) -> &AllocationSpec

Returns a reference to the spec of the object
Source§

fn spec_mut(&mut self) -> &mut AllocationSpec

Returns a mutable reference to the spec of the object
Source§

impl HasStatus for EphemeralAllocation

Source§

type Status = AllocationStatus

The type of the status object
Source§

fn status(&self) -> Option<&AllocationStatus>

Returns an optional reference to the status of the object
Source§

fn status_mut(&mut self) -> &mut Option<AllocationStatus>

Returns an optional mutable reference to the status of the object
Source§

impl JsonSchema for EphemeralAllocation

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl Resource for EphemeralAllocation

Source§

type DynamicType = ()

Type information for types that do not know their resource information at compile time. Read more
Source§

type Scope = NamespaceResourceScope

Type information for the api scope of the resource when known at compile time Read more
Source§

fn group(_: &()) -> Cow<'_, str>

Returns group of this object
Source§

fn kind(_: &()) -> Cow<'_, str>

Returns kind of this object
Source§

fn version(_: &()) -> Cow<'_, str>

Returns version of this object
Source§

fn api_version(_: &()) -> Cow<'_, str>

Returns apiVersion of this object
Source§

fn plural(_: &()) -> Cow<'_, str>

Returns the plural name of the kind Read more
Source§

fn meta(&self) -> &ObjectMeta

Metadata that all persisted resources must have
Source§

fn meta_mut(&mut self) -> &mut ObjectMeta

Metadata that all persisted resources must have
Source§

fn url_path(dt: &Self::DynamicType, namespace: Option<&str>) -> String

Creates a url path for http requests for this resource
Source§

fn object_ref(&self, dt: &Self::DynamicType) -> ObjectReference

Generates an object reference for the resource
Source§

fn controller_owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>

Generates a controller owner reference pointing to this resource Read more
Source§

fn owner_ref(&self, dt: &Self::DynamicType) -> Option<OwnerReference>

Generates an owner reference pointing to this resource Read more
Source§

impl Serialize for EphemeralAllocation

Source§

fn serialize<S: Serializer>(&self, ser: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Annotated for T
where T: Resource<DynamicType = ()>,

Source§

fn annotation(&self, key: &str) -> Option<&str>

Borrow one key from metadata.annotations. See the trait-level docs for the axis-family context, peer inherent method, and future-normalization anchor.
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> AppData for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

Source§

impl<T> AppDataResponse for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeletionTombstoned for T
where T: Resource<DynamicType = ()>,

Source§

fn is_being_deleted(&self) -> bool

True iff the K8s API server has stamped metadata.deletionTimestamp on this resource — a DELETE is in flight and finalizers are draining. See the trait-level docs for the axis-family context, peer inherent methods, and future-normalization anchor.
Source§

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

Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<K> Lookup for K
where K: Resource,

Source§

type DynamicType = <K as Resource>::DynamicType

Type information for types that do not know their resource information at compile time. This is equivalent to Resource::DynamicType.
Source§

fn kind(dyntype: &<K as Lookup>::DynamicType) -> Cow<'_, str>

The kind for this object.
Source§

fn version(dyntype: &<K as Lookup>::DynamicType) -> Cow<'_, str>

The version for this object.
Source§

fn group(dyntype: &<K as Lookup>::DynamicType) -> Cow<'_, str>

The group for this object.
Source§

fn plural(dyntype: &<K as Lookup>::DynamicType) -> Cow<'_, str>

The plural for this object.
Source§

fn name(&self) -> Option<Cow<'_, str>>

The name of the object.
Source§

fn namespace(&self) -> Option<Cow<'_, str>>

The namespace of the object.
Source§

fn resource_version(&self) -> Option<Cow<'_, str>>

The resource version of the object.
Source§

fn uid(&self) -> Option<Cow<'_, str>>

The UID of the object.
Source§

fn api_version(dyntype: &Self::DynamicType) -> Cow<'_, str>

The apiVersion for this object.
Source§

fn to_object_ref(&self, dyntype: Self::DynamicType) -> ObjectRef<Self>

Constructs an ObjectRef for this object.
Source§

impl<T> NamespacedApiCoordinates for T
where T: Resource<DynamicType = ()>,

Source§

fn owned_coordinates_required(&self) -> Result<(String, String)>

Extract the K8s API path coordinates as owned Strings, erroring with a Self::kind-prefixed message when either slot is absent. See the trait-level docs for the axis-family context, peer primitives, and future-normalization anchor.
Source§

impl<T> OptionalSend for T
where T: Send + ?Sized,

Source§

impl<T> OptionalSync for T
where T: Sync + ?Sized,

Source§

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

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<K> ResourceExt for K
where K: Resource,

Source§

fn name_unchecked(&self) -> String

Returns the name of the resource, panicking if it is unset Read more
Source§

fn name_any(&self) -> String

Returns the most useful name identifier available Read more
Source§

fn namespace(&self) -> Option<String>

The namespace the resource is in
Source§

fn resource_version(&self) -> Option<String>

The resource version
Source§

fn uid(&self) -> Option<String>

Unique ID (if you delete resource and then create a new resource with the same name, it will have different ID)
Source§

fn creation_timestamp(&self) -> Option<Time>

Returns the creation timestamp Read more
Source§

fn labels(&self) -> &BTreeMap<String, String>

Returns resource labels
Source§

fn labels_mut(&mut self) -> &mut BTreeMap<String, String>

Provides mutable access to the labels
Source§

fn annotations(&self) -> &BTreeMap<String, String>

Returns resource annotations
Source§

fn annotations_mut(&mut self) -> &mut BTreeMap<String, String>

Provider mutable access to the annotations
Source§

fn owner_references(&self) -> &[OwnerReference]

Returns resource owner references
Source§

fn owner_references_mut(&mut self) -> &mut Vec<OwnerReference>

Provides mutable access to the owner references
Source§

fn finalizers(&self) -> &[String]

Returns resource finalizers
Source§

fn finalizers_mut(&mut self) -> &mut Vec<String>

Provides mutable access to the finalizers
Source§

fn managed_fields(&self) -> &[ManagedFieldsEntry]

Returns managed fields
Source§

fn managed_fields_mut(&mut self) -> &mut Vec<ManagedFieldsEntry>

Provides mutable access to managed fields
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 = !

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

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more