Module: PWN::AWS::Firehose

Defined in:
lib/pwn/aws/firehose.rb

Overview

This module provides a client for making API requests to Amazon Kinesis Firehose.

Constant Summary collapse

@@logger =
PWN::Plugins::PWNLogger.create

Class Method Summary collapse

Class Method Details

.authorsObject

Author(s)

0day Inc. <[email protected]>



65
66
67
68
69
# File 'lib/pwn/aws/firehose.rb', line 65

public_class_method def self.authors
  "AUTHOR(S):
    0day Inc. <[email protected]>
  "
end

.connect(opts = {}) ⇒ Object

Supported Method Parameters

PWN::AWS::Firehose.connect(

region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
sts_session_token: 'optional - Temporary token returned by STS client for best privacy'

)



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/pwn/aws/firehose.rb', line 19

public_class_method def self.connect(opts = {})
  region = opts[:region].to_s.scrub.chomp.strip
  access_key_id = opts[:access_key_id].to_s.scrub.chomp.strip
  secret_access_key = opts[:secret_access_key].to_s.scrub.chomp.strip
  sts_session_token = opts[:sts_session_token].to_s.scrub.chomp.strip

  @@logger.info('Connecting to AWS Firehose...')
  if sts_session_token == ''
    firehose_obj = Aws::Firehose::Client.new(
      region: region,
      access_key_id: access_key_id,
      secret_access_key: secret_access_key
    )
  else
    firehose_obj = Aws::Firehose::Client.new(
      region: region,
      access_key_id: access_key_id,
      secret_access_key: secret_access_key,
      session_token: sts_session_token
    )
  end
  @@logger.info("complete.\n")

  firehose_obj
rescue StandardError => e
  raise e
end

.disconnect(opts = {}) ⇒ Object

Supported Method Parameters

PWN::AWS::Firehose.disconnect(

firehose_obj: 'required - firehose_obj returned from #connect method'

)



52
53
54
55
56
57
58
59
60
61
# File 'lib/pwn/aws/firehose.rb', line 52

public_class_method def self.disconnect(opts = {})
  firehose_obj = opts[:firehose_obj]
  @@logger.info('Disconnecting...')
  firehose_obj = nil
  @@logger.info("complete.\n")

  firehose_obj
rescue StandardError => e
  raise e
end

.helpObject

Display Usage for this Module



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/pwn/aws/firehose.rb', line 73

public_class_method def self.help
  puts "USAGE:
    firehose_obj = #{self}.connect(
      region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
      access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
      secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
      sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
    )
    puts firehose_obj.public_methods

    #{self}.disconnect(
      firehose_obj: 'required - firehose_obj returned from #connect method'
    )

    #{self}.authors
  "
end