specs

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2022 License: MPL-2.0 Imports: 9 Imported by: 20

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SpecUnmarshalYamlStrict added in v0.0.4

func SpecUnmarshalYamlStrict(b []byte, spec *Spec) error

func UnmarshalJsonStrict added in v0.0.4

func UnmarshalJsonStrict(b []byte, out interface{}) error

func ValidateSpec

func ValidateSpec(schema string, spec interface{}) (*gojsonschema.Result, error)

Types

type Destination added in v0.0.4

type Destination struct {
	Name      string      `json:"name,omitempty"`
	Version   string      `json:"version,omitempty"`
	Path      string      `json:"path,omitempty"`
	Registry  Registry    `json:"registry,omitempty"`
	WriteMode WriteMode   `json:"write_mode,omitempty"`
	Spec      interface{} `json:"spec,omitempty"`
}

func (*Destination) SetDefaults added in v0.0.4

func (d *Destination) SetDefaults()

func (*Destination) UnmarshalSpec added in v0.0.4

func (d *Destination) UnmarshalSpec(out interface{}) error

type Kind added in v0.0.4

type Kind int
const (
	KindSource Kind = iota
	KindDestination
)

func KindFromString added in v0.0.4

func KindFromString(s string) (Kind, error)

func (Kind) MarshalJSON added in v0.0.4

func (k Kind) MarshalJSON() ([]byte, error)

func (Kind) String added in v0.0.4

func (k Kind) String() string

func (*Kind) UnmarshalJSON added in v0.0.4

func (k *Kind) UnmarshalJSON(data []byte) (err error)

type Registry added in v0.0.4

type Registry int
const (
	RegistryGithub Registry = iota
	RegistryLocal
	RegistryGrpc
)

func RegistryFromString added in v0.0.4

func RegistryFromString(s string) (Registry, error)

func (Registry) MarshalJSON added in v0.0.4

func (r Registry) MarshalJSON() ([]byte, error)

func (Registry) String added in v0.0.4

func (r Registry) String() string

func (*Registry) UnmarshalJSON added in v0.0.4

func (r *Registry) UnmarshalJSON(data []byte) (err error)

type Source added in v0.0.4

type Source struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
	// Path is the path in the registry
	Path string `json:"path,omitempty"`
	// Registry can be github,local,grpc. Might support things like https in the future.
	Registry      Registry    `json:"registry,omitempty"`
	MaxGoRoutines uint64      `json:"max_goroutines,omitempty"`
	Tables        []string    `json:"tables,omitempty"`
	SkipTables    []string    `json:"skip_tables,omitempty"`
	Destinations  []string    `json:"destinations,omitempty"`
	Spec          interface{} `json:"spec,omitempty"`
}

Source is the shared configuration for all source plugins

func (*Source) SetDefaults added in v0.0.4

func (s *Source) SetDefaults()

func (*Source) UnmarshalSpec added in v0.0.4

func (s *Source) UnmarshalSpec(out interface{}) error

func (*Source) Validate added in v0.0.4

func (*Source) Validate() (*gojsonschema.Result, error)

type Spec

type Spec struct {
	Kind Kind        `json:"kind"`
	Spec interface{} `json:"spec"`
}

func (*Spec) UnmarshalJSON added in v0.0.4

func (s *Spec) UnmarshalJSON(data []byte) error

type SpecReader

type SpecReader struct {
	// contains filtered or unexported fields
}

func NewSpecReader

func NewSpecReader(directory string) (*SpecReader, error)

func (*SpecReader) GetDestinatinoByName

func (s *SpecReader) GetDestinatinoByName(name string) *Destination

func (*SpecReader) GetSourceByName

func (s *SpecReader) GetSourceByName(name string) *Source

func (*SpecReader) GetSources added in v0.0.4

func (s *SpecReader) GetSources() []Source

type WriteMode added in v0.0.4

type WriteMode int
const (
	WriteModeAppend WriteMode = iota
	WriteModeOverwrite
)

func WriteModeFromString added in v0.0.4

func WriteModeFromString(s string) (WriteMode, error)

func (WriteMode) MarshalJSON added in v0.0.4

func (m WriteMode) MarshalJSON() ([]byte, error)

func (WriteMode) String added in v0.0.4

func (m WriteMode) String() string

func (*WriteMode) UnmarshalJSON added in v0.0.4

func (m *WriteMode) UnmarshalJSON(data []byte) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL