logstash-input-oss 0.0.1-java

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.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2 -0
  3. data/CONTRIBUTORS +10 -0
  4. data/DEVELOPER.md +10 -0
  5. data/Gemfile +2 -0
  6. data/LICENSE +11 -0
  7. data/README.md +143 -0
  8. data/lib/com/aliyun/aliyun-java-sdk-core/3.4.0/aliyun-java-sdk-core-3.4.0.jar +0 -0
  9. data/lib/com/aliyun/aliyun-java-sdk-ecs/4.2.0/aliyun-java-sdk-ecs-4.2.0.jar +0 -0
  10. data/lib/com/aliyun/aliyun-java-sdk-ram/3.0.0/aliyun-java-sdk-ram-3.0.0.jar +0 -0
  11. data/lib/com/aliyun/aliyun-java-sdk-sts/3.0.0/aliyun-java-sdk-sts-3.0.0.jar +0 -0
  12. data/lib/com/aliyun/oss/aliyun-sdk-oss/3.4.0/aliyun-sdk-oss-3.4.0.jar +0 -0
  13. data/lib/com/sun/jersey/jersey-core/1.9/jersey-core-1.9.jar +0 -0
  14. data/lib/com/sun/jersey/jersey-json/1.9/jersey-json-1.9.jar +0 -0
  15. data/lib/com/sun/xml/bind/jaxb-impl/2.2.3-1/jaxb-impl-2.2.3-1.jar +0 -0
  16. data/lib/commons-codec/commons-codec/1.9/commons-codec-1.9.jar +0 -0
  17. data/lib/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +0 -0
  18. data/lib/javax/activation/activation/1.1/activation-1.1.jar +0 -0
  19. data/lib/javax/xml/bind/jaxb-api/2.2.2/jaxb-api-2.2.2.jar +0 -0
  20. data/lib/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar +0 -0
  21. data/lib/logstash-input-oss_jars.rb +54 -0
  22. data/lib/logstash/inputs/mns/message.rb +53 -0
  23. data/lib/logstash/inputs/mns/request.rb +85 -0
  24. data/lib/logstash/inputs/oss.rb +382 -0
  25. data/lib/logstash/inputs/version.rb +14 -0
  26. data/lib/org/apache/httpcomponents/httpclient/4.4.1/httpclient-4.4.1.jar +0 -0
  27. data/lib/org/apache/httpcomponents/httpcore/4.4.1/httpcore-4.4.1.jar +0 -0
  28. data/lib/org/codehaus/jackson/jackson-core-asl/1.8.3/jackson-core-asl-1.8.3.jar +0 -0
  29. data/lib/org/codehaus/jackson/jackson-jaxrs/1.8.3/jackson-jaxrs-1.8.3.jar +0 -0
  30. data/lib/org/codehaus/jackson/jackson-mapper-asl/1.8.3/jackson-mapper-asl-1.8.3.jar +0 -0
  31. data/lib/org/codehaus/jackson/jackson-xc/1.8.3/jackson-xc-1.8.3.jar +0 -0
  32. data/lib/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar +0 -0
  33. data/lib/org/jdom/jdom/1.1/jdom-1.1.jar +0 -0
  34. data/lib/org/json/json/20170516/json-20170516.jar +0 -0
  35. data/lib/stax/stax-api/1.0.1/stax-api-1.0.1.jar +0 -0
  36. data/logstash-input-oss.gemspec +33 -0
  37. data/spec/integration/common.rb +79 -0
  38. data/spec/integration/oss_spec.rb +73 -0
  39. data/spec/sample/uncompressed.log +37 -0
  40. data/spec/sample/uncompressed.log.1.gz +0 -0
  41. metadata +249 -0
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+
3
+ module LogStash
4
+ module Inputs
5
+ class OSS
6
+ class Version
7
+ VERSION = "0.0.1"
8
+ def self.version
9
+ VERSION
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
Binary file
@@ -0,0 +1,33 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'logstash-input-oss'
3
+ s.version = '0.0.1'
4
+ s.licenses = ['Apache-2.0']
5
+ s.summary = 'Streams events from files in an OSS(Aliyun Object Storage Service) bucket'
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 gem-name. This gem is not a stand-alone program"
7
+ s.authors = ['Jinhu Wu']
8
+ s.email = 'jinhu.wu.nju@gmail.com'
9
+ s.require_paths = ['lib']
10
+ s.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html"
11
+
12
+ # Files
13
+ s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','CONTRIBUTORS','Gemfile','LICENSE','NOTICE.TXT']
14
+ # Tests
15
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
+
17
+ # Special flag to let us know this is actually a logstash plugin
18
+ s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
19
+
20
+ # Gem dependencies
21
+ s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
22
+ s.add_runtime_dependency "logstash-codec-plain", "~> 3.0"
23
+ s.add_runtime_dependency "concurrent-ruby", "~> 1.0"
24
+ s.add_runtime_dependency "nokogiri", '~> 1.10', '>= 1.10.0'
25
+ s.add_runtime_dependency "rest-client", '~> 1.8', '>= 1.8.0'
26
+ s.add_runtime_dependency "uuid", '~> 2.3', '>= 2.3.9'
27
+ s.add_runtime_dependency 'stud', '~> 0.0.18'
28
+ s.add_development_dependency "logstash-devutils", "~> 1.3"
29
+ s.add_development_dependency "logstash-codec-line", "~> 3.0"
30
+ s.platform = 'java'
31
+ s.add_runtime_dependency 'jar-dependencies', '~> 0.3'
32
+ s.requirements << 'jar com.aliyun.oss:aliyun-sdk-oss, 3.4.0'
33
+ end
@@ -0,0 +1,79 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'logstash/devutils/rspec/spec_helper'
4
+ require 'logstash/logging/logger'
5
+ require 'logstash/inputs/oss'
6
+
7
+ java_import 'com.aliyun.oss.model.GetObjectRequest'
8
+
9
+ # This file contains the common logic used by integration tests
10
+ shared_context "plugin initialize" do
11
+ let(:endpoint) { ENV['OSS_ENDPOINT'] }
12
+ let(:bucket) { ENV['OSS_BUCKET'] }
13
+ let(:access_key_id) { ENV['OSS_ACCESS_KEY'] }
14
+ let(:access_key_secret) { ENV['OSS_SECRET_KEY'] }
15
+ let(:backup_add_prefix) { 'input-oss/' }
16
+ let(:backup_to_bucket) { ENV['BACKUP_BUCKET'] }
17
+ let(:backup_to_dir) { ENV['BACKUP_DIR'] }
18
+ let(:common_configurations) do
19
+ {
20
+ "endpoint" => endpoint,
21
+ "bucket" => bucket,
22
+ "access_key_id" => access_key_id,
23
+ "access_key_secret" => access_key_secret,
24
+ "stop_for_test" => true,
25
+ "include_object_properties" => true,
26
+ "mns_settings" => {
27
+ "endpoint" => ENV['MNS_ENDPOINT'],
28
+ "queue" => ENV['MNS_QUEUE'],
29
+ "poll_interval_seconds" => 3,
30
+ "wait_seconds" => 3
31
+ }
32
+ }
33
+ end
34
+
35
+ LogStash::Logging::Logger::configure_logging("debug") if ENV["DEBUG"]
36
+
37
+ let(:oss) { OSSClientBuilder.new().build(endpoint, access_key_id, access_key_secret) }
38
+ end
39
+
40
+ def fetch_events(settings, size)
41
+ queue = []
42
+ input = LogStash::Inputs::OSS.new(settings)
43
+ input.register
44
+ thread = Thread.start do
45
+ input.run(queue)
46
+ end
47
+
48
+ thread.join
49
+
50
+ expect(queue.size).to eq(size)
51
+ end
52
+
53
+ # remove object with `prefix`
54
+ def clean_bucket(bucket)
55
+ oss.listObjects(bucket, "").getObjectSummaries().each do |objectSummary|
56
+ oss.deleteObject(bucket, objectSummary.getKey())
57
+ end
58
+ end
59
+
60
+ def delete_bucket(bucket)
61
+ oss.deleteBucket(bucket)
62
+ end
63
+
64
+ def list_remote_files(bucket, prefix)
65
+ oss.listObjects(bucket, prefix).getObjectSummaries().collect(&:getKey)
66
+ end
67
+
68
+ def upload_local_file(local_file, remote_file_name)
69
+ file = File.join(File.dirname(__FILE__), local_file)
70
+ oss.putObject(bucket, remote_file_name, java.io.File.new(file))
71
+ end
72
+
73
+ def upload(prefix)
74
+ upload_local_file('../sample/uncompressed.log', "uncompressed.log/")
75
+ upload_local_file('../sample/uncompressed.log', "uncompressed.log")
76
+ upload_local_file('../sample/uncompressed.log', "uncompressed.log.1.gz")
77
+ upload_local_file('../sample/uncompressed.log', "#{prefix}uncompressed.log")
78
+ upload_local_file('../sample/uncompressed.log.1.gz', "#{prefix}exclude/uncompressed.log.1.gz")
79
+ end
@@ -0,0 +1,73 @@
1
+ # encoding: utf-8
2
+ require 'rspec'
3
+ require_relative 'common'
4
+
5
+ describe 'integration tests', :integration => true do
6
+ include_context 'plugin initialize'
7
+
8
+ before do
9
+ Thread.abort_on_exception = true
10
+ end
11
+
12
+ after do
13
+ clean_bucket(bucket)
14
+ FileUtils.rm_rf(backup_to_dir)
15
+ end
16
+
17
+ it "backup to another bucket" do
18
+ prefix = rand(999999).to_s + '/'
19
+ upload(prefix)
20
+ fetch_events(common_configurations.merge(
21
+ { "backup_to_bucket" => backup_to_bucket,
22
+ "backup_add_prefix" => backup_add_prefix,
23
+ "prefix" => prefix,
24
+ }), 74)
25
+ expect(list_remote_files(backup_to_bucket, backup_add_prefix).size).to eq(2)
26
+ expect(list_remote_files(bucket, prefix).size).to eq(2)
27
+ clean_bucket(backup_to_bucket)
28
+ delete_bucket(backup_to_bucket)
29
+ end
30
+
31
+ it "delete after backup" do
32
+ prefix = rand(999999).to_s + '/'
33
+ upload(prefix)
34
+ fetch_events(common_configurations.merge(
35
+ { "backup_to_bucket" => backup_to_bucket,
36
+ "backup_add_prefix" => backup_add_prefix,
37
+ "prefix" => prefix,
38
+ "delete" => true
39
+ }), 74)
40
+ expect(list_remote_files(backup_to_bucket, backup_add_prefix).size).to eq(2)
41
+ expect(list_remote_files(bucket, prefix).size).to eq(0)
42
+ clean_bucket(backup_to_bucket)
43
+ delete_bucket(backup_to_bucket)
44
+ end
45
+
46
+ it "backup to local dir" do
47
+ prefix = rand(999999).to_s + '/'
48
+ upload(prefix)
49
+ fetch_events(common_configurations.merge(
50
+ {
51
+ "backup_to_dir" => backup_to_dir,
52
+ "prefix" => prefix,
53
+ "delete" => true
54
+ }), 74)
55
+ expect(list_remote_files(bucket, prefix).size).to eq(0)
56
+ expect(Dir.glob("#{backup_to_dir}/**/*").size).to eq(4)
57
+ end
58
+
59
+ it "exclude pattern" do
60
+ prefix = rand(999999).to_s + '/'
61
+ upload(prefix)
62
+ fetch_events(common_configurations.merge(
63
+ { "backup_to_bucket" => backup_to_bucket,
64
+ "backup_add_prefix" => backup_add_prefix,
65
+ "prefix" => prefix,
66
+ "exclude_pattern" => "^" + prefix + "exclude"
67
+ }), 37)
68
+ expect(list_remote_files(backup_to_bucket, backup_add_prefix).size).to eq(1)
69
+ expect(list_remote_files(bucket, prefix).size).to eq(2)
70
+ clean_bucket(backup_to_bucket)
71
+ delete_bucket(backup_to_bucket)
72
+ end
73
+ end
@@ -0,0 +1,37 @@
1
+ 2019-06-11 20:45:35,798 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891466_150647]
2
+ 2019-06-11 20:45:35,798 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891466_150647]
3
+ 2019-06-11 20:45:38,799 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891466_150647]
4
+ 2019-06-11 20:46:35,800 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891467_150648]
5
+ 2019-06-11 20:46:35,800 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891467_150648]
6
+ 2019-06-11 20:46:38,801 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891467_150648]
7
+ 2019-06-11 20:47:35,802 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891468_150649]
8
+ 2019-06-11 20:47:35,802 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891468_150649]
9
+ 2019-06-11 20:47:38,803 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891468_150649]
10
+ 2019-06-11 20:48:41,804 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891469_150650]
11
+ 2019-06-11 20:48:41,805 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891469_150650]
12
+ 2019-06-11 20:48:44,805 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891469_150650]
13
+ 2019-06-11 20:49:44,807 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891470_150651]
14
+ 2019-06-11 20:49:44,807 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891470_150651]
15
+ 2019-06-11 20:49:47,807 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891470_150651]
16
+ 2019-06-11 20:50:44,808 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891471_150652]
17
+ 2019-06-11 20:50:44,809 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891471_150652]
18
+ 2019-06-11 20:50:47,809 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891471_150652]
19
+ 2019-06-11 20:51:44,810 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891472_150653]
20
+ 2019-06-11 20:51:44,810 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891472_150653]
21
+ 2019-06-11 20:51:47,811 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891472_150653]
22
+ 2019-06-11 20:52:44,812 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891473_150654]
23
+ 2019-06-11 20:52:44,812 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891473_150654]
24
+ 2019-06-11 20:52:47,813 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891473_150654]
25
+ 2019-06-11 20:53:50,815 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891474_150655]
26
+ 2019-06-11 20:53:50,815 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891474_150655]
27
+ 2019-06-11 20:53:53,815 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891474_150655]
28
+ 2019-06-11 20:54:56,817 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891475_150656]
29
+ 2019-06-11 20:54:56,817 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891475_150656]
30
+ 2019-06-11 20:54:59,817 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891475_150656]
31
+ 2019-06-11 20:55:56,819 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891476_150657]
32
+ 2019-06-11 20:55:56,819 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891476_150657]
33
+ 2019-06-11 20:55:59,819 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891476_150657]
34
+ 2019-06-11 20:56:56,821 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.173:50010 to delete [blk_1073891477_150658]
35
+ 2019-06-11 20:56:56,821 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.174:50010 to delete [blk_1073891477_150658]
36
+ 2019-06-11 20:56:59,821 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.172:50010 to delete [blk_1073891477_150658]
37
+ 2019-06-11 20:57:38,822 INFO BlockStateChange: BLOCK* BlockManager: ask 192.168.0.175:50010 to delete [blk_1073891482_150663]
Binary file
metadata ADDED
@@ -0,0 +1,249 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-input-oss
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: java
6
+ authors:
7
+ - Jinhu Wu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-07-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ name: logstash-core-plugin-api
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ name: logstash-codec-plain
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ name: concurrent-ruby
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.10'
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.10.0
64
+ name: nokogiri
65
+ prerelease: false
66
+ type: :runtime
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.10'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.10.0
75
+ - !ruby/object:Gem::Dependency
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.8'
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 1.8.0
84
+ name: rest-client
85
+ prerelease: false
86
+ type: :runtime
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '1.8'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 1.8.0
95
+ - !ruby/object:Gem::Dependency
96
+ requirement: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '2.3'
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 2.3.9
104
+ name: uuid
105
+ prerelease: false
106
+ type: :runtime
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.3'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 2.3.9
115
+ - !ruby/object:Gem::Dependency
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: 0.0.18
121
+ name: stud
122
+ prerelease: false
123
+ type: :runtime
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: 0.0.18
129
+ - !ruby/object:Gem::Dependency
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '1.3'
135
+ name: logstash-devutils
136
+ prerelease: false
137
+ type: :development
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - "~>"
141
+ - !ruby/object:Gem::Version
142
+ version: '1.3'
143
+ - !ruby/object:Gem::Dependency
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '3.0'
149
+ name: logstash-codec-line
150
+ prerelease: false
151
+ type: :development
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: '3.0'
157
+ - !ruby/object:Gem::Dependency
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: '0.3'
163
+ name: jar-dependencies
164
+ prerelease: false
165
+ type: :runtime
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: '0.3'
171
+ description: This gem is a Logstash plugin required to be installed on top of the
172
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gem-name. This
173
+ gem is not a stand-alone program
174
+ email: jinhu.wu.nju@gmail.com
175
+ executables: []
176
+ extensions: []
177
+ extra_rdoc_files: []
178
+ files:
179
+ - CHANGELOG.md
180
+ - CONTRIBUTORS
181
+ - DEVELOPER.md
182
+ - Gemfile
183
+ - LICENSE
184
+ - README.md
185
+ - lib/com/aliyun/aliyun-java-sdk-core/3.4.0/aliyun-java-sdk-core-3.4.0.jar
186
+ - lib/com/aliyun/aliyun-java-sdk-ecs/4.2.0/aliyun-java-sdk-ecs-4.2.0.jar
187
+ - lib/com/aliyun/aliyun-java-sdk-ram/3.0.0/aliyun-java-sdk-ram-3.0.0.jar
188
+ - lib/com/aliyun/aliyun-java-sdk-sts/3.0.0/aliyun-java-sdk-sts-3.0.0.jar
189
+ - lib/com/aliyun/oss/aliyun-sdk-oss/3.4.0/aliyun-sdk-oss-3.4.0.jar
190
+ - lib/com/sun/jersey/jersey-core/1.9/jersey-core-1.9.jar
191
+ - lib/com/sun/jersey/jersey-json/1.9/jersey-json-1.9.jar
192
+ - lib/com/sun/xml/bind/jaxb-impl/2.2.3-1/jaxb-impl-2.2.3-1.jar
193
+ - lib/commons-codec/commons-codec/1.9/commons-codec-1.9.jar
194
+ - lib/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
195
+ - lib/javax/activation/activation/1.1/activation-1.1.jar
196
+ - lib/javax/xml/bind/jaxb-api/2.2.2/jaxb-api-2.2.2.jar
197
+ - lib/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar
198
+ - lib/logstash-input-oss_jars.rb
199
+ - lib/logstash/inputs/mns/message.rb
200
+ - lib/logstash/inputs/mns/request.rb
201
+ - lib/logstash/inputs/oss.rb
202
+ - lib/logstash/inputs/version.rb
203
+ - lib/org/apache/httpcomponents/httpclient/4.4.1/httpclient-4.4.1.jar
204
+ - lib/org/apache/httpcomponents/httpcore/4.4.1/httpcore-4.4.1.jar
205
+ - lib/org/codehaus/jackson/jackson-core-asl/1.8.3/jackson-core-asl-1.8.3.jar
206
+ - lib/org/codehaus/jackson/jackson-jaxrs/1.8.3/jackson-jaxrs-1.8.3.jar
207
+ - lib/org/codehaus/jackson/jackson-mapper-asl/1.8.3/jackson-mapper-asl-1.8.3.jar
208
+ - lib/org/codehaus/jackson/jackson-xc/1.8.3/jackson-xc-1.8.3.jar
209
+ - lib/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar
210
+ - lib/org/jdom/jdom/1.1/jdom-1.1.jar
211
+ - lib/org/json/json/20170516/json-20170516.jar
212
+ - lib/stax/stax-api/1.0.1/stax-api-1.0.1.jar
213
+ - logstash-input-oss.gemspec
214
+ - spec/integration/common.rb
215
+ - spec/integration/oss_spec.rb
216
+ - spec/sample/uncompressed.log
217
+ - spec/sample/uncompressed.log.1.gz
218
+ homepage: http://www.elastic.co/guide/en/logstash/current/index.html
219
+ licenses:
220
+ - Apache-2.0
221
+ metadata:
222
+ logstash_plugin: 'true'
223
+ logstash_group: input
224
+ post_install_message:
225
+ rdoc_options: []
226
+ require_paths:
227
+ - lib
228
+ required_ruby_version: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ required_rubygems_version: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ requirements:
239
+ - jar com.aliyun.oss:aliyun-sdk-oss, 3.4.0
240
+ rubyforge_project:
241
+ rubygems_version: 2.7.6
242
+ signing_key:
243
+ specification_version: 4
244
+ summary: Streams events from files in an OSS(Aliyun Object Storage Service) bucket
245
+ test_files:
246
+ - spec/integration/common.rb
247
+ - spec/integration/oss_spec.rb
248
+ - spec/sample/uncompressed.log
249
+ - spec/sample/uncompressed.log.1.gz