diff --git a/pkg/stanza/fileconsumer/config.go b/pkg/stanza/fileconsumer/config.go index 4e5897c3b0a4e..460f7725aa41c 100644 --- a/pkg/stanza/fileconsumer/config.go +++ b/pkg/stanza/fileconsumer/config.go @@ -73,14 +73,6 @@ type Config struct { // Build will build a file input operator from the supplied configuration func (c Config) Build(logger *zap.SugaredLogger, emit EmitFunc) (*Manager, error) { - if c.DeleteAfterRead && !allowFileDeletion.IsEnabled() { - return nil, fmt.Errorf("`delete_after_read` requires feature gate `%s`", allowFileDeletion.ID()) - } - - if c.Header != nil && !AllowHeaderMetadataParsing.IsEnabled() { - return nil, fmt.Errorf("`header` requires feature gate `%s`", AllowHeaderMetadataParsing.ID()) - } - if err := c.validate(); err != nil { return nil, err } @@ -95,8 +87,7 @@ func (c Config) Build(logger *zap.SugaredLogger, emit EmitFunc) (*Manager, error } // BuildWithSplitFunc will build a file input operator with customized splitFunc function -func (c Config) BuildWithSplitFunc( - logger *zap.SugaredLogger, emit EmitFunc, splitFunc bufio.SplitFunc) (*Manager, error) { +func (c Config) BuildWithSplitFunc(logger *zap.SugaredLogger, emit EmitFunc, splitFunc bufio.SplitFunc) (*Manager, error) { if err := c.validate(); err != nil { return nil, err } @@ -168,6 +159,14 @@ func (c Config) buildManager(logger *zap.SugaredLogger, emit EmitFunc, factory s } func (c Config) validate() error { + if c.DeleteAfterRead && !allowFileDeletion.IsEnabled() { + return fmt.Errorf("`delete_after_read` requires feature gate `%s`", allowFileDeletion.ID()) + } + + if c.Header != nil && !AllowHeaderMetadataParsing.IsEnabled() { + return fmt.Errorf("`header` requires feature gate `%s`", AllowHeaderMetadataParsing.ID()) + } + if len(c.Include) == 0 { return fmt.Errorf("required argument `include` is empty") }