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
-
#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.
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)
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 |