logstash-mixin-aws 0.1.10 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0891ea54a75d4c21a591479312ff7b9ccec09507
4
- data.tar.gz: 664552672c4bde14792cf9c12cdbcc51c3b630d4
3
+ metadata.gz: f00cc7ea12d56fa9b3c604ee68cef128f7c9718b
4
+ data.tar.gz: 9b84affbeb7ded1589cb9fd42b3aebf94c188d5d
5
5
  SHA512:
6
- metadata.gz: 55a85d65e77113eb8c32dc8d1dd493f9aabe8b802cbab7d5f6e056fd7c9359a0b6a84622a4c332b5a2bf4dfdcf2cc0e58b02b6d6998205336636101ea3828b3f
7
- data.tar.gz: 59c159646ae8b1a9139c921ba8d2624be249b11578eb3bf041221bc2743a5d3c33c327c8d3899686970a87fad9ab4dc6d0fe18501bb11de4e4fdbad8074416ab
6
+ metadata.gz: 2994e1df54cfb124c2fad4b4f27b61a7180c516ad7f602ef415968879104540e407dd16d5a74854462706ebb3c6cf1145ba790a16b16930f35c92bf5fdd71f12
7
+ data.tar.gz: bf8695dac26cd81bb4efc6f8b93b959de2ecac3634689e32f73166b4986e40ab51a89303e7e8d986ce717c3f5a2e061b144271ff0e7f6ed019a24aa74abd7bcc
data/CHANGELOG.md ADDED
@@ -0,0 +1,2 @@
1
+ # 1.0.0
2
+ * Allow to use either V1 or V2 of the `AWS-SDK` in your plugins. Fixes: https://github.com/logstash-plugins/logstash-mixin-aws/issues/8
data/README.md CHANGED
@@ -13,7 +13,7 @@ Logstash provides infrastructure to automatically generate documentation for thi
13
13
 
14
14
  ## Need Help?
15
15
 
16
- Need help? Try #logstash on freenode IRC or the logstash-users@googlegroups.com mailing list.
16
+ Need help? Try #logstash on freenode IRC or the https://discuss.elastic.co/c/logstash discussion forum.
17
17
 
18
18
  ## Developing
19
19
 
@@ -1,93 +1,20 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/config/mixin"
3
3
 
4
+ # This module provides helper for the `AWS-SDK` v1,
5
+ # and it will be deprecated in the near future, please use the V2 module
6
+ # for any new development.
4
7
  module LogStash::PluginMixins::AwsConfig
8
+ require "logstash/plugin_mixins/aws_config/v1"
9
+ require "logstash/plugin_mixins/aws_config/v2"
5
10
 
6
- @logger = Cabin::Channel.get(LogStash)
11
+ US_EAST_1 = "us-east-1"
12
+ REGIONS_ENDPOINT = [US_EAST_1, "us-west-1", "us-west-2", "eu-central-1",
13
+ "eu-west-1", "ap-southeast-1", "ap-southeast-2",
14
+ "ap-northeast-1", "sa-east-1", "us-gov-west-1", "cn-north-1"]
7
15
 
8
- # This method is called when someone includes this module
9
16
  def self.included(base)
10
17
  # Add these methods to the 'base' given.
11
- base.extend(self)
12
- base.setup_aws_config
18
+ base.send(:include, V1)
13
19
  end
14
-
15
- US_EAST_1 = "us-east-1"
16
-
17
- public
18
- def setup_aws_config
19
- # The AWS Region
20
- config :region, :validate => [US_EAST_1, "us-west-1", "us-west-2", "eu-central-1",
21
- "eu-west-1", "ap-southeast-1", "ap-southeast-2",
22
- "ap-northeast-1", "sa-east-1", "us-gov-west-1",
23
- "cn-north-1"], :default => US_EAST_1
24
-
25
- # This plugin uses the AWS SDK and supports several ways to get credentials, which will be tried in this order...
26
- # 1. Static configuration, using `access_key_id` and `secret_access_key` params in logstash plugin config
27
- # 2. External credentials file specified by `aws_credentials_file`
28
- # 3. Environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
29
- # 4. Environment variables `AMAZON_ACCESS_KEY_ID` and `AMAZON_SECRET_ACCESS_KEY`
30
- # 5. IAM Instance Profile (available when running inside EC2)
31
- config :access_key_id, :validate => :string
32
-
33
- # The AWS Secret Access Key
34
- config :secret_access_key, :validate => :string
35
-
36
- # The AWS Session token for temprory credential
37
- config :session_token, :validate => :string
38
-
39
- # Should we require (true) or disable (false) using SSL for communicating with the AWS API
40
- # The AWS SDK for Ruby defaults to SSL so we preserve that
41
- config :use_ssl, :validate => :boolean, :default => true
42
-
43
- # URI to proxy server if required
44
- config :proxy_uri, :validate => :string
45
-
46
- # Path to YAML file containing a hash of AWS credentials.
47
- # This file will only be loaded if `access_key_id` and
48
- # `secret_access_key` aren't set. The contents of the
49
- # file should look like this:
50
- #
51
- # :access_key_id: "12345"
52
- # :secret_access_key: "54321"
53
- #
54
- config :aws_credentials_file, :validate => :string
55
- end
56
-
57
- public
58
- def aws_options_hash
59
- opts = {}
60
-
61
- if @access_key_id.is_a?(NilClass) ^ @secret_access_key.is_a?(NilClass)
62
- @logger.warn("Likely config error: Only one of access_key_id or secret_access_key was provided but not both.")
63
- end
64
-
65
- if @access_key_id && @secret_access_key
66
- opts = {
67
- :access_key_id => @access_key_id,
68
- :secret_access_key => @secret_access_key
69
- }
70
- opts[:session_token] = @session_token if @session_token
71
- elsif @aws_credentials_file
72
- opts = YAML.load_file(@aws_credentials_file)
73
- end
74
-
75
- opts[:proxy_uri] = @proxy_uri if @proxy_uri
76
- opts[:use_ssl] = @use_ssl
77
-
78
-
79
- # The AWS SDK for Ruby doesn't know how to make an endpoint hostname from a region
80
- # for example us-west-1 -> foosvc.us-west-1.amazonaws.com
81
- # So our plugins need to know how to generate their endpoints from a region
82
- # Furthermore, they need to know the symbol required to set that value in the AWS SDK
83
- # Classes using this module must implement aws_service_endpoint(region:string)
84
- # which must return a hash with one key, the aws sdk for ruby config symbol of the service
85
- # endpoint, which has a string value of the service endpoint hostname
86
- # for example, CloudWatch, { :cloud_watch_endpoint => "monitoring.#{region}.amazonaws.com" }
87
- # For a list, see https://github.com/aws/aws-sdk-ruby/blob/master/lib/aws/core/configuration.rb
88
- opts.merge!(self.aws_service_endpoint(@region))
89
-
90
- return opts
91
- end # def aws_options_hash
92
-
93
20
  end
@@ -0,0 +1,38 @@
1
+ module LogStash::PluginMixins::AwsConfig::Generic
2
+ def self.included(base)
3
+ base.extend(self)
4
+ base.generic_aws_config
5
+ end
6
+
7
+ def generic_aws_config
8
+ # The AWS Region
9
+ config :region, :validate => LogStash::PluginMixins::AwsConfig::REGIONS_ENDPOINT, :default => LogStash::PluginMixins::AwsConfig::US_EAST_1
10
+
11
+ # This plugin uses the AWS SDK and supports several ways to get credentials, which will be tried in this order...
12
+ # 1. Static configuration, using `access_key_id` and `secret_access_key` params in logstash plugin config
13
+ # 2. External credentials file specified by `aws_credentials_file`
14
+ # 3. Environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
15
+ # 4. Environment variables `AMAZON_ACCESS_KEY_ID` and `AMAZON_SECRET_ACCESS_KEY`
16
+ # 5. IAM Instance Profile (available when running inside EC2)
17
+ config :access_key_id, :validate => :string
18
+
19
+ # The AWS Secret Access Key
20
+ config :secret_access_key, :validate => :string
21
+
22
+ # The AWS Session token for temprory credential
23
+ config :session_token, :validate => :string
24
+
25
+ # URI to proxy server if required
26
+ config :proxy_uri, :validate => :string
27
+
28
+ # Path to YAML file containing a hash of AWS credentials.
29
+ # This file will only be loaded if `access_key_id` and
30
+ # `secret_access_key` aren't set. The contents of the
31
+ # file should look like this:
32
+ #
33
+ # :access_key_id: "12345"
34
+ # :secret_access_key: "54321"
35
+ #
36
+ config :aws_credentials_file, :validate => :string
37
+ end
38
+ end
@@ -0,0 +1,56 @@
1
+ # encoding: utf-8
2
+ require "logstash/plugin_mixins/aws_config/generic"
3
+
4
+ module LogStash::PluginMixins::AwsConfig::V1
5
+ def self.included(base)
6
+ # Make sure we require the V1 classes when including this module.
7
+ # require 'aws-sdk' will load v2 classes.
8
+ require "aws-sdk-v1"
9
+ base.extend(self)
10
+ base.send(:include, LogStash::PluginMixins::AwsConfig::Generic)
11
+ base.setup_aws_config
12
+ end
13
+
14
+ public
15
+ def setup_aws_config
16
+ # Should we require (true) or disable (false) using SSL for communicating with the AWS API
17
+ # The AWS SDK for Ruby defaults to SSL so we preserve that
18
+ config :use_ssl, :validate => :boolean, :default => true
19
+ end
20
+
21
+ public
22
+ def aws_options_hash
23
+ opts = {}
24
+
25
+ if @access_key_id.is_a?(NilClass) ^ @secret_access_key.is_a?(NilClass)
26
+ @logger.warn("Likely config error: Only one of access_key_id or secret_access_key was provided but not both.")
27
+ end
28
+
29
+ if @access_key_id && @secret_access_key
30
+ opts = {
31
+ :access_key_id => @access_key_id,
32
+ :secret_access_key => @secret_access_key
33
+ }
34
+ opts[:session_token] = @session_token if @session_token
35
+ elsif @aws_credentials_file
36
+ opts = YAML.load_file(@aws_credentials_file)
37
+ end
38
+
39
+ opts[:proxy_uri] = @proxy_uri if @proxy_uri
40
+ opts[:use_ssl] = @use_ssl
41
+
42
+
43
+ # The AWS SDK for Ruby doesn't know how to make an endpoint hostname from a region
44
+ # for example us-west-1 -> foosvc.us-west-1.amazonaws.com
45
+ # So our plugins need to know how to generate their endpoints from a region
46
+ # Furthermore, they need to know the symbol required to set that value in the AWS SDK
47
+ # Classes using this module must implement aws_service_endpoint(region:string)
48
+ # which must return a hash with one key, the aws sdk for ruby config symbol of the service
49
+ # endpoint, which has a string value of the service endpoint hostname
50
+ # for example, CloudWatch, { :cloud_watch_endpoint => "monitoring.#{region}.amazonaws.com" }
51
+ # For a list, see https://github.com/aws/aws-sdk-ruby/blob/master/lib/aws/core/configuration.rb
52
+ opts.merge!(self.aws_service_endpoint(@region))
53
+
54
+ return opts
55
+ end # def aws_options_hash
56
+ end
@@ -0,0 +1,61 @@
1
+ # encoding: utf-8
2
+ require "logstash/plugin_mixins/aws_config/generic"
3
+
4
+ module LogStash::PluginMixins::AwsConfig::V2
5
+ def self.included(base)
6
+ base.extend(self)
7
+ base.send(:include, LogStash::PluginMixins::AwsConfig::Generic)
8
+ end
9
+
10
+ public
11
+ def aws_options_hash
12
+ opts = {}
13
+
14
+ if @access_key_id.is_a?(NilClass) ^ @secret_access_key.is_a?(NilClass)
15
+ @logger.warn("Likely config error: Only one of access_key_id or secret_access_key was provided but not both.")
16
+ end
17
+
18
+ opts[:credentials] = credentials if credentials
19
+
20
+ opts[:proxy_uri] = @proxy_uri if @proxy_uri
21
+
22
+ # The AWS SDK for Ruby doesn't know how to make an endpoint hostname from a region
23
+ # for example us-west-1 -> foosvc.us-west-1.amazonaws.com
24
+ # So our plugins need to know how to generate their endpoints from a region
25
+ # Furthermore, they need to know the symbol required to set that value in the AWS SDK
26
+ # Classes using this module must implement aws_service_endpoint(region:string)
27
+ # which must return a hash with one key, the aws sdk for ruby config symbol of the service
28
+ # endpoint, which has a string value of the service endpoint hostname
29
+ # for example, CloudWatch, { :cloud_watch_endpoint => "monitoring.#{region}.amazonaws.com" }
30
+ # For a list, see https://github.com/aws/aws-sdk-ruby/blob/master/lib/aws/core/configuration.rb
31
+ if self.respond_to?(:aws_service_endpoint)
32
+ opts.merge!(self.aws_service_endpoint(@region))
33
+ else
34
+ opts.merge!({ :region => @region })
35
+ end
36
+
37
+ return opts
38
+ end
39
+
40
+ private
41
+ def credentials
42
+ @creds ||= begin
43
+ if @access_key_id && @secret_access_key
44
+ credentials_opts = {
45
+ :access_key_id => @access_key_id,
46
+ :secret_access_key => @secret_access_key
47
+ }
48
+
49
+ credentials_opts[:session_token] = @session_token if @session_token
50
+ elsif @aws_credentials_file
51
+ credentials_opts = YAML.load_file(@aws_credentials_file)
52
+ end
53
+
54
+ if credentials_opts
55
+ Aws::Credentials.new(credentials_opts[:access_key_id],
56
+ credentials_opts[:secret_access_key],
57
+ credentials_opts[:session_token])
58
+ end
59
+ end
60
+ end
61
+ end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-mixin-aws'
3
- s.version = '0.1.10'
3
+ s.version = '1.0.0'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "AWS mixins to provide a unified interface for Amazon Webservice"
6
6
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -18,7 +18,8 @@ Gem::Specification.new do |s|
18
18
  # Gem dependencies
19
19
  s.add_runtime_dependency "logstash-core", '>= 1.4.0', '< 2.0.0'
20
20
  s.add_runtime_dependency 'logstash-codec-plain'
21
- s.add_runtime_dependency 'aws-sdk', '~> 1.61.0'
21
+ s.add_runtime_dependency 'aws-sdk-v1', '>= 1.61.0'
22
+ s.add_runtime_dependency 'aws-sdk', '~> 2.1.0'
22
23
  s.add_development_dependency 'logstash-devutils'
23
24
  end
24
25
 
@@ -3,9 +3,20 @@ require "logstash/devutils/rspec/spec_helper"
3
3
  require "logstash/plugin_mixins/aws_config"
4
4
  require 'aws-sdk'
5
5
 
6
- class DummyInputAwsConfig < LogStash::Inputs::Base
7
- include LogStash::PluginMixins::AwsConfig
6
+ class DummyInputAwsConfigV2 < LogStash::Inputs::Base
7
+ include LogStash::PluginMixins::AwsConfig::V2
8
8
 
9
+ def aws_service_endpoint(region)
10
+ { :dummy_input_aws_config_region => "#{region}.awswebservice.local" }
11
+ end
12
+ end
13
+
14
+ class DummyInputAwsConfigV2NoRegionMethod < LogStash::Inputs::Base
15
+ include LogStash::PluginMixins::AwsConfig::V2
16
+ end
17
+
18
+ class DummyInputAwsConfigV1 < LogStash::Inputs::Base
19
+ include LogStash::PluginMixins::AwsConfig
9
20
 
10
21
  def aws_service_endpoint(region)
11
22
  { :dummy_input_aws_config_region => "#{region}.awswebservice.local" }
@@ -13,10 +24,9 @@ class DummyInputAwsConfig < LogStash::Inputs::Base
13
24
  end
14
25
 
15
26
  describe LogStash::PluginMixins::AwsConfig do
16
-
17
27
  let(:settings) { {} }
18
28
 
19
- subject { DummyInputAwsConfig.new(settings).aws_options_hash }
29
+ subject { DummyInputAwsConfigV1.new(settings).aws_options_hash }
20
30
 
21
31
  describe 'config credential' do
22
32
 
@@ -24,8 +34,7 @@ describe LogStash::PluginMixins::AwsConfig do
24
34
  let(:settings) { { 'aws_credentials_file' => File.join(File.dirname(__FILE__), '..', 'fixtures/aws_credentials_file_sample_test.yml') } }
25
35
 
26
36
  it 'should support reading configuration from a yaml file' do
27
- subject[:access_key_id].should == '1234'
28
- subject[:secret_access_key].should == 'secret'
37
+ expect(subject).to include(:access_key_id => "1234", :secret_access_key => "secret")
29
38
  end
30
39
  end
31
40
 
@@ -34,9 +43,9 @@ describe LogStash::PluginMixins::AwsConfig do
34
43
  let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret', 'session_token' => 'session_token' } }
35
44
 
36
45
  it "should support passing as key, value, and session_token" do
37
- subject[:access_key_id].should == settings['access_key_id']
38
- subject[:secret_access_key].should == settings['secret_access_key']
39
- subject[:session_token].should == settings['session_token']
46
+ expect(subject[:access_key_id]).to eq(settings["access_key_id"])
47
+ expect(subject[:secret_access_key]).to eq(settings["secret_access_key"])
48
+ expect(subject[:session_token]).to eq(settings["session_token"])
40
49
  end
41
50
  end
42
51
 
@@ -44,21 +53,19 @@ describe LogStash::PluginMixins::AwsConfig do
44
53
  let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret' } }
45
54
 
46
55
  it 'should support passing credentials as key, value' do
47
- subject[:access_key_id].should == settings['access_key_id']
48
- subject[:secret_access_key].should == settings['secret_access_key']
56
+ expect(subject[:access_key_id]).to eq(settings['access_key_id'])
57
+ expect(subject[:secret_access_key]).to eq(settings['secret_access_key'])
49
58
  end
50
59
  end
51
60
  end
52
-
53
61
  end
54
62
 
55
63
  describe 'config region' do
56
-
57
64
  context 'region provided' do
58
65
  let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret', 'region' => 'us-west-2' } }
59
66
 
60
67
  it 'should use provided region to generate the endpoint configuration' do
61
- subject[:dummy_input_aws_config_region].should == "us-west-2.awswebservice.local"
68
+ expect(subject[:dummy_input_aws_config_region]).to eq("us-west-2.awswebservice.local")
62
69
  end
63
70
  end
64
71
 
@@ -66,7 +73,7 @@ describe LogStash::PluginMixins::AwsConfig do
66
73
  let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret'} }
67
74
 
68
75
  it 'should use default region to generate the endpoint configuration' do
69
- subject[:dummy_input_aws_config_region].should == "us-east-1.awswebservice.local"
76
+ expect(subject[:dummy_input_aws_config_region]).to eq("us-east-1.awswebservice.local")
70
77
  end
71
78
  end
72
79
  end
@@ -78,3 +85,90 @@ describe LogStash::PluginMixins::AwsConfig do
78
85
  end
79
86
  end
80
87
  end
88
+
89
+ describe LogStash::PluginMixins::AwsConfig::V2 do
90
+ let(:settings) { {} }
91
+
92
+ subject { DummyInputAwsConfigV2.new(settings).aws_options_hash }
93
+
94
+ describe 'config credential' do
95
+ subject { DummyInputAwsConfigV2.new(settings).aws_options_hash[:credentials] }
96
+
97
+ context 'in credential file' do
98
+ let(:settings) { { 'aws_credentials_file' => File.join(File.dirname(__FILE__), '..', 'fixtures/aws_credentials_file_sample_test.yml') } }
99
+
100
+ it 'should support reading configuration from a yaml file' do
101
+ expect(subject.access_key_id).to eq("1234")
102
+ expect(subject.secret_access_key).to eq("secret")
103
+ end
104
+ end
105
+
106
+ context 'inline' do
107
+ context 'temporary credential' do
108
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret', 'session_token' => 'session_token' } }
109
+
110
+ it "should support passing as key, value, and session_token" do
111
+ expect(subject.access_key_id).to eq(settings['access_key_id'])
112
+ expect(subject.secret_access_key).to eq(settings['secret_access_key'])
113
+ expect(subject.session_token).to eq(settings['session_token'])
114
+ end
115
+ end
116
+
117
+ context 'normal credential' do
118
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret' } }
119
+
120
+ it 'should support passing credentials as key, value' do
121
+ expect(subject.access_key_id).to eq(settings['access_key_id'])
122
+ expect(subject.secret_access_key).to eq(settings['secret_access_key'])
123
+ end
124
+ end
125
+ end
126
+ end
127
+
128
+ describe 'config region' do
129
+ context "when the class implement `#aws_service_endpoint`" do
130
+ context 'region provided' do
131
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret', 'region' => 'us-west-2' } }
132
+
133
+ it 'should use provided region to generate the endpoint configuration' do
134
+ expect(subject).to include(:dummy_input_aws_config_region => "us-west-2.awswebservice.local")
135
+ end
136
+ end
137
+
138
+ context "region not provided" do
139
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret'} }
140
+
141
+ it 'should use default region to generate the endpoint configuration' do
142
+ expect(subject).to include(:dummy_input_aws_config_region => "us-east-1.awswebservice.local")
143
+ end
144
+ end
145
+ end
146
+
147
+ context "when the classe doesn't implement `#aws_service_endpoint`" do
148
+ subject { DummyInputAwsConfigV2NoRegionMethod.new(settings).aws_options_hash }
149
+
150
+ context 'region provided' do
151
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret', 'region' => 'us-west-2' } }
152
+
153
+ it 'should use provided region to generate the endpoint configuration' do
154
+ expect(subject[:region]).to eq("us-west-2")
155
+ end
156
+ end
157
+
158
+ context "region not provided" do
159
+ let(:settings) { { 'access_key_id' => '1234', 'secret_access_key' => 'secret'} }
160
+
161
+ it 'should use default region to generate the endpoint configuration' do
162
+ expect(subject[:region]).to eq("us-east-1")
163
+ end
164
+ end
165
+ end
166
+ end
167
+
168
+ context 'when we arent providing credentials' do
169
+ let(:settings) { {} }
170
+ it 'should always return a hash' do
171
+ expect(subject).to eq({ :dummy_input_aws_config_region => "us-east-1.awswebservice.local" })
172
+ end
173
+ end
174
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-mixin-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2015-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstash-core
@@ -44,18 +44,32 @@ dependencies:
44
44
  version: '0'
45
45
  prerelease: false
46
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: aws-sdk-v1
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.61.0
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - '>='
57
+ - !ruby/object:Gem::Version
58
+ version: 1.61.0
59
+ prerelease: false
60
+ type: :runtime
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: aws-sdk
49
63
  version_requirements: !ruby/object:Gem::Requirement
50
64
  requirements:
51
65
  - - ~>
52
66
  - !ruby/object:Gem::Version
53
- version: 1.61.0
67
+ version: 2.1.0
54
68
  requirement: !ruby/object:Gem::Requirement
55
69
  requirements:
56
70
  - - ~>
57
71
  - !ruby/object:Gem::Version
58
- version: 1.61.0
72
+ version: 2.1.0
59
73
  prerelease: false
60
74
  type: :runtime
61
75
  - !ruby/object:Gem::Dependency
@@ -79,12 +93,16 @@ extensions: []
79
93
  extra_rdoc_files: []
80
94
  files:
81
95
  - .gitignore
96
+ - CHANGELOG.md
82
97
  - CONTRIBUTORS
83
98
  - Gemfile
84
99
  - LICENSE
85
100
  - README.md
86
101
  - Rakefile
87
102
  - lib/logstash/plugin_mixins/aws_config.rb
103
+ - lib/logstash/plugin_mixins/aws_config/generic.rb
104
+ - lib/logstash/plugin_mixins/aws_config/v1.rb
105
+ - lib/logstash/plugin_mixins/aws_config/v2.rb
88
106
  - logstash-mixin-aws.gemspec
89
107
  - spec/fixtures/aws_credentials_file_sample_test.yml
90
108
  - spec/fixtures/aws_temporary_credentials_file_sample_test.yml