logstash-output-s3 4.0.11 → 4.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/logstash/outputs/s3.rb +1 -1
- data/lib/logstash/outputs/s3/write_bucket_permission_validator.rb +3 -3
- data/logstash-output-s3.gemspec +1 -1
- data/spec/outputs/s3/write_bucket_permission_validator_spec.rb +4 -3
- data/spec/outputs/s3_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60f9298913378fe2ddc323e47608446b5c5a86d7
|
4
|
+
data.tar.gz: af5202e4af32c0c4fa7dddbfec8c2555d7ef11d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7944e4f6b681ab943d91a721e9c64dad4d811e9bd2dd7c1cb5169df842361750a95221f2fcb6db895356d0c1a87d8ca96e39f7895a482b65684151da47b1a284
|
7
|
+
data.tar.gz: ee024969ccf2968b408a1fc9e6a78714d02d9a900f47ae6e72b2d3dc81c40e44274798e81fadfa720fa88166b53f0eb6d2dc327a72bcd6ed6a19bc58169dfa2d
|
data/CHANGELOG.md
CHANGED
data/lib/logstash/outputs/s3.rb
CHANGED
@@ -197,7 +197,7 @@ class LogStash::Outputs::S3 < LogStash::Outputs::Base
|
|
197
197
|
raise LogStash::ConfigurationError, "Logstash must have the permissions to write to the temporary directory: #{@temporary_directory}"
|
198
198
|
end
|
199
199
|
|
200
|
-
if @validate_credentials_on_root_bucket && !WriteBucketPermissionValidator.new(@logger).valid?(bucket_resource)
|
200
|
+
if @validate_credentials_on_root_bucket && !WriteBucketPermissionValidator.new(@logger).valid?(bucket_resource, upload_options)
|
201
201
|
raise LogStash::ConfigurationError, "Logstash must have the privileges to write to root bucket `#{@bucket}`, check your credentials or your permissions."
|
202
202
|
end
|
203
203
|
|
@@ -13,7 +13,7 @@ module LogStash
|
|
13
13
|
@logger = logger
|
14
14
|
end
|
15
15
|
|
16
|
-
def valid?(bucket_resource)
|
16
|
+
def valid?(bucket_resource, upload_options = {})
|
17
17
|
begin
|
18
18
|
upload_test_file(bucket_resource)
|
19
19
|
true
|
@@ -28,7 +28,7 @@ module LogStash
|
|
28
28
|
end
|
29
29
|
|
30
30
|
private
|
31
|
-
def upload_test_file(bucket_resource)
|
31
|
+
def upload_test_file(bucket_resource, upload_options = {})
|
32
32
|
generated_at = Time.now
|
33
33
|
|
34
34
|
key = "logstash-programmatic-access-test-object-#{generated_at}"
|
@@ -40,7 +40,7 @@ module LogStash
|
|
40
40
|
f.fsync
|
41
41
|
|
42
42
|
obj = bucket_resource.object(key)
|
43
|
-
obj.upload_file(f)
|
43
|
+
obj.upload_file(f, upload_options)
|
44
44
|
|
45
45
|
begin
|
46
46
|
obj.delete
|
data/logstash-output-s3.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-output-s3'
|
3
|
-
s.version = '4.0.
|
3
|
+
s.version = '4.0.12'
|
4
4
|
s.licenses = ['Apache-2.0']
|
5
5
|
s.summary = "This plugin was created for store the logstash's events into Amazon Simple Storage Service (Amazon S3)"
|
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/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -9,6 +9,7 @@ describe LogStash::Outputs::S3::WriteBucketPermissionValidator do
|
|
9
9
|
let(:obj) { double("s3_object") }
|
10
10
|
let(:client) { Aws::S3::Client.new(stub_responses: true) }
|
11
11
|
let(:bucket) { Aws::S3::Bucket.new(bucket_name, :client => client) }
|
12
|
+
let(:upload_options) { {} }
|
12
13
|
|
13
14
|
subject { described_class.new(logger) }
|
14
15
|
|
@@ -20,20 +21,20 @@ describe LogStash::Outputs::S3::WriteBucketPermissionValidator do
|
|
20
21
|
it "returns true" do
|
21
22
|
expect(obj).to receive(:upload_file).with(any_args).and_return(true)
|
22
23
|
expect(obj).to receive(:delete).and_return(true)
|
23
|
-
expect(subject.valid?(bucket)).to be_truthy
|
24
|
+
expect(subject.valid?(bucket, upload_options)).to be_truthy
|
24
25
|
end
|
25
26
|
|
26
27
|
it "hides delete errors" do
|
27
28
|
expect(obj).to receive(:upload_file).with(any_args).and_return(true)
|
28
29
|
expect(obj).to receive(:delete).and_raise(StandardError)
|
29
|
-
expect(subject.valid?(bucket)).to be_truthy
|
30
|
+
expect(subject.valid?(bucket, upload_options)).to be_truthy
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
33
34
|
context "when permission aren't sufficient" do
|
34
35
|
it "returns false" do
|
35
36
|
expect(obj).to receive(:upload_file).with(any_args).and_raise(StandardError)
|
36
|
-
expect(subject.valid?(bucket)).to be_falsey
|
37
|
+
expect(subject.valid?(bucket, upload_options)).to be_falsey
|
37
38
|
end
|
38
39
|
end
|
39
40
|
end
|
data/spec/outputs/s3_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe LogStash::Outputs::S3 do
|
|
25
25
|
|
26
26
|
before do
|
27
27
|
allow(subject).to receive(:bucket_resource).and_return(mock_bucket)
|
28
|
-
allow_any_instance_of(LogStash::Outputs::S3::WriteBucketPermissionValidator).to receive(:valid?).with(mock_bucket).and_return(true)
|
28
|
+
allow_any_instance_of(LogStash::Outputs::S3::WriteBucketPermissionValidator).to receive(:valid?).with(mock_bucket, subject.upload_options).and_return(true)
|
29
29
|
end
|
30
30
|
|
31
31
|
context "#register configuration validation" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-s3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|