#[non_exhaustive]pub struct RawBlock {
pub kind: BlockKind,
pub labels: Vec<Arc<str>>,
pub body: AttributeMap,
pub span: Span,
pub source: Arc<Path>,
}Expand description
A lowered HCL block.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: BlockKindWhat kind of block (resource, data, variable, …). BlockKind::Unknown
for anything we did not recognise (e.g. user-defined dynamic
blocks).
labels: Vec<Arc<str>>Block labels, in source order (["aws_db_instance", "this"] for a
resource, ["root"] for a Terragrunt include "root", etc.).
body: AttributeMapTop-level attributes of the block body. Nested blocks land as
crate::ir::Value::Map entries inside an
crate::ir::Expression::Literal under a synthetic key (block
identifier).
span: SpanSpan of the block keyword.
source: Arc<Path>Source file that contained the block. Held as Arc<Path> so the
downstream IR does not double-allocate.
Trait Implementations§
impl StructuralPartialEq for RawBlock
Auto Trait Implementations§
impl Freeze for RawBlock
impl RefUnwindSafe for RawBlock
impl Send for RawBlock
impl Sync for RawBlock
impl Unpin for RawBlock
impl UnsafeUnpin for RawBlock
impl UnwindSafe for RawBlock
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
Mutably borrows from an owned value. Read more