#[non_exhaustive]pub struct EvaluatedComponent {
pub raw: Arc<Component>,
pub variables: Vec<Variable>,
pub locals: Vec<Local>,
pub providers: Vec<ProviderBlock>,
pub resources: Vec<Resource>,
pub modules: Vec<ModuleCall>,
pub outputs: Vec<Output>,
pub diagnostics: Vec<Diagnostic>,
}Expand description
Post-evaluation view of a Component.
All collections are owned; the raw component is held behind an Arc so
span lookups remain cheap (per [13-evaluator.md § 2]).
Construct via HclEvaluator::evaluate in production code, or via
EvaluatedComponent::from_component in tests when you want a
transparent wrapper around a hand-built Component.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.raw: Arc<Component>The original component (kept for spans).
variables: Vec<Variable>Variables with default reduced where possible.
locals: Vec<Local>Locals after the fixpoint pass; each Local::value is either
fully resolved or a partially reduced subtree.
providers: Vec<ProviderBlock>Provider blocks with region_expr / profile_expr / assume_role
expressions reduced.
resources: Vec<Resource>Resources with count_expr, for_each_expr, and every attribute
reduced.
modules: Vec<ModuleCall>Module call sites with inputs reduced.
outputs: Vec<Output>Output blocks with their value reduced.
diagnostics: Vec<Diagnostic>Per-evaluation diagnostics — appended to the workspace’s diagnostics vector by the orchestrator (Phase 5).
Implementations§
Source§impl EvaluatedComponent
impl EvaluatedComponent
Sourcepub fn from_component(c: Component) -> Self
pub fn from_component(c: Component) -> Self
Build an EvaluatedComponent that mirrors the contents of c
as-if evaluation had been a no-op — every collection is cloned
straight out of the source component. Used by integration / graph
tests that want a synthetic EvaluatedComponent without spinning
up the full evaluator. Production code should call
HclEvaluator::evaluate.
Trait Implementations§
Source§impl Clone for EvaluatedComponent
impl Clone for EvaluatedComponent
Source§fn clone(&self) -> EvaluatedComponent
fn clone(&self) -> EvaluatedComponent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more