Class: LogStash::Codecs::CloudTrail

Inherits:
Base
  • Object
show all
Defined in:
lib/logstash/codecs/cloudtrail.rb

Overview

This is the base class for logstash codecs.

Instance Method Summary collapse

Instance Method Details

#decode(data) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/logstash/codecs/cloudtrail.rb', line 19

def decode(data)
  decoded = LogStash::Json.load(@converter.convert(data))
  decoded['Records'].each do |event|
    event['@timestamp'] = event.delete('eventTime')

    if event.has_key?("requestParameters")
      if event['requestParameters'].has_key?("disableApiTermination")
        if event['requestParameters']['disableApiTermination'].class != Hash
          disableApiTermination = event['requestParameters'].delete('disableApiTermination')
          event['requestParameters']['disableApiTermination']= {"value" => disableApiTermination}
        end
      end
    end

    yield LogStash::Event.new(event)
  end
end

#registerObject



13
14
15
16
# File 'lib/logstash/codecs/cloudtrail.rb', line 13

def register
  @converter = LogStash::Util::Charset.new(@charset)
  @converter.logger = @logger
end