pub struct ProviderSchemaUse {
pub value_path: String,
pub path: YamlPath,
pub kind: ValueKind,
pub resource: ResourceRef,
pub is_self_range_collection: bool,
pub template_supplied_member_keys: BTreeSet<String>,
pub split_segment: Option<SplitSegmentUse>,
pub merge_layers: Option<MergeLayersUse>,
pub range_key: bool,
pub nil_omitting: bool,
pub omitted_members: BTreeMap<String, Vec<ConditionalGuard>>,
pub outer_guards: Vec<ConditionalGuard>,
}Expand description
Contract fact that needs a Kubernetes resource schema lookup.
Fields§
§value_path: StringCanonical values path whose runtime value reaches the provider slot.
path: YamlPathStructural path of the slot in the rendered Kubernetes resource.
kind: ValueKindHow the value contributes to rendered YAML at the slot.
resource: ResourceRefResource whose schema owns the slot.
is_self_range_collection: boolWhether the value is the collection directly ranged by the template.
template_supplied_member_keys: BTreeSet<String>Literal member keys the template writes beside the splice in the
same mapping; the slot schema’s required must not re-demand them.
split_segment: Option<SplitSegmentUse>Set when the rendered text is one separator-delimited segment of the source string; the slot schema constrains that segment only.
merge_layers: Option<MergeLayersUse>Set when the value renders as one layer of an ordered merge: a
shadowed layer’s members reach the slot only where every earlier
layer lacks them.
range_key: boolSet when the rendered text is the collection’s RANGE KEY rather than its value: a string-only slot then excludes the integer keys of a non-empty list lane.
nil_omitting: boolSet when the rendered text is a Sprig quote/squote of the value:
the transform SKIPS nil operands, so a missing or null source
renders an explicit YAML null into the slot. Typing still abstains
(any input quotes); only provider-required presence claims may read
this flag.
omitted_members: BTreeMap<String, Vec<ConditionalGuard>>Literal member keys a guard-scoped omit may remove from the
rendered map before the sink reads it: the slot’s whole-payload
typing must exclude them, and each key’s member typing is re-added
only under its RETAIN guards (empty means never).
outer_guards: Vec<ConditionalGuard>Decoded conditions gating the render this use rides. Synthesized
merge-layer arms must carry them: without the gates a dormant state
(KPS’s defaultRules.create: false) would still be typed by the
layer arms even though nothing renders.
Trait Implementations§
Source§impl Clone for ProviderSchemaUse
impl Clone for ProviderSchemaUse
Source§fn clone(&self) -> ProviderSchemaUse
fn clone(&self) -> ProviderSchemaUse
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 ProviderSchemaUse
impl Debug for ProviderSchemaUse
impl Eq for ProviderSchemaUse
Source§impl Hash for ProviderSchemaUse
impl Hash for ProviderSchemaUse
Source§impl Ord for ProviderSchemaUse
impl Ord for ProviderSchemaUse
Source§fn cmp(&self, other: &ProviderSchemaUse) -> Ordering
fn cmp(&self, other: &ProviderSchemaUse) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ProviderSchemaUse
impl PartialEq for ProviderSchemaUse
Source§impl PartialOrd for ProviderSchemaUse
impl PartialOrd for ProviderSchemaUse
impl StructuralPartialEq for ProviderSchemaUse
Auto Trait Implementations§
impl Freeze for ProviderSchemaUse
impl RefUnwindSafe for ProviderSchemaUse
impl Send for ProviderSchemaUse
impl Sync for ProviderSchemaUse
impl Unpin for ProviderSchemaUse
impl UnsafeUnpin for ProviderSchemaUse
impl UnwindSafe for ProviderSchemaUse
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.