options

package
v0.16.11 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const DEFAULT_MAX_FOLDERS_TO_CHECK = 100
View Source
const TerragruntCacheDir = ".terragrunt-cache"

Variables

View Source
var RunTerragruntCommandNotSet = fmt.Errorf("The RunTerragrunt option has not been set on this TerragruntOptions object")
View Source
var TERRAFORM_COMMANDS_WITH_SUBCOMMAND = []string{
	"debug",
	"force-unlock",
	"state",
}

Functions

func DefaultWorkingAndDownloadDirs added in v0.16.2

func DefaultWorkingAndDownloadDirs(terragruntConfigPath string) (string, string, error)

Get the default working and download directories for the given Terragrunt config path

Types

type TerragruntOptions

type TerragruntOptions struct {
	// Location of the Terragrunt config file
	TerragruntConfigPath string

	// Location of the terraform binary
	TerraformPath string

	// Current Terraform command being executed by Terragrunt
	TerraformCommand string

	// Version of terraform (obtained by running 'terraform version')
	TerraformVersion *version.Version

	// Whether we should prompt the user for confirmation or always assume "yes"
	NonInteractive bool

	// Whether we should automatically run terraform init if necessary when executing other commands
	AutoInit bool

	// CLI args that are intended for Terraform (i.e. all the CLI args except the --terragrunt ones)
	TerraformCliArgs []string

	// The working directory in which to run Terraform
	WorkingDir string

	// The logger to use for all logging
	Logger *log.Logger

	// Environment variables at runtime
	Env map[string]string

	// Download Terraform configurations from the specified source location into a temporary folder and run
	// Terraform in that temporary folder
	Source string

	// If set to true, delete the contents of the temporary folder before downloading Terraform source code into it
	SourceUpdate bool

	// Download Terraform configurations specified in the Source parameter into this folder
	DownloadDir string

	// The ARN of an IAM Role to assume before running Terraform
	IamRole string

	// If set to true, continue running *-all commands even if a dependency has errors. This is mostly useful for 'output-all <some_variable>'. See https://github.com/gruntwork-io/terragrunt/issues/193
	IgnoreDependencyErrors bool

	// If you want stdout to go somewhere other than os.stdout
	Writer io.Writer

	// If you want stderr to go somewhere other than os.stderr
	ErrWriter io.Writer

	// When searching the directory tree, this is the max folders to check before exiting with an error. This is
	// exposed here primarily so we can set it to a low value at test time.
	MaxFoldersToCheck int

	// Unix-style glob of directories to exclude when running *-all commands
	ExcludeDirs []string

	// A command that can be used to run Terragrunt with the given options. This is useful for running Terragrunt
	// multiple times (e.g. when spinning up a stack of Terraform modules). The actual command is normally defined
	// in the cli package, which depends on almost all other packages, so we declare it here so that other
	// packages can use the command without a direct reference back to the cli package (which would create a
	// circular dependency).
	RunTerragrunt func(*TerragruntOptions) error
}

TerragruntOptions represents options that configure the behavior of the Terragrunt program

func NewTerragruntOptions added in v0.6.0

func NewTerragruntOptions(terragruntConfigPath string) (*TerragruntOptions, error)

Create a new TerragruntOptions object with reasonable defaults for real usage

func NewTerragruntOptionsForTest added in v0.6.0

func NewTerragruntOptionsForTest(terragruntConfigPath string) (*TerragruntOptions, error)

Create a new TerragruntOptions object with reasonable defaults for test usage

func (*TerragruntOptions) AppendTerraformCliArgs added in v0.13.0

func (terragruntOptions *TerragruntOptions) AppendTerraformCliArgs(argsToAppend ...string)

Appends the given argsToAppend after the current TerraformCliArgs

func (*TerragruntOptions) Clone added in v0.6.0

func (terragruntOptions *TerragruntOptions) Clone(terragruntConfigPath string) *TerragruntOptions

Create a copy of this TerragruntOptions, but with different values for the given variables. This is useful for creating a TerragruntOptions that behaves the same way, but is used for a Terraform module in a different folder.

func (*TerragruntOptions) InsertTerraformCliArgs added in v0.13.0

func (terragruntOptions *TerragruntOptions) InsertTerraformCliArgs(argsToInsert ...string)

Inserts the given argsToInsert after the terraform command argument, but before the remaining args

Jump to

Keyboard shortcuts

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