config

package
v0.19.15 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultTerragruntConfigPath = "terragrunt.hcl"
View Source
const MaxIter = 1000

MaxIter is the maximum number of depth we support in recursively evaluating locals.

Variables

View Source
var TERRAFORM_COMMANDS_NEED_INPUT = []string{
	"apply",
	"import",
	"init",
	"plan",
	"refresh",
}

List of terraform commands that accept -input=

View Source
var TERRAFORM_COMMANDS_NEED_LOCKING = []string{
	"apply",
	"destroy",
	"import",
	"init",
	"plan",
	"refresh",
	"taint",
	"untaint",
}

List of terraform commands that accept -lock-timeout

View Source
var TERRAFORM_COMMANDS_NEED_PARALLELISM = []string{
	"apply",
	"plan",
	"destroy",
}

List of terraform commands that accept -parallelism=

View Source
var TERRAFORM_COMMANDS_NEED_VARS = []string{
	"apply",
	"console",
	"destroy",
	"import",
	"plan",
	"push",
	"refresh",
	"validate",
}

List of terraform commands that accept -var or -var-file

Functions

func CreateTerragruntEvalContext added in v0.19.0

func CreateTerragruntEvalContext(
	filename string,
	terragruntOptions *options.TerragruntOptions,
	include *IncludeConfig,
	locals *cty.Value,
) *hcl.EvalContext

Create an EvalContext for the HCL2 parser. We can define functions and variables in this context that the HCL2 parser will make available to the Terragrunt configuration during parsing.

func DefaultConfigPath added in v0.10.0

func DefaultConfigPath(workingDir string) string

Return the default path to use for the Terragrunt configuration file in the given directory

func FindConfigFilesInPath added in v0.10.0

func FindConfigFilesInPath(rootPath string, terragruntOptions *options.TerragruntOptions) ([]string, error)

Returns a list of all Terragrunt config files in the given path or any subfolder of the path. A file is a Terragrunt config file if it has a name as returned by the DefaultConfigPath method

Types

type CouldNotEvaluateAllLocalsError added in v0.19.14

type CouldNotEvaluateAllLocalsError struct{}

func (CouldNotEvaluateAllLocalsError) Error added in v0.19.14

type CouldNotResolveTerragruntConfigInFile added in v0.10.0

type CouldNotResolveTerragruntConfigInFile string

func (CouldNotResolveTerragruntConfigInFile) Error added in v0.10.0

type CtyJsonOutput added in v0.19.0

type CtyJsonOutput struct {
	Value map[string]interface{}
	Type  interface{}
}

When you convert a cty value to JSON, if any of that types are not yet known (i.e., are labeled as DynamicPseudoType), cty's Marshall method will write the type information to a type field and the actual value to a value field. This struct is used to capture that information so when we parse the JSON back into a Go struct, we can pull out just the Value field we need.

type EmptyStringNotAllowed added in v0.13.8

type EmptyStringNotAllowed string

func (EmptyStringNotAllowed) Error added in v0.13.8

func (err EmptyStringNotAllowed) Error() string

type EnvVar added in v0.9.1

type EnvVar struct {
	Name         string
	DefaultValue string
}

type ErrorParsingTerragruntConfig added in v0.13.14

type ErrorParsingTerragruntConfig struct {
	ConfigPath string
	Underlying error
}

func (ErrorParsingTerragruntConfig) Error added in v0.13.14

type Hook added in v0.14.4

type Hook struct {
	Name       string   `hcl:"name,label"`
	Commands   []string `hcl:"commands,attr"`
	Execute    []string `hcl:"execute,attr"`
	RunOnError *bool    `hcl:"run_on_error,attr"`
}

Hook specifies terraform commands (apply/plan) and array of os commands to execute

func (*Hook) String added in v0.14.4

func (conf *Hook) String() string

type IncludeConfig added in v0.4.0

type IncludeConfig struct {
	Path string `hcl:"path,attr"`
}

IncludeConfig represents the configuration settings for a parent Terragrunt configuration file that you can "include" in a child Terragrunt configuration file

func (*IncludeConfig) String added in v0.19.0

func (cfg *IncludeConfig) String() string

type IncludedConfigMissingPath added in v0.4.0

type IncludedConfigMissingPath string

func (IncludedConfigMissingPath) Error added in v0.4.0

func (err IncludedConfigMissingPath) Error() string

type InvalidArgError added in v0.14.4

type InvalidArgError string

func (InvalidArgError) Error added in v0.14.4

func (e InvalidArgError) Error() string

type InvalidBackendConfigType added in v0.19.0

type InvalidBackendConfigType struct {
	ExpectedType string
	ActualType   string
}

func (InvalidBackendConfigType) Error added in v0.19.0

func (err InvalidBackendConfigType) Error() string

type InvalidGetEnvParams added in v0.13.8

type InvalidGetEnvParams struct {
	ExpectedNumParams int
	ActualNumParams   int
	Example           string
}

func (InvalidGetEnvParams) Error added in v0.13.8

func (err InvalidGetEnvParams) Error() string

type InvalidParameterType added in v0.19.0

type InvalidParameterType struct {
	Expected string
	Actual   string
}

func (InvalidParameterType) Error added in v0.19.0

func (err InvalidParameterType) Error() string

type Local added in v0.19.14

type Local struct {
	Name string
	Expr hcl.Expression
}

Local represents a single local name binding. This holds the unevaluated expression, extracted from the parsed file (but before decoding) so that we can look for references to other locals before evaluating.

type MaxIterError added in v0.19.14

type MaxIterError struct{}

func (MaxIterError) Error added in v0.19.14

func (err MaxIterError) Error() string

type ModuleDependencies added in v0.6.0

type ModuleDependencies struct {
	Paths []string `hcl:"paths,attr"`
}

ModuleDependencies represents the paths to other Terraform modules that must be applied before the current module can be applied

func (*ModuleDependencies) String added in v0.9.4

func (deps *ModuleDependencies) String() string

type PanicWhileParsingConfig added in v0.19.0

type PanicWhileParsingConfig struct {
	ConfigFile     string
	RecoveredValue interface{}
}

func (PanicWhileParsingConfig) Error added in v0.19.0

func (err PanicWhileParsingConfig) Error() string

type ParentFileNotFound added in v0.13.8

type ParentFileNotFound struct {
	Path  string
	File  string
	Cause string
}

func (ParentFileNotFound) Error added in v0.13.8

func (err ParentFileNotFound) Error() string

type TerraformConfig added in v0.9.4

type TerraformConfig struct {
	ExtraArgs   []TerraformExtraArguments `hcl:"extra_arguments,block"`
	Source      *string                   `hcl:"source,attr"`
	BeforeHooks []Hook                    `hcl:"before_hook,block"`
	AfterHooks  []Hook                    `hcl:"after_hook,block"`
}

TerraformConfig specifies where to find the Terraform configuration files

func (*TerraformConfig) GetAfterHooks added in v0.14.4

func (conf *TerraformConfig) GetAfterHooks() []Hook

func (*TerraformConfig) GetBeforeHooks added in v0.14.4

func (conf *TerraformConfig) GetBeforeHooks() []Hook

func (*TerraformConfig) String added in v0.9.4

func (conf *TerraformConfig) String() string

func (*TerraformConfig) ValidateHooks added in v0.14.4

func (conf *TerraformConfig) ValidateHooks() error

type TerraformExtraArguments added in v0.10.2

type TerraformExtraArguments struct {
	Name             string             `hcl:"name,label"`
	Arguments        *[]string          `hcl:"arguments,attr"`
	RequiredVarFiles *[]string          `hcl:"required_var_files,attr"`
	OptionalVarFiles *[]string          `hcl:"optional_var_files,attr"`
	Commands         []string           `hcl:"commands,attr"`
	EnvVars          *map[string]string `hcl:"env_vars,attr"`
}

TerraformExtraArguments sets a list of arguments to pass to Terraform if command fits any in the `Commands` list

func (*TerraformExtraArguments) String added in v0.10.2

func (conf *TerraformExtraArguments) String() string

type TerragruntConfig

type TerragruntConfig struct {
	Terraform      *TerraformConfig
	RemoteState    *remote.RemoteState
	Dependencies   *ModuleDependencies
	PreventDestroy bool
	Skip           bool
	IamRole        string
	Inputs         map[string]interface{}
	Locals         map[string]interface{}
}

TerragruntConfig represents a parsed and expanded configuration

func ParseConfigFile added in v0.6.0

func ParseConfigFile(filename string, terragruntOptions *options.TerragruntOptions, include *IncludeConfig) (*TerragruntConfig, error)

Parse the Terragrunt config file at the given path. If the include parameter is not nil, then treat this as a config included in some other config file when resolving relative paths.

func ParseConfigString added in v0.19.0

func ParseConfigString(configString string, terragruntOptions *options.TerragruntOptions, includeFromChild *IncludeConfig, filename string) (*TerragruntConfig, error)

Parse the Terragrunt config contained in the given string and merge it with the given include config (if any)

func ReadTerragruntConfig

func ReadTerragruntConfig(terragruntOptions *options.TerragruntOptions) (*TerragruntConfig, error)

Read the Terragrunt config file from its default location

func (*TerragruntConfig) String added in v0.9.4

func (conf *TerragruntConfig) String() string

type TooManyLevelsOfInheritance added in v0.4.0

type TooManyLevelsOfInheritance struct {
	ConfigPath             string
	FirstLevelIncludePath  string
	SecondLevelIncludePath string
}

func (TooManyLevelsOfInheritance) Error added in v0.4.0

func (err TooManyLevelsOfInheritance) Error() string

type WrongNumberOfParams added in v0.19.0

type WrongNumberOfParams struct {
	Func     string
	Expected string
	Actual   int
}

func (WrongNumberOfParams) Error added in v0.19.0

func (err WrongNumberOfParams) Error() string

Jump to

Keyboard shortcuts

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