Documentation ¶
Index ¶
- func TestSourcePluginSync(t *testing.T, plugin *SourcePlugin, spec specs.Source)
- type DestinationPlugin
- type ResourceTestCase
- type SourceNewExecutionClientFunc
- type SourceOption
- type SourcePlugin
- func (p *SourcePlugin) ExampleConfig() string
- func (p *SourcePlugin) Name() string
- func (p *SourcePlugin) SetLogger(log zerolog.Logger)
- func (p *SourcePlugin) Sync(ctx context.Context, spec specs.Source, res chan<- *schema.Resource) error
- func (p *SourcePlugin) Tables() schema.Tables
- func (p *SourcePlugin) Version() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TestSourcePluginSync ¶ added in v0.0.4
func TestSourcePluginSync(t *testing.T, plugin *SourcePlugin, spec specs.Source)
Types ¶
type DestinationPlugin ¶
type DestinationPlugin interface { Name() string Version() string ExampleConfig() string Initialize(ctx context.Context, spec specs.Destination) error Migrate(ctx context.Context, tables schema.Tables) error Write(ctx context.Context, table string, data map[string]interface{}) error SetLogger(logger zerolog.Logger) }
type ResourceTestCase ¶
type ResourceTestCase struct { Plugin *SourcePlugin Spec specs.Source // ParallelFetchingLimit limits parallel resources fetch at a time ParallelFetchingLimit uint64 // SkipIgnoreInTest flag which detects if schema.Table or schema.Column should be ignored SkipIgnoreInTest bool }
type SourceNewExecutionClientFunc ¶ added in v0.0.4
type SourceOption ¶ added in v0.0.4
type SourceOption func(*SourcePlugin)
func WithSourceExampleConfig ¶ added in v0.0.4
func WithSourceExampleConfig(exampleConfig string) SourceOption
func WithSourceLogger ¶ added in v0.0.4
func WithSourceLogger(logger zerolog.Logger) SourceOption
type SourcePlugin ¶
type SourcePlugin struct {
// contains filtered or unexported fields
}
SourcePlugin is the base structure required to pass to sdk.serve We take a similar/declerative approach to API here similar to Cobra
func NewSourcePlugin ¶ added in v0.0.4
func NewSourcePlugin(name string, version string, tables []*schema.Table, newExecutionClient SourceNewExecutionClientFunc, opts ...SourceOption) *SourcePlugin
func (*SourcePlugin) ExampleConfig ¶
func (p *SourcePlugin) ExampleConfig() string
func (*SourcePlugin) Name ¶
func (p *SourcePlugin) Name() string
func (*SourcePlugin) SetLogger ¶ added in v0.0.4
func (p *SourcePlugin) SetLogger(log zerolog.Logger)
func (*SourcePlugin) Sync ¶ added in v0.0.4
func (p *SourcePlugin) Sync(ctx context.Context, spec specs.Source, res chan<- *schema.Resource) error
Sync data from source to the given channel
func (*SourcePlugin) Tables ¶
func (p *SourcePlugin) Tables() schema.Tables
func (*SourcePlugin) Version ¶
func (p *SourcePlugin) Version() string
Click to show internal directories.
Click to hide internal directories.