Documentation
¶
Index ¶
- func IsIgnoredFile(name string) bool
- func IsRootModuleNotFound(err error) bool
- func NewRootModuleMock(rmm *RootModuleMock, fs filesystem.Filesystem, dir string) *rootModule
- func ParseModuleManifestFromFile(path string) (*moduleManifest, error)
- type File
- type ModuleRecord
- type RootModule
- type RootModuleFactory
- type RootModuleFinder
- 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 IsIgnoredFile ¶ added in v0.9.0
IsIgnoredFile returns true if the given filename (which must not have a directory path ahead of it) should be ignored as e.g. an editor swap file.
func IsRootModuleNotFound ¶
func NewRootModuleMock ¶
func NewRootModuleMock(rmm *RootModuleMock, fs filesystem.Filesystem, 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 RootModule ¶
type RootModule interface {
Path() string
MatchesPath(path string) bool
LoadError() error
StartLoading() error
IsLoadingDone() bool
LoadingDone() <-chan struct{}
IsKnownPluginLockFile(path string) bool
IsKnownModuleManifestFile(path string) bool
PathsToWatch() []string
UpdateProviderSchemaCache(ctx context.Context, lockFile File) error
IsProviderSchemaLoaded() bool
UpdateModuleManifest(manifestFile File) error
Decoder() (*decoder.Decoder, error)
DecoderWithSchema(*schema.BodySchema) (*decoder.Decoder, error)
MergedSchema() (*schema.BodySchema, error)
IsParsed() bool
ParseFiles() error
ParsedDiagnostics() hcl.Diagnostics
IsCoreSchemaLoaded() bool
TerraformFormatter() (exec.Formatter, error)
HasTerraformDiscoveryFinished() bool
IsTerraformAvailable() bool
Modules() []ModuleRecord
}
func NewRootModule ¶
func NewRootModule(ctx context.Context, fs filesystem.Filesystem, dir string) (RootModule, error)
type RootModuleFinder ¶ added in v0.9.0
type RootModuleFinder interface {
RootModuleCandidatesByPath(path string) RootModules
RootModuleByPath(path string) (RootModule, error)
SchemaForPath(path string) (*schema.BodySchema, error)
}
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 {
RootModuleFinder
TerraformFormatterFinder
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
CancelLoading()
}
func NewRootModuleManager ¶
func NewRootModuleManager(fs filesystem.Filesystem) RootModuleManager
type RootModuleManagerFactory ¶
type RootModuleManagerFactory func(filesystem.Filesystem) RootModuleManager
func NewRootModuleManagerMock ¶
func NewRootModuleManagerMock(input *RootModuleManagerMockInput) RootModuleManagerFactory
type RootModuleManagerMockInput ¶ added in v0.5.0
type RootModuleManagerMockInput struct {
RootModules map[string]*RootModuleMock
TfExecutorFactory exec.ExecutorFactory
}
type RootModuleMock ¶
type RootModuleMock struct {
TfExecFactory exec.ExecutorFactory
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.