Help us shape the future of Go! Take the 2026 Go Developer Survey

terraform

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.

* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.

* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.

* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.

Index

Constants

View Source
const (
	// RetriesDefaultValue is default number of times a parser will retry to execute
	RetriesDefaultValue = 50
)

Variables

This section is empty.

Functions

func LocalTraversalName added in v1.20.0

func LocalTraversalName(traversal hcl.Traversal) (string, bool)

LocalTraversalName returns the local a local.<name> or local["<name>"] traversal reads.

Types

type Converter

type Converter func(
	ctx context.Context,
	file *hcl.File,
	inputVariables converter.VariableMap,
	opts converter.Options,
) (model.Document, error)

Converter returns content json, error line, error

type Parser

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

Parser struct that contains the function to parse file and the number of retries if something goes wrong

func NewDefault

func NewDefault() *Parser

NewDefault initializes a parser with Parser default values

func NewDefaultWithParams

func NewDefaultWithParams(fsys vfs.FS, terraformVarsPath string, sciInfo model.SCIInfo) *Parser

nolint:gocritic

func (*Parser) GetCommentToken

func (p *Parser) GetCommentToken() string

GetCommentToken return the comment token of Terraform - #

func (*Parser) GetKind

func (p *Parser) GetKind() model.FileKind

GetKind returns Terraform kind parser

func (*Parser) Parse

func (p *Parser) Parse(ctx context.Context, fileContent []byte, path string,
	resolveReferences bool, maxResolverDepth int) (
	resolved []byte,
	documents []model.Document,
	ignoreLines []int,
	resolvedFiles map[string]model.ResolvedFile,
	err error)

Parse execute parser for the content in a file

func (*Parser) Resolve

func (p *Parser) Resolve(ctx context.Context,
	fileContent []byte,
	filename string, _ bool, _ int) (resolved []byte, vars converter.VariableMap, err error)

Resolve - replace or modifies in-memory content before parsing

func (*Parser) SetMergeAllow added in v1.15.0

func (p *Parser) SetMergeAllow(paths []string)

SetMergeAllow restricts OpenTofu twin-shadowing to inventory paths.

func (*Parser) StringifyContent

func (p *Parser) StringifyContent(content []byte) (string, error)

StringifyContent converts original content into string formatted version

func (*Parser) SupportedExtensions

func (p *Parser) SupportedExtensions() []string

SupportedExtensions returns Terraform/OpenTofu extensions.

func (*Parser) SupportedTypes

func (p *Parser) SupportedTypes() map[string]bool

SupportedTypes returns types supported by this parser, which are terraform

Directories

Path Synopsis
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
Package dynamicblock expands Terraform dynamic blocks into the nested blocks they generate.
Package dynamicblock expands Terraform dynamic blocks into the nested blocks they generate.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
Package localdata renders the data sources Terraform computes from their configuration alone, such as aws_iam_policy_document, into the attributes resources read from them.
Package localdata renders the data sources Terraform computes from their configuration alone, such as aws_iam_policy_document, into the attributes resources read from them.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
modulegraph
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
moduleprepare
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
resolver
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
Package partial renders Terraform expressions evaluation cannot fully resolve into values rules can read.
Package partial renders Terraform expressions evaluation cannot fully resolve into values rules can read.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
Package tfeval evaluates local Terraform modules: bind inputs, resolve locals, recurse into nested modules, emit resource and data instances with concrete cty values where possible.
Package tfeval evaluates local Terraform modules: bind inputs, resolve locals, recurse into nested modules, emit resource and data instances with concrete cty values where possible.

Jump to

Keyboard shortcuts

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