# Functions
NewRegistrar creates a new Registrar instance, returning the pointer to be used for registering DefinitionBlock's.
# Structs
Registrar allows registering many root hcldec.Spec's at a given block or argument which are all called independently allowing variables to be injected into the context after each run for variable interpolation that includes variables created from previous schema blocks or arguments.
Registration adds a BlockDefinition for the BlockName to the Registrar that will allow parsing the block in the schema according to the returned hcldec.Spec from BlockDefinition's Spec() method.
# Interfaces
BlockDefinition describes the methods that must be implemented by all definition packages for each root-level key.
BlockRegistrar registers blocks by adding the given BlockDefinition for the root blockName.
Builder builds and returns an hcldec.Spec used for further processing.
FunctionInjector allows injecting functions into a hcl.EvalContext after it has been created from the BlockDefinition's Spec() result.
NamedBlockDefinition describes the methods that musy be implemented by all definition packages for each root-level key when the definition can be self-registered by it's block name.
Parser accepts an hcl.Body and a pointer to an hcl.EvalContext, parses the hcl.Body against the hcl.EvalContext and returns any returned hcl.Diagnostics.
VariableInjector allows injecting variables into a hcl.EvalContext after it has been created from the BlockDefinition's Spec() result.
# Type aliases
InjectableFunctions is a map of function names that correspond with a cty.Function of which will be injected into the context after processing Spec().
InjectableVariables is a map of variable names that correspond with a cty.Value of which will be injected into the running context after processing Spec().
NamedBlockDefinitions represents a slice of individual NamedBlockDefinition's pre-ordered in the order they should be processed.