Documentation ¶
Index ¶
- func CheckDependencies(module *app.FybrikModule, moduleMap map[string]*app.FybrikModule) ([]string, []string)
- type DataDetails
- type DataInfo
- type ModuleInstanceSpec
- type Selector
- func (m *Selector) GetDependencies() []*app.FybrikModule
- func (m *Selector) GetError() string
- func (m *Selector) GetModule() *app.FybrikModule
- func (m *Selector) SelectCluster(item DataInfo, clusters []multicluster.Cluster) (string, error)
- func (m *Selector) SelectModule(moduleMap map[string]*app.FybrikModule) bool
- func (m *Selector) SupportsDependencies(module *app.FybrikModule, moduleMap map[string]*app.FybrikModule) bool
- func (m *Selector) SupportsGovernanceAction(module *app.FybrikModule, action *taxonomymodels.PolicyManagerResultItem) bool
- func (m *Selector) SupportsGovernanceActions(module *app.FybrikModule, actions []*taxonomymodels.PolicyManagerResultItem) bool
- func (m *Selector) SupportsInterface(module *app.FybrikModule) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckDependencies ¶
func CheckDependencies(module *app.FybrikModule, moduleMap map[string]*app.FybrikModule) ([]string, []string)
CheckDependencies returns dependent module names
Types ¶
type DataDetails ¶
type DataDetails struct { // Name of the asset Name string // Interface is the protocol and format Interface app.InterfaceDetails // Geography is the geo-location of the asset Geography string // Connection is the connection details in raw format as received from the connector Connection serde.Arbitrary // Metadata Metadata *pb.DatasetMetadata }
DataDetails is the information received from the catalog connector
func CatalogDatasetToDataDetails ¶
func CatalogDatasetToDataDetails(response *pb.CatalogDatasetInfo) (*DataDetails, error)
Transforms a CatalogDatasetInfo into a DataDetails struct TODO Think about getting rid of one or the other and reuse
type DataInfo ¶
type DataInfo struct { // Source connection details DataDetails *DataDetails // The path to Vault secret which holds the dataset credentials VaultSecretPath string // Pointer to the relevant data context in the Fybrik application spec Context *app.DataContext }
DataInfo defines all the information about the given data set that comes from the fybrikapplication spec and from the connectors.
type ModuleInstanceSpec ¶
type ModuleInstanceSpec struct { Chart *app.ChartSpec Args *app.ModuleArguments AssetIDs []string ClusterName string ModuleName string Scope app.CapabilityScope }
ModuleInstanceSpec consists of the module spec and arguments
type Selector ¶
type Selector struct { Module *app.FybrikModule Dependencies []*app.FybrikModule Message string Capability app.CapabilityType ModuleCapability *app.ModuleCapability Source *app.InterfaceDetails Destination *app.InterfaceDetails // Actions that the module will perform Actions []*taxonomymodels.PolicyManagerResultItem // Geography where the module will be orchestrated Geo string }
Selector is responsible for finding an appropriate module
func (*Selector) GetDependencies ¶
func (m *Selector) GetDependencies() []*app.FybrikModule
GetDependencies returns dependencies of a selected module
func (*Selector) GetModule ¶
func (m *Selector) GetModule() *app.FybrikModule
GetModule returns the selected module
func (*Selector) SelectCluster ¶
SelectCluster chooses where the module runs Current logic: Read is done at target (processing geography) Copy is done at source when transformations are required, and at target - otherwise Write is done at target
func (*Selector) SelectModule ¶
func (m *Selector) SelectModule(moduleMap map[string]*app.FybrikModule) bool
SelectModule finds the module that fits the requirements
func (*Selector) SupportsDependencies ¶
func (m *Selector) SupportsDependencies(module *app.FybrikModule, moduleMap map[string]*app.FybrikModule) bool
SupportsDependencies checks whether the module supports the dependency requirements
func (*Selector) SupportsGovernanceAction ¶
func (m *Selector) SupportsGovernanceAction(module *app.FybrikModule, action *taxonomymodels.PolicyManagerResultItem) bool
SupportsGovernanceAction checks whether the module supports the required governance action
func (*Selector) SupportsGovernanceActions ¶
func (m *Selector) SupportsGovernanceActions(module *app.FybrikModule, actions []*taxonomymodels.PolicyManagerResultItem) bool
SupportsGovernanceActions checks whether the module supports the required agovernance actions for the capability requested
func (*Selector) SupportsInterface ¶
func (m *Selector) SupportsInterface(module *app.FybrikModule) bool
SupportsInterface indicates whether the module supports interface requirements and dependencies