package response // ModuleVersions is the response format that contains all metadata about module // versions needed for terraform CLI to resolve version constraints. See RFC // TF-042 for details on this format. type ModuleVersions struct { Modules []*ModuleProviderVersions `json:"modules"` } // ModuleProviderVersions is the response format for a single module instance, // containing metadata about all versions and their dependencies. type ModuleProviderVersions struct { Source string `json:"source"` Versions []*ModuleVersion `json:"versions"` } // ModuleVersion is the output metadata for a given version needed by CLI to // resolve candidate versions to satisfy requirements. type ModuleVersion struct { Version string `json:"version"` Root VersionSubmodule `json:"root"` Submodules []*VersionSubmodule `json:"submodules"` } // VersionSubmodule is the output metadata for a submodule within a given // version needed by CLI to resolve candidate versions to satisfy requirements. // When representing the Root in JSON the path is omitted. type VersionSubmodule struct { Path string `json:"path,omitempty"` Providers []*ModuleProviderDep `json:"providers"` Dependencies []*ModuleDep `json:"dependencies"` }