Sha256: bbd669f2053ba8053915f445b38d3cd25f96bef0851c5e950f90d835d8e6afc3

Contents?: true

Size: 1.57 KB

Versions: 22

Compression:

Stored size: 1.57 KB

Contents

# encoding: utf-8
require "logstash/settings"

module LogStash
  class PipelineSettings < Settings

    # there are settings that the pipeline uses and can be changed per pipeline instance
    SETTINGS_WHITE_LIST = [
      "config.debug",
      "config.support_escapes",
      "config.reload.automatic",
      "config.reload.interval",
      "config.string",
      "dead_letter_queue.enable",
      "dead_letter_queue.max_bytes",
      "metric.collect",
      "pipeline.java_execution",
      "path.config",
      "path.dead_letter_queue",
      "path.queue",
      "pipeline.batch.delay",
      "pipeline.batch.size",
      "pipeline.id",
      "pipeline.output.workers",
      "pipeline.reloadable",
      "pipeline.system",
      "pipeline.workers",
      "queue.checkpoint.acks",
      "queue.checkpoint.interval",
      "queue.checkpoint.writes",
      "queue.drain",
      "queue.max_bytes",
      "queue.max_events",
      "queue.page_capacity",
      "queue.type",
    ]

    # register a set of settings that is used as the default set of pipelines settings
    def self.from_settings(settings)
      pipeline_settings = self.new
      SETTINGS_WHITE_LIST.each do |setting|
        pipeline_settings.register(settings.get_setting(setting).clone)
      end
      pipeline_settings
    end

    def register(setting)
      unless SETTINGS_WHITE_LIST.include?(setting.name)
        raise ArgumentError.new("Only pipeline related settings can be registed in a PipelineSettings object. Received \"#{setting.name}\". Allowed settings: #{SETTINGS_WHITE_LIST}")
      end
      super(setting)
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
logstash-core-6.5.4-java lib/logstash/pipeline_settings.rb
logstash-core-6.5.3-java lib/logstash/pipeline_settings.rb
logstash-core-6.5.2-java lib/logstash/pipeline_settings.rb
logstash-core-6.5.1-java lib/logstash/pipeline_settings.rb
logstash-core-6.5.0-java lib/logstash/pipeline_settings.rb
logstash-core-6.4.3-java lib/logstash/pipeline_settings.rb
logstash-core-6.4.2-java lib/logstash/pipeline_settings.rb
logstash-core-6.4.1-java lib/logstash/pipeline_settings.rb
logstash-core-6.4.0-java lib/logstash/pipeline_settings.rb
logstash-core-6.3.2-java lib/logstash/pipeline_settings.rb
logstash-core-6.3.1-java lib/logstash/pipeline_settings.rb
logstash-core-6.3.0-java lib/logstash/pipeline_settings.rb
logstash-core-6.2.4-java lib/logstash/pipeline_settings.rb
logstash-core-6.2.3-java lib/logstash/pipeline_settings.rb
logstash-core-6.1.4-java lib/logstash/pipeline_settings.rb
logstash-core-6.2.2-java lib/logstash/pipeline_settings.rb
logstash-core-6.2.1-java lib/logstash/pipeline_settings.rb
logstash-core-6.2.0-java lib/logstash/pipeline_settings.rb
logstash-core-6.1.3-java lib/logstash/pipeline_settings.rb
logstash-core-6.1.2-java lib/logstash/pipeline_settings.rb