parser

package
v0.34.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2022 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Functions

func Functions(target fs.FS, baseDir string) map[string]function.Function

Functions returns the set of functions that should be used to when evaluating expressions in the receiving scope.

Types

type Metrics

type Metrics struct {
	Timings struct {
		DiskIODuration time.Duration
		ParseDuration  time.Duration
	}
	Counts struct {
		Blocks          int
		Modules         int
		ModuleDownloads int
		Files           int
	}
}

type ModuleDefinition

type ModuleDefinition struct {
	Name       string
	Path       string
	FileSystem fs.FS
	Definition *terraform.Block
	Parser     *Parser
	External   bool
}

type ModuleResolver

type ModuleResolver interface {
	Resolve(context.Context, fs.FS, resolvers.Options) (filesystem fs.FS, prefix string, downloadPath string, applies bool, err error)
}

type Option

type Option func(p *Parser)

func OptionStopOnHCLError

func OptionStopOnHCLError(stop bool) Option

func OptionWithDebugWriter

func OptionWithDebugWriter(w io.Writer) Option

func OptionWithDownloads

func OptionWithDownloads(allowed bool) Option

func OptionWithTFVarsPaths

func OptionWithTFVarsPaths(paths []string) Option

func OptionWithWorkspaceName

func OptionWithWorkspaceName(workspaceName string) Option

type Parser

type Parser struct {
	// contains filtered or unexported fields
}

Parser is a tool for parsing terraform templates at a given file system location

func New

func New(moduleFS fs.FS, moduleSource string, options ...Option) *Parser

New creates a new Parser

func (*Parser) EvaluateAll

func (p *Parser) EvaluateAll(ctx context.Context) (terraform.Modules, cty.Value, error)

func (*Parser) Metrics

func (p *Parser) Metrics() Metrics

func (*Parser) ParseFS

func (p *Parser) ParseFS(ctx context.Context, dir string) error

ParseFS parses a root module, where it exists at the root of the provided filesystem

func (*Parser) ParseFile

func (p *Parser) ParseFile(_ context.Context, fullPath string) error

Directories

Path Synopsis
Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/marks Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs
Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/marks Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs Copied from github.com/hashicorp/terraform/internal/lang/funcs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL