# Functions
FilterTraversalsByType lets the caller filter the traversals per top-level type.
Functions returns the set of functions that should be used to when evaluating expressions in the receiving scope.
GetHCL2Files returns two slices of json formatted and hcl formatted files, hclSuffix and jsonSuffix tell which file is what.
GetVarsByType walks through a hcl body, and gathers all the Traversals that have a root type matching one of the specified top-level labels.
NewHCL2Formatter creates a new formatter, ready to format configuration files.
# Constants
Prefix your environment variables with VarEnvPrefix so that Packer can see them.
# Variables
NoSource is the zero value of sourceRef, representing the absense of an source.
TextDecodeBase64Func constructs a function that decodes a base64 sequence from the source encoding to UTF-8.
TextEncodeBase64Func constructs a function that encodes a string to a target encoding and then to a base64 sequence.
# Structs
BuildBlock references an HCL 'build' block and it content, for example :
build { sources = [ ..
DatasourceBlock references an HCL 'data' block.
HCL2PostProcessor has a reference to the part of the HCL2 body where it is defined, allowing to completely reconfigure the PostProcessor right before calling PostProcess: with contextual variables.
HCL2Provisioner has a reference to the part of the HCL2 body where it is defined, allowing to completely reconfigure the Provisioner right before calling Provision: with contextual variables.
HCL2Ref references to the source definition in configuration text file.
Local represents a single entry from a "locals" block in a file.
OnlyExcept is a struct that is meant to be embedded that contains the logic required for "only" and "except" meta-parameters.
PackerConfig represents a loaded Packer HCL config.
Parser helps you parse HCL folders.
ProvisionerBlock references a detected but unparsed post processor.
ProvisionerBlock references a detected but unparsed provisioner.
RequiredPlugin represents a declaration of a dependency on a particular Plugin version or source.
SourceBlock references an HCL 'source' block to be used in a build for example.
SourceRef is a nice way to put `virtualbox-iso.source_name`.
SourceUseBlock is a SourceBlock 'usage' from a config stand point.
VariableAssignment represents a way a variable was set: the expression setting it and the value of that expression.
VariableValidation represents a configuration-defined validation rule for a particular input variable, given as a "validation" block inside a "variable" block.
VersionConstraint represents a version constraint on some resource that carries with it a source range so that a helpful diagnostic can be printed in the event that a particular constraint does not match.
# Interfaces
Decodable structs are structs that can tell their hcl2 ObjectSpec; this config spec will be passed to hcldec.Decode and the result will be a cty.Value.
# Type aliases
ComponentKind helps enumerate what kind of components exist in this Package.