Documentation ¶
Index ¶
- Variables
- func CheckForCycles(modules []*TerraformModule) error
- func RunModules(modules []*TerraformModule, parallelism int) error
- func RunModulesIgnoreOrder(modules []*TerraformModule, parallelism int) error
- func RunModulesReverseOrder(modules []*TerraformModule, parallelism int) error
- func WriteDot(w io.Writer, terragruntOptions *options.TerragruntOptions, ...) error
- type DependencyCycle
- type DependencyFinishedWithError
- type DependencyNotFoundWhileCrossLinking
- type DependencyOrder
- type ErrorProcessingModule
- type InfiniteRecursion
- type ModuleStatus
- type RunningModuleByPath
- type Stack
- type TerraformModule
- type TerraformModuleByPath
- type UnrecognizedDependency
Constants ¶
This section is empty.
Variables ¶
var NoTerraformModulesFound = fmt.Errorf("Could not find any subfolders with Terragrunt configuration files")
Functions ¶
func CheckForCycles ¶
func CheckForCycles(modules []*TerraformModule) error
Check for dependency cycles in the given list of modules and return an error if one is found
func RunModules ¶
func RunModules(modules []*TerraformModule, parallelism int) error
Run the given map of module path to runningModule. To "run" a module, execute the RunTerragrunt command in its TerragruntOptions object. The modules will be executed in an order determined by their inter-dependencies, using as much concurrency as possible.
func RunModulesIgnoreOrder ¶ added in v0.20.2
func RunModulesIgnoreOrder(modules []*TerraformModule, parallelism int) error
Run the given map of module path to runningModule. To "run" a module, execute the RunTerragrunt command in its TerragruntOptions object. The modules will be executed without caring for inter-dependencies.
func RunModulesReverseOrder ¶
func RunModulesReverseOrder(modules []*TerraformModule, parallelism int) error
Run the given map of module path to runningModule. To "run" a module, execute the RunTerragrunt command in its TerragruntOptions object. The modules will be executed in the reverse order of their inter-dependencies, using as much concurrency as possible.
func WriteDot ¶ added in v0.23.7
func WriteDot(w io.Writer, terragruntOptions *options.TerragruntOptions, modules []*TerraformModule) error
WriteDot is used to emit a GraphViz compatible definition for a directed graph. It can be used to dump a .dot file. This is a similar implementation to terraform's digraph https://github.com/hashicorp/terraform/blob/master/digraph/graphviz.go adding some styling to modules that are excluded from the execution in *-all commands
Types ¶
type DependencyCycle ¶
type DependencyCycle []string
func (DependencyCycle) Error ¶
func (err DependencyCycle) Error() string
type DependencyFinishedWithError ¶
type DependencyFinishedWithError struct { Module *TerraformModule Dependency *TerraformModule Err error }
func (DependencyFinishedWithError) Error ¶
func (err DependencyFinishedWithError) Error() string
func (DependencyFinishedWithError) ExitStatus ¶ added in v0.12.14
func (this DependencyFinishedWithError) ExitStatus() (int, error)
type DependencyNotFoundWhileCrossLinking ¶
type DependencyNotFoundWhileCrossLinking struct { Module *runningModule Dependency *TerraformModule }
func (DependencyNotFoundWhileCrossLinking) Error ¶
func (err DependencyNotFoundWhileCrossLinking) Error() string
type DependencyOrder ¶
type DependencyOrder int
This controls in what order dependencies should be enforced between modules
const ( NormalOrder DependencyOrder = iota ReverseOrder IgnoreOrder )
type ErrorProcessingModule ¶ added in v0.13.12
type ErrorProcessingModule struct { UnderlyingError error ModulePath string HowThisModuleWasFound string }
func (ErrorProcessingModule) Error ¶ added in v0.13.12
func (err ErrorProcessingModule) Error() string
type InfiniteRecursion ¶ added in v0.13.15
type InfiniteRecursion struct { RecursionLevel int Modules map[string]*TerraformModule }
func (InfiniteRecursion) Error ¶ added in v0.13.15
func (err InfiniteRecursion) Error() string
type ModuleStatus ¶
type ModuleStatus int
Represents the status of a module that we are trying to apply as part of the apply-all or destroy-all command
const ( Waiting ModuleStatus = iota Running Finished )
type RunningModuleByPath ¶
type RunningModuleByPath []*runningModule
func (RunningModuleByPath) Len ¶
func (byPath RunningModuleByPath) Len() int
func (RunningModuleByPath) Less ¶
func (byPath RunningModuleByPath) Less(i, j int) bool
func (RunningModuleByPath) Swap ¶
func (byPath RunningModuleByPath) Swap(i, j int)
type Stack ¶
type Stack struct { Path string Modules []*TerraformModule }
Represents a stack of Terraform modules (i.e. folders with Terraform templates) that you can "spin up" or "spin down" in a single command
func FindStackInSubfolders ¶
func FindStackInSubfolders(terragruntOptions *options.TerragruntOptions) (*Stack, error)
Find all the Terraform modules in the subfolders of the working directory of the given TerragruntOptions and assemble them into a Stack object that can be applied or destroyed in a single command
func (*Stack) CheckForCycles ¶
Return an error if there is a dependency cycle in the modules of this stack.
func (*Stack) Graph ¶ added in v0.23.7
func (stack *Stack) Graph(terragruntOptions *options.TerragruntOptions)
Graph creates a graphviz representation of the modules
type TerraformModule ¶
type TerraformModule struct { Path string Dependencies []*TerraformModule Config config.TerragruntConfig TerragruntOptions *options.TerragruntOptions AssumeAlreadyApplied bool FlagExcluded bool }
Represents a single module (i.e. folder with Terraform templates), including the Terragrunt configuration for that module and the list of other modules that this module depends on
func ResolveTerraformModules ¶
func ResolveTerraformModules(terragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, howThesePathsWereFound string) ([]*TerraformModule, error)
Go through each of the given Terragrunt configuration files and resolve the module that configuration file represents into a TerraformModule struct. Return the list of these TerraformModule structs.
func (*TerraformModule) String ¶
func (module *TerraformModule) String() string
Render this module as a human-readable string
type TerraformModuleByPath ¶
type TerraformModuleByPath []*TerraformModule
func (TerraformModuleByPath) Len ¶
func (byPath TerraformModuleByPath) Len() int
func (TerraformModuleByPath) Less ¶
func (byPath TerraformModuleByPath) Less(i, j int) bool
func (TerraformModuleByPath) Swap ¶
func (byPath TerraformModuleByPath) Swap(i, j int)
type UnrecognizedDependency ¶
type UnrecognizedDependency struct { ModulePath string DependencyPath string TerragruntConfigPaths []string }
func (UnrecognizedDependency) Error ¶
func (err UnrecognizedDependency) Error() string