Sha256: 9f4e4d0618683b96e6c2693c506a6d522308be35c6c317c1a6aacd85af8b722a

Contents?: true

Size: 1.79 KB

Versions: 68

Compression:

Stored size: 1.79 KB

Contents

# encoding: utf-8
require "logstash/config/source/base"
require "logstash/config/modules_common"
require "logstash/config/pipeline_config"
require "logstash/util/loggable"
require "logstash/errors"

module LogStash module Config module Source
  class Modules < Base
    include LogStash::Util::Loggable
    def pipeline_configs
      if config_conflict? # double check
        raise ConfigurationError, @conflict_messages.join(", ")
      end

      pipelines = LogStash::Config::ModulesCommon.pipeline_configs(@settings)
      pipelines.map do |hash|
        PipelineConfig.new(self, hash["pipeline_id"].to_sym,
          org.logstash.common.SourceWithMetadata.new("module", hash["alt_name"], 0, 0, hash["config_string"]),
          hash["settings"])
      end
    end

    def match?
      # see basic settings predicates and getters defined in the base class
      (modules_cli? || modules?) && !(config_string? || config_path?) && !automatic_reload_with_modules?
    end

    def config_conflict?
      @conflict_messages.clear
      # Make note that if modules are configured in both cli and logstash.yml that cli module
      # settings will overwrite the logstash.yml modules settings
      if modules_cli? && modules?
        logger.info(I18n.t("logstash.runner.cli-module-override"))
      end

      if automatic_reload_with_modules?
        @conflict_messages << I18n.t("logstash.runner.reload-with-modules")
      end

      # Check if config (-f or -e) and modules are configured
      if (modules_cli? || modules?) && (config_string? || config_path?)
        @conflict_messages << I18n.t("logstash.runner.config-module-exclusive")
      end

      @conflict_messages.any?
    end

    private

    def automatic_reload_with_modules?
      (modules_cli? || modules?) && config_reload_automatic?
    end
  end
end end end

Version data entries

68 entries across 68 versions & 5 rubygems

Version Path
logstash-output-scalyr-0.2.1.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.2.0 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.2.0.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.26.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.25.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.24.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.23.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.22.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.21.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.20.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.19.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.18.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.17.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.16.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.15.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.14.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.13 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.12 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.11.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb
logstash-output-scalyr-0.1.10.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/config/source/modules.rb