lib/fluent/plugin/out_splunk_hec.rb in fluent-plugin-splunk-enterprise-0.10.1 vs lib/fluent/plugin/out_splunk_hec.rb in fluent-plugin-splunk-enterprise-0.10.2

- old
+ new

@@ -1,8 +1,9 @@ require 'fluent/output' require 'httpclient' require 'json' +require 'securerandom' # http://dev.splunk.com/view/event-collector/SP-CAAAE6P module Fluent class SplunkHECOutput < ObjectBufferedOutput @@ -29,10 +30,11 @@ config_param :use_fluentd_time, :bool, default: true # for Indexer acknowledgement config_param :use_ack, :bool, default: false config_param :channel, :string, default: nil + config_param :auto_generate_channel, :bool, default: false config_param :ack_interval, :integer, default: 1 config_param :ack_retry_limit, :integer, default: 3 # for raw events config_param :raw, :bool, default: false @@ -49,9 +51,16 @@ config_param :client_key, :string, default: nil config_param :client_key_pass, :string, default: nil def configure(conf) super + + if @channel && @auto_generate_channel + log.warn "Both channel and auto_generate_channel are set.. ignoring channel param and auto generating channel instead" + end + + @channel = SecureRandom.uuid if @auto_generate_channel + raise ConfigError, "'channel' parameter is required when 'use_ack' is true" if @use_ack && !@channel raise ConfigError, "'ack_interval' parameter must be a non negative integer" if @use_ack && @ack_interval < 0 raise ConfigError, "'event_key' parameter is required when 'raw' is true" if @raw && !@event_key raise ConfigError, "'channel' parameter is required when 'raw' is true" if @raw && !@channel