Documentation
¶
Index ¶
- func IsRootModuleNotFound(err error) bool
- func NewRootModuleMock(rmm *RootModuleMock, dir string) *rootModule
- func ParseModuleManifestFromFile(path string) (*moduleManifest, error)
- type File
- type ModuleRecord
- type ParserFinder
- type RootModule
- type RootModuleCandidateFinder
- type RootModuleFactory
- type RootModuleLoader
- type RootModuleManager
- type RootModuleManagerFactory
- type RootModuleManagerMockInput
- type RootModuleMock
- type RootModuleMockFactory
- type RootModuleNotFoundErr
- type RootModules
- type TerraformFormatterFinder
- type WalkFunc
- type Walker
- type WalkerFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsRootModuleNotFound ¶
func NewRootModuleMock ¶
func NewRootModuleMock(rmm *RootModuleMock, dir string) *rootModule
Types ¶
type ModuleRecord ¶
type ModuleRecord struct { // Key is a unique identifier for this particular module, based on its // position within the static module tree. Key string `json:"Key"` // SourceAddr is the source address given for this module in configuration. // This is used only to detect if the source was changed in configuration // since the module was last installed, which means that the installer // must re-install it. SourceAddr string `json:"Source"` // Version is the exact version of the module, which results from parsing // VersionStr. nil for un-versioned modules. Version *version.Version `json:"-"` // VersionStr is the version specifier string. This is used only for // serialization in snapshots and should not be accessed or updated // by any other codepaths; use "Version" instead. VersionStr string `json:"Version,omitempty"` // Dir is the path to the local directory where the module is installed. Dir string `json:"Dir"` }
ModuleRecord represents some metadata about an installed module, as part of a ModuleManifest.
func (*ModuleRecord) IsExternal ¶
func (r *ModuleRecord) IsExternal() bool
func (*ModuleRecord) IsRoot ¶
func (r *ModuleRecord) IsRoot() bool
func (*ModuleRecord) UnmarshalJSON ¶
func (r *ModuleRecord) UnmarshalJSON(b []byte) error
type ParserFinder ¶
type RootModule ¶
type RootModule interface { Path() string LoadError() error StartLoading() error IsLoadingDone() bool LoadingDone() <-chan struct{} IsKnownPluginLockFile(path string) bool IsKnownModuleManifestFile(path string) bool PathsToWatch() []string UpdateSchemaCache(ctx context.Context, lockFile File) error ParseProviderReferences() error IsSchemaLoaded() bool UpdateModuleManifest(manifestFile File) error Parser() (lang.Parser, error) IsParserLoaded() bool TerraformFormatter() (exec.Formatter, error) IsTerraformLoaded() bool Modules() []ModuleRecord }
func NewRootModule ¶
type RootModuleCandidateFinder ¶
type RootModuleCandidateFinder interface {
RootModuleCandidatesByPath(path string) RootModules
}
type RootModuleLoader ¶ added in v0.5.0
type RootModuleLoader func(dir string) (RootModule, error)
func NewRootModuleLoader ¶ added in v0.5.0
func NewRootModuleLoader(ctx context.Context, rmm RootModuleManager) RootModuleLoader
NewRootModuleLoader allows adding & loading root modules with a given context. This can be passed down to any handler which itself will have short-lived context therefore couldn't finish loading the root module asynchronously after it responds to the client
type RootModuleManager ¶
type RootModuleManager interface { ParserFinder TerraformFormatterFinder RootModuleCandidateFinder SetLogger(logger *log.Logger) SetTerraformExecPath(path string) SetTerraformExecLogPath(logPath string) SetTerraformExecTimeout(timeout time.Duration) AddAndStartLoadingRootModule(ctx context.Context, dir string) (RootModule, error) WorkerPoolSize() int WorkerQueueSize() int ListRootModules() RootModules PathsToWatch() []string RootModuleByPath(path string) (RootModule, error) CancelLoading() }
func NewRootModuleManager ¶
func NewRootModuleManager(fs tfconfig.FS) RootModuleManager
type RootModuleManagerFactory ¶
type RootModuleManagerFactory func(tfconfig.FS) RootModuleManager
func NewRootModuleManagerMock ¶
func NewRootModuleManagerMock(input *RootModuleManagerMockInput) RootModuleManagerFactory
type RootModuleManagerMockInput ¶ added in v0.5.0
type RootModuleManagerMockInput struct { RootModules map[string]*RootModuleMock TerraformExecQueue exec.MockItemDispenser }
type RootModuleMock ¶
type RootModuleMock struct { TerraformExecQueue exec.MockItemDispenser ProviderSchemas *tfjson.ProviderSchemas }
type RootModuleMockFactory ¶
type RootModuleMockFactory struct {
// contains filtered or unexported fields
}
type RootModuleNotFoundErr ¶
type RootModuleNotFoundErr struct {
Dir string
}
func (*RootModuleNotFoundErr) Error ¶
func (e *RootModuleNotFoundErr) Error() string
type RootModules ¶ added in v0.5.0
type RootModules []RootModule
func (RootModules) Paths ¶ added in v0.5.0
func (rms RootModules) Paths() []string
type TerraformFormatterFinder ¶ added in v0.5.0
type Walker ¶
type Walker struct {
// contains filtered or unexported fields
}
func MockWalker ¶ added in v0.5.0
func MockWalker() *Walker
func (*Walker) SetExcludeModulePaths ¶ added in v0.6.0
func (*Walker) StartWalking ¶ added in v0.5.0
type WalkerFactory ¶ added in v0.5.0
type WalkerFactory func() *Walker
Click to show internal directories.
Click to hide internal directories.