mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-28 01:41:48 -06:00
31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
|
package configs
|
||
|
|
||
|
// A Config is a node in the tree of modules within a configuration.
|
||
|
//
|
||
|
// The module tree is constructed by following ModuleCall instances recursively
|
||
|
// through the root module transitively into descendent modules.
|
||
|
//
|
||
|
// A module tree described in *this* package represents the static tree
|
||
|
// represented by configuration. During evaluation a static ModuleNode may
|
||
|
// expand into zero or more module instances depending on the use of count and
|
||
|
// for_each configuration attributes within each call.
|
||
|
type Config struct {
|
||
|
// RootModule points to the Config for the root module within the same
|
||
|
// module tree as this module. If this module _is_ the root module then
|
||
|
// this is self-referential.
|
||
|
Root *Config
|
||
|
|
||
|
// ParentModule points to the Config for the module that directly calls
|
||
|
// this module. If this is the root module then this field is nil.
|
||
|
Parent *Config
|
||
|
|
||
|
// ChildModules points to the Config for each of the direct child modules
|
||
|
// called from this module. The keys in this map match the keys in
|
||
|
// Module.ModuleCalls.
|
||
|
Children map[string]*Config
|
||
|
|
||
|
// Elements points to the object describing the configuration for the
|
||
|
// various elements (variables, resources, etc) defined by this module.
|
||
|
Elements *Module
|
||
|
}
|