| package tfconfig |
| |
| // Module is the top-level type representing a parsed and processed Terraform |
| // module. |
| type Module struct { |
| // Path is the local filesystem directory where the module was loaded from. |
| Path string `json:"path"` |
| |
| Variables map[string]*Variable `json:"variables"` |
| Outputs map[string]*Output `json:"outputs"` |
| |
| RequiredCore []string `json:"required_core,omitempty"` |
| RequiredProviders map[string][]string `json:"required_providers"` |
| |
| ManagedResources map[string]*Resource `json:"managed_resources"` |
| DataResources map[string]*Resource `json:"data_resources"` |
| ModuleCalls map[string]*ModuleCall `json:"module_calls"` |
| |
| // Diagnostics records any errors and warnings that were detected during |
| // loading, primarily for inclusion in serialized forms of the module |
| // since this slice is also returned as a second argument from LoadModule. |
| Diagnostics Diagnostics `json:"diagnostics,omitempty"` |
| } |
| |
| func newModule(path string) *Module { |
| return &Module{ |
| Path: path, |
| Variables: make(map[string]*Variable), |
| Outputs: make(map[string]*Output), |
| RequiredProviders: make(map[string][]string), |
| ManagedResources: make(map[string]*Resource), |
| DataResources: make(map[string]*Resource), |
| ModuleCalls: make(map[string]*ModuleCall), |
| } |
| } |