Documentation
¶
Overview ¶
Package parser provides HCL parsing functionality for Terraform files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendConfig ¶
type BackendConfig = parsermodel.BackendConfig
BackendConfig represents a module's terraform backend configuration.
type Dependency ¶
type Dependency = parsermodel.Dependency
Dependency represents a dependency between two modules.
type DependencyExtractor ¶
type DependencyExtractor struct {
// contains filtered or unexported fields
}
DependencyExtractor extracts module dependencies from parsed Terraform files.
func NewDependencyExtractor ¶
func NewDependencyExtractor(parser ModuleParser, index *discovery.ModuleIndex) *DependencyExtractor
NewDependencyExtractor creates a new dependency extractor.
func (*DependencyExtractor) ExtractAllDependencies ¶
func (de *DependencyExtractor) ExtractAllDependencies(ctx context.Context) (map[string]*ModuleDependencies, []error)
ExtractAllDependencies extracts dependencies for all modules in the index.
func (*DependencyExtractor) ExtractDependencies ¶
func (de *DependencyExtractor) ExtractDependencies(ctx context.Context, module *discovery.Module) (*ModuleDependencies, error)
ExtractDependencies extracts dependencies for a single module.
type LibraryDependency ¶
type LibraryDependency = parsermodel.LibraryDependency
LibraryDependency represents a dependency on a library module.
type LockedProvider ¶ added in v0.8.0
type LockedProvider = parsermodel.LockedProvider
LockedProvider represents a provider entry from .terraform.lock.hcl.
type ModuleCall ¶
type ModuleCall = parsermodel.ModuleCall
ModuleCall represents a module block in Terraform.
type ModuleDependencies ¶
type ModuleDependencies = parsermodel.ModuleDependencies
ModuleDependencies contains all dependencies for a module.
type ModuleParser ¶
type ModuleParser interface {
ParseModule(ctx context.Context, modulePath string) (*ParsedModule, error)
ResolveWorkspacePath(ref *RemoteStateRef, modulePath string, locals, variables map[string]cty.Value) ([]string, error)
}
ModuleParser is the interface for parsing Terraform modules.
type ParsedModule ¶
type ParsedModule = parsermodel.ParsedModule
ParsedModule contains the parsed content of a Terraform module.
func NewParsedModule ¶ added in v0.9.0
func NewParsedModule(modulePath string) *ParsedModule
NewParsedModule creates an empty parsed module with initialized collections.
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
Parser handles parsing of Terraform HCL files.
func (*Parser) ParseModule ¶
ParseModule parses all Terraform files in a module directory.
func (*Parser) ResolveWorkspacePath ¶
func (p *Parser) ResolveWorkspacePath(ref *RemoteStateRef, modulePath string, locals, variables map[string]cty.Value) ([]string, error)
ResolveWorkspacePath resolves workspace paths from a remote state config using the module's locals, variables, and path-derived segment values.
type RemoteStateRef ¶
type RemoteStateRef = parsermodel.RemoteStateRef
RemoteStateRef represents a terraform_remote_state data source reference.
type RequiredProvider ¶ added in v0.8.0
type RequiredProvider = parsermodel.RequiredProvider
RequiredProvider represents a provider requirement from a required_providers block.