logstash-output-s3 2.0.4 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 912a056e6b1dffd2e3c976f200e51a6c3d9054ba
4
- data.tar.gz: d827ee7682d89fcb9ee7bdb0eadd633d9753c6d8
3
+ metadata.gz: 80e75152fb124d5936f0fd110072509a69845f52
4
+ data.tar.gz: 407179b921a6f00a8ea5357d39db6f12525e87e7
5
5
  SHA512:
6
- metadata.gz: 645a2f61ca39cc11f0fabdc07ff17d7da93235d266432f7054b6cba21a1179771dea86b7d05ace8ee2d4d53d91f9896d0d7ae2c2d64513b648c8e1f7aecf72d5
7
- data.tar.gz: 0b3b177b072a3c3348e9901880f7564bcdfd03eace46c2d3278ba8ac38938d3bc77cffcca8e68d05ddd1f27a6ef540c0cbf78e374591dea12c22d4cc31e105f6
6
+ metadata.gz: a7a5a417febef05d0f6591f93d1ce3a9192ed327729f1296736c43fb5570b41412c6cf0aefc3215a4fcd88e8faf4cfedb2e8cbbe8cd19d61e0038890c674dda9
7
+ data.tar.gz: f9446f247c8a768367a6df7c0829d5cd8471724f1a329b3c75297c03e76f0421b2155cb17401060a6dfc7adbf28dcca983ba936f3eda44eee1e68dca1363c6a1
@@ -1,10 +1,18 @@
1
+ # 2.0.7
2
+ - Depend on logstash-core-plugin-api instead of logstash-core, removing the need to mass update plugins on major releases of logstash
3
+ # 2.0.6
4
+ - New dependency requirements for logstash-core for the 5.0 release
5
+ ## 2.0.5
6
+ - Support signature_version option for v4 S3 keys
1
7
  ## 2.0.4
2
8
  - Remove the `Time.now` stub in the spec, it was conflicting with other test when running inside the default plugins test #63
3
9
  - Make the spec run faster by adjusting the values of time rotation test.
10
+ ## 2.0.3
11
+ - Update deps for logstash 2.0
4
12
  ## 2.0.2
5
13
  - Fixes an issue when tags were defined #39
6
14
  ## 2.0.0
7
- - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
15
+ - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
8
16
  instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
9
17
  - Dependency on logstash-core update to 2.0
10
18
 
@@ -109,6 +109,10 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
109
109
  # Specify how many workers to use to upload the files to S3
110
110
  config :upload_workers_count, :validate => :number, :default => 1
111
111
 
112
+ # The version of the S3 signature hash to use. Normally uses the internal client default, can be explicitly
113
+ # specified here
114
+ config :signature_version, :validate => ['v2', 'v4']
115
+
112
116
  # Define tags to be appended to the file on the S3 bucket.
113
117
  #
114
118
  # Example:
@@ -126,7 +130,19 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
126
130
 
127
131
  def aws_s3_config
128
132
  @logger.info("Registering s3 output", :bucket => @bucket, :endpoint_region => @region)
129
- @s3 = AWS::S3.new(aws_options_hash)
133
+ @s3 = AWS::S3.new(full_options)
134
+ end
135
+
136
+ def full_options
137
+ aws_options_hash.merge(signature_options)
138
+ end
139
+
140
+ def signature_options
141
+ if @signature_version
142
+ {:s3_signature_version => @signature_version}
143
+ else
144
+ {}
145
+ end
130
146
  end
131
147
 
132
148
  def aws_service_endpoint(region)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-s3'
4
- s.version = '2.0.4'
4
+ s.version = '2.0.7'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This plugin was created for store the logstash's events into Amazon Simple Storage Service (Amazon S3)"
7
7
  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"
@@ -20,11 +20,10 @@ Gem::Specification.new do |s|
20
20
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
21
21
 
22
22
  # Gem dependencies
23
- s.add_runtime_dependency "logstash-core", ">= 2.0.0.beta2", "< 3.0.0"
23
+ s.add_runtime_dependency "logstash-core-plugin-api", "~> 1.0"
24
24
  s.add_runtime_dependency 'logstash-mixin-aws'
25
25
  s.add_runtime_dependency 'stud', '~> 0.0.22'
26
26
  s.add_development_dependency 'logstash-devutils'
27
27
  s.add_development_dependency 'logstash-input-generator'
28
28
  s.add_development_dependency 'logstash-codec-line'
29
29
  end
30
-
@@ -23,7 +23,7 @@ describe LogStash::Outputs::S3, :integration => true, :s3 => true do
23
23
  s3output.s3
24
24
  end
25
25
 
26
- after(:all) do
26
+ after(:each) do
27
27
  delete_matching_keys_on_bucket('studtmp')
28
28
  delete_matching_keys_on_bucket('my-prefix')
29
29
  end
@@ -36,7 +36,7 @@ describe LogStash::Outputs::S3, :integration => true, :s3 => true do
36
36
  end
37
37
 
38
38
  describe "#write_on_bucket" do
39
- after(:all) do
39
+ after(:each) do
40
40
  File.unlink(fake_data.path)
41
41
  end
42
42
 
@@ -31,6 +31,18 @@ describe LogStash::Outputs::S3 do
31
31
  s3 = LogStash::Outputs::S3.new(config.merge({ "region" => 'sa-east-1' }))
32
32
  expect(s3.aws_options_hash).to include(:s3_endpoint => "s3-sa-east-1.amazonaws.com")
33
33
  end
34
+
35
+ describe "signature version" do
36
+ it "should set the signature version if specified" do
37
+ s3 = LogStash::Outputs::S3.new(config.merge({ "signature_version" => 'v4' }))
38
+ expect(s3.full_options[:s3_signature_version]).to eql('v4')
39
+ end
40
+
41
+ it "should omit the option completely if not specified" do
42
+ s3 = LogStash::Outputs::S3.new(config)
43
+ expect(s3.full_options.has_key?(:s3_signature_version)).to eql(false)
44
+ end
45
+ end
34
46
  end
35
47
 
36
48
  describe "#register" do
metadata CHANGED
@@ -1,39 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-22 00:00:00.000000000 Z
11
+ date: 2016-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - '>='
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 2.0.0.beta2
19
- - - <
20
- - !ruby/object:Gem::Version
21
- version: 3.0.0
22
- name: logstash-core
18
+ version: '1.0'
19
+ name: logstash-core-plugin-api
23
20
  prerelease: false
24
21
  type: :runtime
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - '>='
28
- - !ruby/object:Gem::Version
29
- version: 2.0.0.beta2
30
- - - <
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 3.0.0
26
+ version: '1.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
- - - '>='
30
+ - - ">="
37
31
  - !ruby/object:Gem::Version
38
32
  version: '0'
39
33
  name: logstash-mixin-aws
@@ -41,13 +35,13 @@ dependencies:
41
35
  type: :runtime
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
- - - '>='
38
+ - - ">="
45
39
  - !ruby/object:Gem::Version
46
40
  version: '0'
47
41
  - !ruby/object:Gem::Dependency
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
- - - ~>
44
+ - - "~>"
51
45
  - !ruby/object:Gem::Version
52
46
  version: 0.0.22
53
47
  name: stud
@@ -55,13 +49,13 @@ dependencies:
55
49
  type: :runtime
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ~>
52
+ - - "~>"
59
53
  - !ruby/object:Gem::Version
60
54
  version: 0.0.22
61
55
  - !ruby/object:Gem::Dependency
62
56
  requirement: !ruby/object:Gem::Requirement
63
57
  requirements:
64
- - - '>='
58
+ - - ">="
65
59
  - !ruby/object:Gem::Version
66
60
  version: '0'
67
61
  name: logstash-devutils
@@ -69,13 +63,13 @@ dependencies:
69
63
  type: :development
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - '>='
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
68
  version: '0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  requirement: !ruby/object:Gem::Requirement
77
71
  requirements:
78
- - - '>='
72
+ - - ">="
79
73
  - !ruby/object:Gem::Version
80
74
  version: '0'
81
75
  name: logstash-input-generator
@@ -83,13 +77,13 @@ dependencies:
83
77
  type: :development
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - '>='
80
+ - - ">="
87
81
  - !ruby/object:Gem::Version
88
82
  version: '0'
89
83
  - !ruby/object:Gem::Dependency
90
84
  requirement: !ruby/object:Gem::Requirement
91
85
  requirements:
92
- - - '>='
86
+ - - ">="
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0'
95
89
  name: logstash-codec-line
@@ -97,7 +91,7 @@ dependencies:
97
91
  type: :development
98
92
  version_requirements: !ruby/object:Gem::Requirement
99
93
  requirements:
100
- - - '>='
94
+ - - ">="
101
95
  - !ruby/object:Gem::Version
102
96
  version: '0'
103
97
  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
@@ -130,17 +124,17 @@ require_paths:
130
124
  - lib
131
125
  required_ruby_version: !ruby/object:Gem::Requirement
132
126
  requirements:
133
- - - '>='
127
+ - - ">="
134
128
  - !ruby/object:Gem::Version
135
129
  version: '0'
136
130
  required_rubygems_version: !ruby/object:Gem::Requirement
137
131
  requirements:
138
- - - '>='
132
+ - - ">="
139
133
  - !ruby/object:Gem::Version
140
134
  version: '0'
141
135
  requirements: []
142
136
  rubyforge_project:
143
- rubygems_version: 2.4.5
137
+ rubygems_version: 2.4.8
144
138
  signing_key:
145
139
  specification_version: 4
146
140
  summary: This plugin was created for store the logstash's events into Amazon Simple Storage Service (Amazon S3)