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 more