class

Krikri::ValueOriginChain

Inherits Reference < Object

A Jinja expression that is nothing but container access on a base variable: base, base.key, base["key"], base[0], base[expr], chained in any order. ansible-core 2.19 tags every YAML-sourced scalar with its defining source position, and those tags SURVIVE plain container access - the templated result of a pure chain still carries the FINAL accessed scalar's origin. Anything that DERIVES a new value (| upper, ~, arithmetic, a filter chain) drops the tag, and real falls back to the templating site's own position (live-verified vs 2.19.11: all three shapes probed for an include_role role-name that fails role resolution - see TaskExecutor#templated_value_lineage_origin).

Constructors

new(base : String, steps : Array(Step))
Source

Class methods

parse?(expr : String) : ValueOriginChain | Nil

nil when expr is not a pure access chain - the caller then keeps the templating site's own Origin instead of guessing one it cannot back with real's behavior.

Source

Instance methods

base
Source
steps
Source

Nested types