Module: LogStash::PluginMixins::ECSCompatibilitySupport::LegacyAdapter

Defined in:
lib/logstash/plugin_mixins/ecs_compatibility_support.rb

Overview

Implements ecs_compatibility method backed by an ecs_compatibility config option accepting the literal disabled or a v-prefixed integer representing a major version of ECS (e.g., v1).

Defined Under Namespace

Modules: ArgumentValidator

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



49
50
51
52
# File 'lib/logstash/plugin_mixins/ecs_compatibility_support.rb', line 49

def self.included(base)
  base.extend(ArgumentValidator)
  base.config(:ecs_compatibility, :validate => :ecs_compatibility_argument, :default => 'disabled')
end

Instance Method Details

#ecs_compatibility:disabled, ...

Designed for use by plugins in a case statement, this method returns a Symbol representing the current ECS compatibility mode as configured at plugin initialization, or raises an exception if the mode has not yet been initialized.

Plugin implementations using this method MUST provide code-paths for:

  • the major version(s) they explicitly support,
  • ECS Compatibility being disabled, AND
  • unknown versions (e.g., an else clause that raises an exception)

Returns:

  • (:disabled, :v1, Symbol)


66
67
68
69
70
71
72
# File 'lib/logstash/plugin_mixins/ecs_compatibility_support.rb', line 66

def ecs_compatibility
  fail('uninitialized') if @ecs_compatibility.nil?

  # NOTE: The @ecs_compatibility instance variable is an implementation detail of
  #       this `LegacyAdapter` and plugins MUST NOT rely in its presence or value.
  @ecs_compatibility
end