Documentation ¶
Index ¶
- Variables
- func FilterWorkspaceResourcesOfType[T modconfig.HclResource](w *Workspace, filter ResourceFilter) (map[string]T, error)
- func FindModFilePath(folder string) (string, error)
- func GetWorkspaceResourcesOfType[T modconfig.HclResource](w *Workspace) map[string]T
- func HandleWorkspaceLoadError(ctx context.Context, err error, workspacePath string) error
- func HomeDirectoryModfileCheck(ctx context.Context, workspacePath string) error
- func SqlLike(input, pattern string, caseSensitive bool) bool
- type LoadWorkspaceConfig
- type LoadWorkspaceOption
- func WithBlockType(blockTypeInclusions []string) LoadWorkspaceOption
- func WithConfigValueMap(name string, valueMap map[string]cty.Value) LoadWorkspaceOption
- func WithDecoderOptions(opts ...parse.DecoderOption) LoadWorkspaceOption
- func WithLateBinding(enabled bool) LoadWorkspaceOption
- func WithPipelingConnections(pipelingConnections map[string]connection.PipelingConnection) LoadWorkspaceOption
- func WithSkipResourceLoadIfNoModfile(enabled bool) LoadWorkspaceOption
- func WithVariableValidation(enabled bool) LoadWorkspaceOption
- type ResourceFilter
- type Workspace
- func (w *Workspace) Close()
- func (w *Workspace) GetModResources() modconfig.ModResources
- func (w *Workspace) GetParseContext(ctx context.Context) (*parse.ModParseContext, error)
- func (w *Workspace) GetResource(parsedName *modconfig.ParsedResourceName) (resource modconfig.HclResource, found bool)
- func (w *Workspace) LoadExclusions() error
- func (w *Workspace) LoadLock()
- func (w *Workspace) LoadUnlock()
- func (w *Workspace) LoadWorkspaceMod(ctx context.Context) error_helpers.ErrorAndWarnings
- func (w *Workspace) ModfileExists() bool
- func (w *Workspace) ReloadModResources(ctx context.Context) (modconfig.ModResources, modconfig.ModResources, error_helpers.ErrorAndWarnings)
- func (w *Workspace) SetModfileExists()
- func (w *Workspace) SetOnFileWatcherEventMessages(f func())
- func (w *Workspace) SetupWatcher(ctx context.Context, errorHandler func(context.Context, error)) error
Constants ¶
This section is empty.
Variables ¶
var (
ErrorNoModDefinition = fmt.Errorf("no modfile found")
)
var EventCount int64 = 0
Functions ¶
func FilterWorkspaceResourcesOfType ¶ added in v0.3.0
func FilterWorkspaceResourcesOfType[T modconfig.HclResource](w *Workspace, filter ResourceFilter) (map[string]T, error)
FilterWorkspaceResourcesOfType returns all resources of type T from a workspace which satisf y the filter, which is specified as a SQL syntax where clause
func FindModFilePath ¶
FindModFilePath search up the directory tree to find the modfile
func GetWorkspaceResourcesOfType ¶
func GetWorkspaceResourcesOfType[T modconfig.HclResource](w *Workspace) map[string]T
GetWorkspaceResourcesOfType returns all resources of type T from a workspace
func HandleWorkspaceLoadError ¶ added in v1.7.0
Types ¶
type LoadWorkspaceConfig ¶ added in v0.3.0
type LoadWorkspaceConfig struct {
// contains filtered or unexported fields
}
type LoadWorkspaceOption ¶ added in v0.3.0
type LoadWorkspaceOption func(*LoadWorkspaceConfig)
func WithBlockType ¶ added in v0.3.0
func WithBlockType(blockTypeInclusions []string) LoadWorkspaceOption
func WithConfigValueMap ¶ added in v1.7.0
func WithConfigValueMap(name string, valueMap map[string]cty.Value) LoadWorkspaceOption
func WithDecoderOptions ¶ added in v1.7.0
func WithDecoderOptions(opts ...parse.DecoderOption) LoadWorkspaceOption
func WithLateBinding ¶ added in v1.6.0
func WithLateBinding(enabled bool) LoadWorkspaceOption
func WithPipelingConnections ¶ added in v1.6.0
func WithPipelingConnections(pipelingConnections map[string]connection.PipelingConnection) LoadWorkspaceOption
func WithSkipResourceLoadIfNoModfile ¶ added in v0.3.0
func WithSkipResourceLoadIfNoModfile(enabled bool) LoadWorkspaceOption
TODO this is only needed as Pipe fittings tests rely on loading workspaces without modfiles
func WithVariableValidation ¶ added in v0.3.0
func WithVariableValidation(enabled bool) LoadWorkspaceOption
type ResourceFilter ¶ added in v0.3.0
type ResourceFilter struct { Where string Tags map[string][]string WherePredicate func(item modconfig.HclResource) bool }
func ResourceFilterFromTags ¶ added in v0.3.0
func ResourceFilterFromTags(tags []string) ResourceFilter
ResourceFilterFromTags creates a ResourceFilter from a list of tag values of the form 'key=value'
func (*ResourceFilter) Empty ¶ added in v0.3.0
func (f *ResourceFilter) Empty() bool
type Workspace ¶
type Workspace struct { Path string ModInstallationPath string Mod *modconfig.Mod PipelingConnections map[string]connection.PipelingConnection Mods map[string]*modconfig.Mod // the input variables used in the parse VariableValues map[string]string FileWatcherErrorHandler func(context.Context, error) WatcherError error // hooks OnFileWatcherError func(context.Context, error) OnFileWatcherEvent func(context.Context, modconfig.ModResources, modconfig.ModResources) BlockTypeInclusions []string ValidateVariables bool SupportLateBinding bool // contains filtered or unexported fields }
func Load ¶
func Load(ctx context.Context, workspacePath string, opts ...LoadWorkspaceOption) (w *Workspace, ew error_helpers.ErrorAndWarnings)
func LoadWorkspacePromptingForVariables ¶
func LoadWorkspacePromptingForVariables(ctx context.Context, workspacePath string, opts ...LoadWorkspaceOption) (*Workspace, error_helpers.ErrorAndWarnings)
func (*Workspace) GetModResources ¶ added in v1.7.0
func (w *Workspace) GetModResources() modconfig.ModResources
GetModResources implements ModResourcesProvider
func (*Workspace) GetParseContext ¶ added in v1.7.0
func (*Workspace) GetResource ¶
func (w *Workspace) GetResource(parsedName *modconfig.ParsedResourceName) (resource modconfig.HclResource, found bool)
func (*Workspace) LoadExclusions ¶ added in v1.7.0
func (*Workspace) LoadUnlock ¶ added in v1.7.0
func (w *Workspace) LoadUnlock()
func (*Workspace) LoadWorkspaceMod ¶ added in v1.7.0
func (w *Workspace) LoadWorkspaceMod(ctx context.Context) error_helpers.ErrorAndWarnings
func (*Workspace) ModfileExists ¶
func (*Workspace) ReloadModResources ¶ added in v1.7.0
func (w *Workspace) ReloadModResources(ctx context.Context) (modconfig.ModResources, modconfig.ModResources, error_helpers.ErrorAndWarnings)
func (*Workspace) SetModfileExists ¶ added in v1.7.0
func (w *Workspace) SetModfileExists()
check whether the workspace contains a modfile this will determine whether we load files recursively, and create pseudo resources for sql files
func (*Workspace) SetOnFileWatcherEventMessages ¶
func (w *Workspace) SetOnFileWatcherEventMessages(f func())