Files
steampipe/pkg/workspace/workspace_resources.go
kaidaguerre fa18c8f0e2 Add support for node reuse. Update graph, flow and hierarchy to declare nodes and edges inline, rather than as a list of references. Closes #2871
Only top level resources can have with and param blocks. Closes #2872
Refactor resource and dashboard run hierarchies to use base impl structs. Closes #2873
2022-12-14 17:18:57 +00:00

36 lines
1.0 KiB
Go

package workspace
import (
"github.com/turbot/steampipe/pkg/steampipeconfig/modconfig"
"log"
)
func (w *Workspace) GetQueryProvider(queryName string) (modconfig.QueryProvider, bool) {
parsedName, err := modconfig.ParseResourceName(queryName)
if err != nil {
return nil, false
}
// try to find the resource
if resource, ok := modconfig.GetResource(w, parsedName); ok {
// found a resource - is itr a query provider
if qp := resource.(modconfig.QueryProvider); ok {
return qp, true
}
log.Printf("[TRACE] GetQueryProviderImpl found a resource for '%s' but it is not a query provider", queryName)
}
return nil, false
}
// GetResourceMaps implements ResourceMapsProvider
func (w *Workspace) GetResourceMaps() *modconfig.ResourceMaps {
w.loadLock.Lock()
defer w.loadLock.Unlock()
// if this a source snapshot workspace, create a ResourceMaps containing ONLY source snapshot paths
if len(w.SourceSnapshots) != 0 {
return modconfig.NewSourceSnapshotModResources(w.SourceSnapshots)
}
return w.Mod.ResourceMaps
}