Documentation ¶
Index ¶
- Constants
- func BuildCaches(caches map[string]CacheDefinition, existing map[string]Cache) map[string]Cache
- func CleanTypes(inter interface{}) interface{}
- func InjectConfig(skipLineOnErrorValue bool, skipFieldOnErrorValue bool)
- func InjectMaskContextFactories(factories []MaskContextFactory)
- func InjectMaskFactories(factories []MaskFactory)
- func UnorderedTypes(inter interface{}) interface{}
- type Action
- type Applier
- type Cache
- type CacheDefinition
- type Collector
- type CounterProcess
- type DateParserType
- type Definition
- type DeleteMaskEngineProcess
- type Dictionary
- type Entry
- type FF1Type
- type FromCacheProcess
- type FunctionMaskEngine
- type IncrementalType
- type MapProcess
- type Mapper
- type MaskCacheEngine
- type MaskContextEngine
- type MaskContextEngineProcess
- type MaskContextFactory
- type MaskEngine
- type MaskEngineProcess
- type MaskFactory
- type MaskType
- type Masking
- type MemCache
- type Observer
- type PipeType
- type Pipeline
- type ProcessPipeline
- func (p *ProcessPipeline) AddSink(sink SinkProcess) SinkedPipeline
- func (p *ProcessPipeline) Err() error
- func (p *ProcessPipeline) Next() bool
- func (p *ProcessPipeline) Process(process Processor) Pipeline
- func (p *ProcessPipeline) Value() Dictionary
- func (p *ProcessPipeline) WithSource(source Source) Pipeline
- type Processor
- func NewCounterProcess(contextName string, initValue int) Processor
- func NewCounterProcessWithCallback(contextName string, initValue int, updater func(int)) Processor
- func NewDeleteMaskEngineProcess(selector Selector) Processor
- func NewFromCacheProcess(selector Selector, cache Cache) Processor
- func NewMapProcess(mapper Mapper) Processor
- func NewMaskContextEngineProcess(selector Selector, mask MaskContextEngine) Processor
- func NewMaskEngineProcess(selector Selector, mask MaskEngine) Processor
- func NewRepeaterProcess(times int) Processor
- type QueueCollector
- type RandDateType
- type RandIntType
- type RandomDecimalType
- type RandomDurationType
- type RepeaterProcess
- type Selector
- type SelectorType
- type SimplePipeline
- func (pipeline SimplePipeline) AddSink(sink SinkProcess) SinkedPipeline
- func (pipeline SimplePipeline) Err() error
- func (pipeline SimplePipeline) Next() bool
- func (pipeline SimplePipeline) Open() error
- func (pipeline SimplePipeline) Process(process Processor) Pipeline
- func (pipeline SimplePipeline) Value() Dictionary
- func (pipeline SimplePipeline) WithSource(source Source) Pipeline
- type SimpleSinkedPipeline
- type SinkProcess
- type SinkToCache
- type SinkToSlice
- type SinkedPipeline
- type Source
- type SourceFromSlice
- type UniqueCache
- type UniqueMaskCacheEngine
- type UniqueMemCache
- type WeightedChoiceType
Constants ¶
const ( NOTHING Action = iota WRITE = iota DELETE = iota )
Action types
Variables ¶
This section is empty.
Functions ¶
func BuildCaches ¶
func CleanTypes ¶ added in v1.5.0
func CleanTypes(inter interface{}) interface{}
CleanTypes always return either primitive types, or a composition of Dictionaries
func InjectConfig ¶ added in v1.4.0
func InjectMaskContextFactories ¶
func InjectMaskContextFactories(factories []MaskContextFactory)
func InjectMaskFactories ¶
func InjectMaskFactories(factories []MaskFactory)
func UnorderedTypes ¶ added in v1.5.0
func UnorderedTypes(inter interface{}) interface{}
UnorderedTypes a composition of map[string]Entry
Types ¶
type Applier ¶
type Applier func(rootContext Dictionary, parentContext Dictionary, key string, value Entry) (Action, Entry)
type Cache ¶
type Cache interface { Get(key Entry) (Entry, bool) Put(key Entry, value Entry) Subscribe(key Entry, observer Observer) Iterate() Source }
func NewMemCache ¶
func NewMemCache() Cache
type CacheDefinition ¶
type CacheDefinition struct {
Unique bool `yaml:"unique,omitempty"`
}
type Collector ¶
type Collector interface {
Collect(Dictionary)
}
Collector collect Dictionary generate by Process
type CounterProcess ¶ added in v1.4.0
type CounterProcess struct {
// contains filtered or unexported fields
}
func (CounterProcess) Open ¶ added in v1.4.0
func (p CounterProcess) Open() error
func (CounterProcess) ProcessDictionary ¶ added in v1.4.0
func (p CounterProcess) ProcessDictionary(dictionary Dictionary, out Collector) error
type DateParserType ¶
type Definition ¶
type Definition struct { Version string `yaml:"version"` Seed int64 `yaml:"seed,omitempty"` Masking []Masking `yaml:"masking"` Caches map[string]CacheDefinition `yaml:"caches,omitempty"` }
func LoadPipelineDefinitionFromYAML ¶
func LoadPipelineDefinitionFromYAML(filename string) (Definition, error)
type DeleteMaskEngineProcess ¶
type DeleteMaskEngineProcess struct {
// contains filtered or unexported fields
}
func (*DeleteMaskEngineProcess) Open ¶
func (dp *DeleteMaskEngineProcess) Open() (err error)
func (*DeleteMaskEngineProcess) ProcessDictionary ¶
func (dp *DeleteMaskEngineProcess) ProcessDictionary(dictionary Dictionary, out Collector) error
type Dictionary ¶
type Dictionary struct {
*ordered.OrderedMap
}
func CleanDictionary ¶ added in v1.5.0
func CleanDictionary(dict Dictionary) Dictionary
CleanDictionary fixes all types in the structure
func CopyDictionary ¶ added in v1.5.0
func CopyDictionary(other Dictionary) Dictionary
func NewDictionary ¶ added in v1.5.0
func NewDictionary() Dictionary
func (Dictionary) Copy ¶ added in v1.5.0
func (d Dictionary) Copy() Dictionary
func (Dictionary) String ¶ added in v1.5.0
func (d Dictionary) String() string
func (Dictionary) Unordered ¶ added in v1.5.0
func (d Dictionary) Unordered() map[string]Entry
func (Dictionary) With ¶ added in v1.5.0
func (d Dictionary) With(key string, value interface{}) Dictionary
type FromCacheProcess ¶
type FromCacheProcess struct {
// contains filtered or unexported fields
}
func (*FromCacheProcess) Notify ¶
func (p *FromCacheProcess) Notify(key Entry, value Entry)
func (*FromCacheProcess) Open ¶
func (p *FromCacheProcess) Open() error
func (*FromCacheProcess) ProcessDictionary ¶
func (p *FromCacheProcess) ProcessDictionary(dictionary Dictionary, out Collector) error
type FunctionMaskEngine ¶
type FunctionMaskEngine struct {
Function func(Entry, ...Dictionary) (Entry, error)
}
FunctionMaskEngine implements MaskEngine with a simple function
func (FunctionMaskEngine) Mask ¶
func (fme FunctionMaskEngine) Mask(e Entry, context ...Dictionary) (Entry, error)
Mask delegate mask algorithm to the function
type IncrementalType ¶
type MapProcess ¶
type MapProcess struct {
// contains filtered or unexported fields
}
func (MapProcess) Open ¶
func (mp MapProcess) Open() error
func (MapProcess) ProcessDictionary ¶
func (mp MapProcess) ProcessDictionary(dictionary Dictionary, out Collector) error
type Mapper ¶
type Mapper func(Dictionary) (Dictionary, error)
type MaskCacheEngine ¶
type MaskCacheEngine struct { Cache Cache OriginalEngine MaskEngine }
MaskCacheEngine is a struct to create a cahed mask
func NewMaskCacheEngine ¶
func NewMaskCacheEngine(cache Cache, original MaskEngine) MaskCacheEngine
NewMaskCacheEngine create an MaskCacheEngine
func (MaskCacheEngine) Mask ¶
func (mce MaskCacheEngine) Mask(e Entry, context ...Dictionary) (Entry, error)
Mask masks run mask with cache
type MaskContextEngine ¶
type MaskContextEngine interface {
MaskContext(Dictionary, string, ...Dictionary) (Dictionary, error)
}
MaskContextEngine is a masking algorithm for dictionary
type MaskContextEngineProcess ¶
type MaskContextEngineProcess struct {
// contains filtered or unexported fields
}
func (*MaskContextEngineProcess) Open ¶
func (mcep *MaskContextEngineProcess) Open() error
func (*MaskContextEngineProcess) ProcessDictionary ¶
func (mcep *MaskContextEngineProcess) ProcessDictionary(dictionary Dictionary, out Collector) (ret error)
type MaskContextFactory ¶
type MaskEngine ¶
type MaskEngine interface {
Mask(Entry, ...Dictionary) (Entry, error)
}
MaskEngine is a masking algorithm
type MaskEngineProcess ¶
type MaskEngineProcess struct {
// contains filtered or unexported fields
}
func (*MaskEngineProcess) Open ¶
func (mep *MaskEngineProcess) Open() error
func (*MaskEngineProcess) ProcessDictionary ¶
func (mep *MaskEngineProcess) ProcessDictionary(dictionary Dictionary, out Collector) (ret error)
type MaskFactory ¶
type MaskType ¶
type MaskType struct { Add Entry `yaml:"add,omitempty" jsonschema:"oneof_required=Add"` Constant Entry `yaml:"constant,omitempty" jsonschema:"oneof_required=Constant"` RandomChoice []Entry `yaml:"randomChoice,omitempty" jsonschema:"oneof_required=RandomChoice"` RandomChoiceInURI string `yaml:"randomChoiceInUri,omitempty" jsonschema:"oneof_required=RandomChoiceInURI"` Command string `yaml:"command,omitempty" jsonschema:"oneof_required=Command"` RandomInt RandIntType `yaml:"randomInt,omitempty" jsonschema:"oneof_required=RandomInt"` WeightedChoice []WeightedChoiceType `yaml:"weightedChoice,omitempty" jsonschema:"oneof_required=WeightedChoice"` Regex string `yaml:"regex,omitempty" jsonschema:"oneof_required=Regex"` Hash []Entry `yaml:"hash,omitempty" jsonschema:"oneof_required=Hash"` HashInURI string `yaml:"hashInUri,omitempty" jsonschema:"oneof_required=HashInURI"` RandDate RandDateType `yaml:"randDate,omitempty" jsonschema:"oneof_required=RandDate"` Incremental IncrementalType `yaml:"incremental,omitempty" jsonschema:"oneof_required=Incremental"` Replacement string `yaml:"replacement,omitempty" jsonschema:"oneof_required=Replacement"` Template string `yaml:"template,omitempty" jsonschema:"oneof_required=Template"` Duration string `yaml:"duration,omitempty" jsonschema:"oneof_required=Duration"` Remove bool `yaml:"remove,omitempty" jsonschema:"oneof_required=Remove"` RangeMask int `yaml:"range,omitempty" jsonschema:"oneof_required=RangeMask"` RandomDuration RandomDurationType `yaml:"randomDuration,omitempty" jsonschema:"oneof_required=RandomDuration"` FluxURI string `yaml:"fluxUri,omitempty" jsonschema:"oneof_required=FluxURI"` RandomDecimal RandomDecimalType `yaml:"randomDecimal,omitempty" jsonschema:"oneof_required=RandomDecimal"` DateParser DateParserType `yaml:"dateParser,omitempty" jsonschema:"oneof_required=DateParser"` FromCache string `yaml:"fromCache,omitempty" jsonschema:"oneof_required=FromCache"` FF1 FF1Type `yaml:"ff1,omitempty" jsonschema:"oneof_required=FF1"` Pipe PipeType `yaml:"pipe,omitempty" jsonschema:"oneof_required=Pipe"` }
type Masking ¶
type Masking struct { Selector SelectorType `yaml:"selector"` Mask MaskType `yaml:"mask"` Cache string `yaml:"cache,omitempty"` }
type MemCache ¶
type MemCache struct {
// contains filtered or unexported fields
}
MemCache is a cache in memory
type Pipeline ¶
type Pipeline interface { Process(Processor) Pipeline WithSource(Source) Pipeline AddSink(SinkProcess) SinkedPipeline }
func BuildPipeline ¶
func NewPipeline ¶
func NewPipelineFromSlice ¶
func NewPipelineFromSlice(dictionaries []Dictionary) Pipeline
func NewProcessPipeline ¶
type ProcessPipeline ¶
type ProcessPipeline struct { Processor // contains filtered or unexported fields }
func (*ProcessPipeline) AddSink ¶
func (p *ProcessPipeline) AddSink(sink SinkProcess) SinkedPipeline
func (*ProcessPipeline) Err ¶
func (p *ProcessPipeline) Err() error
func (*ProcessPipeline) Next ¶
func (p *ProcessPipeline) Next() bool
func (*ProcessPipeline) Process ¶
func (p *ProcessPipeline) Process(process Processor) Pipeline
func (*ProcessPipeline) Value ¶
func (p *ProcessPipeline) Value() Dictionary
func (*ProcessPipeline) WithSource ¶
func (p *ProcessPipeline) WithSource(source Source) Pipeline
type Processor ¶
type Processor interface { Open() error ProcessDictionary(Dictionary, Collector) error }
Processor process Dictionary and none, one or many element
func NewCounterProcess ¶ added in v1.4.0
func NewCounterProcessWithCallback ¶ added in v1.4.0
func NewFromCacheProcess ¶
func NewMapProcess ¶
func NewMaskContextEngineProcess ¶
func NewMaskContextEngineProcess(selector Selector, mask MaskContextEngine) Processor
func NewMaskEngineProcess ¶
func NewMaskEngineProcess(selector Selector, mask MaskEngine) Processor
func NewRepeaterProcess ¶
type QueueCollector ¶
type QueueCollector struct {
// contains filtered or unexported fields
}
func NewCollector ¶
func NewCollector() *QueueCollector
func (*QueueCollector) Collect ¶
func (c *QueueCollector) Collect(dictionary Dictionary)
func (*QueueCollector) Err ¶
func (c *QueueCollector) Err() error
func (*QueueCollector) Next ¶
func (c *QueueCollector) Next() bool
func (*QueueCollector) Open ¶
func (c *QueueCollector) Open() error
func (*QueueCollector) Value ¶
func (c *QueueCollector) Value() Dictionary
type RandDateType ¶
type RandIntType ¶
type RandomDecimalType ¶
type RandomDurationType ¶
type RepeaterProcess ¶
type RepeaterProcess struct {
// contains filtered or unexported fields
}
func (RepeaterProcess) Open ¶
func (p RepeaterProcess) Open() error
func (RepeaterProcess) ProcessDictionary ¶
func (p RepeaterProcess) ProcessDictionary(dictionary Dictionary, out Collector) error
type Selector ¶
type Selector interface { Apply(Dictionary, ...Applier) bool ApplyContext(Dictionary, ...Applier) bool // old interface Delete(Dictionary) Dictionary ReadContext(Dictionary) (Dictionary, string, bool) WriteContext(Dictionary, Entry) Dictionary Read(Dictionary) (Entry, bool) Write(Dictionary, Entry) Dictionary fmt.Stringer }
func NewPathSelector ¶
type SelectorType ¶
type SelectorType struct {
Jsonpath string `yaml:"jsonpath"`
}
type SimplePipeline ¶
type SimplePipeline struct {
// contains filtered or unexported fields
}
func (SimplePipeline) AddSink ¶
func (pipeline SimplePipeline) AddSink(sink SinkProcess) SinkedPipeline
func (SimplePipeline) Err ¶
func (pipeline SimplePipeline) Err() error
func (SimplePipeline) Next ¶
func (pipeline SimplePipeline) Next() bool
func (SimplePipeline) Open ¶
func (pipeline SimplePipeline) Open() error
func (SimplePipeline) Process ¶
func (pipeline SimplePipeline) Process(process Processor) Pipeline
func (SimplePipeline) Value ¶
func (pipeline SimplePipeline) Value() Dictionary
func (SimplePipeline) WithSource ¶
func (pipeline SimplePipeline) WithSource(source Source) Pipeline
type SimpleSinkedPipeline ¶
type SimpleSinkedPipeline struct {
// contains filtered or unexported fields
}
func (SimpleSinkedPipeline) Run ¶
func (pipeline SimpleSinkedPipeline) Run() (err error)
type SinkProcess ¶
type SinkProcess interface { Open() error ProcessDictionary(Dictionary) error }
SinkProcess send Dictionary process by Pipeline to an output
func NewSinkToCache ¶
func NewSinkToCache(cache Cache) SinkProcess
func NewSinkToSlice ¶
func NewSinkToSlice(dictionaries *[]Dictionary) SinkProcess
type SinkToCache ¶
type SinkToCache struct {
// contains filtered or unexported fields
}
func (*SinkToCache) Open ¶
func (sink *SinkToCache) Open() error
func (*SinkToCache) ProcessDictionary ¶
func (sink *SinkToCache) ProcessDictionary(dictionary Dictionary) error
type SinkToSlice ¶
type SinkToSlice struct {
// contains filtered or unexported fields
}
func (*SinkToSlice) Open ¶
func (sink *SinkToSlice) Open() error
func (*SinkToSlice) ProcessDictionary ¶
func (sink *SinkToSlice) ProcessDictionary(dictionary Dictionary) error
type SinkedPipeline ¶
type SinkedPipeline interface {
Run() error
}
type Source ¶
type Source interface { Open() error Next() bool Value() Dictionary Err() error }
Source is an iterator over Dictionary
func NewSourceFromSlice ¶
func NewSourceFromSlice(dictionaries []Dictionary) Source
type SourceFromSlice ¶
type SourceFromSlice struct {
// contains filtered or unexported fields
}
func (*SourceFromSlice) Err ¶
func (source *SourceFromSlice) Err() error
func (*SourceFromSlice) Next ¶
func (source *SourceFromSlice) Next() bool
func (*SourceFromSlice) Open ¶
func (source *SourceFromSlice) Open() error
func (*SourceFromSlice) Value ¶
func (source *SourceFromSlice) Value() Dictionary
type UniqueCache ¶
func NewUniqueMemCache ¶
func NewUniqueMemCache() UniqueCache
type UniqueMaskCacheEngine ¶
type UniqueMaskCacheEngine struct {
// contains filtered or unexported fields
}
func NewUniqueMaskCacheEngine ¶
func NewUniqueMaskCacheEngine(cache UniqueCache, original MaskEngine) UniqueMaskCacheEngine
func (UniqueMaskCacheEngine) Mask ¶
func (umce UniqueMaskCacheEngine) Mask(e Entry, context ...Dictionary) (Entry, error)
Mask masks run mask with cache
type UniqueMemCache ¶
type UniqueMemCache struct { MemCache // contains filtered or unexported fields }