#[non_exhaustive]pub enum BlockKind {
Show 13 variants
Resource,
Data,
Module,
Provider,
Variable,
Locals,
Output,
Terraform,
Include,
Generate,
Dependency,
Inputs,
Unknown,
}Expand description
Top-level HCL block kinds the loader distinguishes.
Mirrors 12-hcl-loader.md § 2’s BlockKind.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Resource
resource "type" "name" {}
Data
data "type" "name" {}
Module
module "name" { source = ... }
Provider
provider "name" { alias = ..., ... }
Variable
variable "name" {}
Locals
locals { ... }
Output
output "name" {}
Terraform
terraform { ... }
Include
include "label" { ... } (Terragrunt)
Generate
generate "label" { ... } (Terragrunt)
Dependency
dependency "label" { ... } (Terragrunt)
Inputs
inputs { ... } (Terragrunt)
Unknown
Anything else (e.g. user-defined dynamic block).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for BlockKind
impl<'de> Deserialize<'de> for BlockKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for BlockKind
impl Eq for BlockKind
impl StructuralPartialEq for BlockKind
Auto Trait Implementations§
impl Freeze for BlockKind
impl RefUnwindSafe for BlockKind
impl Send for BlockKind
impl Sync for BlockKind
impl Unpin for BlockKind
impl UnsafeUnpin for BlockKind
impl UnwindSafe for BlockKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
Compare self to
key and return true if they are equal.