logstash-output-google_cloud_storage 4.0.1-java → 4.2.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/LICENSE +199 -10
  5. data/README.md +1 -1
  6. data/docs/index.asciidoc +11 -4
  7. data/lib/logstash/outputs/gcs/log_rotate.rb +4 -4
  8. data/lib/logstash/outputs/google_cloud_storage.rb +20 -19
  9. data/lib/logstash-output-google_cloud_storage_jars.rb +35 -31
  10. data/logstash-output-google_cloud_storage.gemspec +9 -6
  11. data/spec/outputs/gcs/log_rotate_spec.rb +13 -13
  12. data/spec/outputs/gcs/path_factory_spec.rb +2 -2
  13. data/spec/outputs/google_cloud_storage_spec.rb +78 -1
  14. data/vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-core/2.13.3/jackson-core-2.13.3.jar +0 -0
  15. data/vendor/jar-dependencies/com/google/api/api-common/2.0.0/api-common-2.0.0.jar +0 -0
  16. data/vendor/jar-dependencies/com/google/api/gax/2.0.0/gax-2.0.0.jar +0 -0
  17. data/vendor/jar-dependencies/com/google/api/gax-httpjson/0.85.0/gax-httpjson-0.85.0.jar +0 -0
  18. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.3.2/proto-google-common-protos-2.3.2.jar +0 -0
  19. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.0.14/proto-google-iam-v1-1.0.14.jar +0 -0
  20. data/vendor/jar-dependencies/com/google/api-client/google-api-client/1.32.1/google-api-client-1.32.1.jar +0 -0
  21. data/vendor/jar-dependencies/com/google/apis/google-api-services-storage/v1-rev20210127-1.32.1/google-api-services-storage-v1-rev20210127-1.32.1.jar +0 -0
  22. data/vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.0.0/google-auth-library-credentials-1.0.0.jar +0 -0
  23. data/vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.0.0/google-auth-library-oauth2-http-1.0.0.jar +0 -0
  24. data/vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.8.2/auto-value-annotations-1.8.2.jar +0 -0
  25. data/vendor/jar-dependencies/com/google/cloud/google-cloud-core/2.0.2/google-cloud-core-2.0.2.jar +0 -0
  26. data/vendor/jar-dependencies/com/google/cloud/google-cloud-core-http/2.0.2/google-cloud-core-http-2.0.2.jar +0 -0
  27. data/vendor/jar-dependencies/com/google/cloud/google-cloud-storage/1.118.1/google-cloud-storage-1.118.1.jar +0 -0
  28. data/vendor/jar-dependencies/com/google/code/gson/gson/2.8.7/gson-2.8.7.jar +0 -0
  29. data/vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.8.1/error_prone_annotations-2.8.1.jar +0 -0
  30. data/vendor/jar-dependencies/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar +0 -0
  31. data/vendor/jar-dependencies/com/google/guava/guava/30.1.1-jre/guava-30.1.1-jre.jar +0 -0
  32. data/vendor/jar-dependencies/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar +0 -0
  33. data/vendor/jar-dependencies/com/google/http-client/google-http-client/1.39.2/google-http-client-1.39.2.jar +0 -0
  34. data/vendor/jar-dependencies/com/google/http-client/google-http-client-apache-v2/1.39.2/google-http-client-apache-v2-1.39.2.jar +0 -0
  35. data/vendor/jar-dependencies/com/google/http-client/google-http-client-appengine/1.39.2/google-http-client-appengine-1.39.2.jar +0 -0
  36. data/vendor/jar-dependencies/com/google/http-client/google-http-client-gson/1.39.2/google-http-client-gson-1.39.2.jar +0 -0
  37. data/vendor/jar-dependencies/com/google/http-client/google-http-client-jackson2/1.39.2/google-http-client-jackson2-1.39.2.jar +0 -0
  38. data/vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar +0 -0
  39. data/vendor/jar-dependencies/com/google/oauth-client/google-oauth-client/1.31.5/google-oauth-client-1.31.5.jar +0 -0
  40. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.17.3/protobuf-java-3.17.3.jar +0 -0
  41. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.17.3/protobuf-java-util-3.17.3.jar +0 -0
  42. data/vendor/jar-dependencies/io/grpc/grpc-context/1.39.0/grpc-context-1.39.0.jar +0 -0
  43. data/vendor/jar-dependencies/io/opencensus/opencensus-api/0.28.0/opencensus-api-0.28.0.jar +0 -0
  44. data/vendor/jar-dependencies/io/opencensus/opencensus-contrib-http-util/0.28.0/opencensus-contrib-http-util-0.28.0.jar +0 -0
  45. data/vendor/jar-dependencies/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar +0 -0
  46. data/vendor/jar-dependencies/org/checkerframework/checker-qual/3.8.0/checker-qual-3.8.0.jar +0 -0
  47. data/vendor/jar-dependencies/org/logstash/inputs/plugin/4.2.0/plugin-4.2.0.jar +0 -0
  48. data/vendor/jar-dependencies/org/threeten/threetenbp/1.5.1/threetenbp-1.5.1.jar +0 -0
  49. data/version +1 -0
  50. metadata +68 -36
  51. data/vendor/jar-dependencies/com/google/api/api-common/1.7.0/api-common-1.7.0.jar +0 -0
  52. data/vendor/jar-dependencies/com/google/api/gax/1.30.0/gax-1.30.0.jar +0 -0
  53. data/vendor/jar-dependencies/com/google/api/gax-httpjson/0.47.0/gax-httpjson-0.47.0.jar +0 -0
  54. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar +0 -0
  55. data/vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/0.12.0/proto-google-iam-v1-0.12.0.jar +0 -0
  56. data/vendor/jar-dependencies/com/google/api-client/google-api-client/1.24.1/google-api-client-1.24.1.jar +0 -0
  57. data/vendor/jar-dependencies/com/google/apis/google-api-services-storage/v1-rev135-1.24.1/google-api-services-storage-v1-rev135-1.24.1.jar +0 -0
  58. data/vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/0.10.0/google-auth-library-credentials-0.10.0.jar +0 -0
  59. data/vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/0.10.0/google-auth-library-oauth2-http-0.10.0.jar +0 -0
  60. data/vendor/jar-dependencies/com/google/cloud/google-cloud-core/1.39.0/google-cloud-core-1.39.0.jar +0 -0
  61. data/vendor/jar-dependencies/com/google/cloud/google-cloud-core-http/1.39.0/google-cloud-core-http-1.39.0.jar +0 -0
  62. data/vendor/jar-dependencies/com/google/cloud/google-cloud-storage/1.39.0/google-cloud-storage-1.39.0.jar +0 -0
  63. data/vendor/jar-dependencies/com/google/code/gson/gson/2.7/gson-2.7.jar +0 -0
  64. data/vendor/jar-dependencies/com/google/guava/guava/20.0/guava-20.0.jar +0 -0
  65. data/vendor/jar-dependencies/com/google/http-client/google-http-client/1.24.1/google-http-client-1.24.1.jar +0 -0
  66. data/vendor/jar-dependencies/com/google/http-client/google-http-client-appengine/1.24.1/google-http-client-appengine-1.24.1.jar +0 -0
  67. data/vendor/jar-dependencies/com/google/http-client/google-http-client-jackson/1.24.1/google-http-client-jackson-1.24.1.jar +0 -0
  68. data/vendor/jar-dependencies/com/google/http-client/google-http-client-jackson2/1.24.1/google-http-client-jackson2-1.24.1.jar +0 -0
  69. data/vendor/jar-dependencies/com/google/oauth-client/google-oauth-client/1.24.1/google-oauth-client-1.24.1.jar +0 -0
  70. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.6.0/protobuf-java-3.6.0.jar +0 -0
  71. data/vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.6.0/protobuf-java-util-3.6.0.jar +0 -0
  72. data/vendor/jar-dependencies/commons-codec/commons-codec/1.9/commons-codec-1.9.jar +0 -0
  73. data/vendor/jar-dependencies/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +0 -0
  74. data/vendor/jar-dependencies/io/grpc/grpc-context/1.12.0/grpc-context-1.12.0.jar +0 -0
  75. data/vendor/jar-dependencies/io/opencensus/opencensus-api/0.15.0/opencensus-api-0.15.0.jar +0 -0
  76. data/vendor/jar-dependencies/io/opencensus/opencensus-contrib-http-util/0.15.0/opencensus-contrib-http-util-0.15.0.jar +0 -0
  77. data/vendor/jar-dependencies/joda-time/joda-time/2.9.2/joda-time-2.9.2.jar +0 -0
  78. data/vendor/jar-dependencies/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar +0 -0
  79. data/vendor/jar-dependencies/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar +0 -0
  80. data/vendor/jar-dependencies/org/codehaus/jackson/jackson-core-asl/1.9.11/jackson-core-asl-1.9.11.jar +0 -0
  81. data/vendor/jar-dependencies/org/threeten/threetenbp/1.3.3/threetenbp-1.3.3.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4aa7c73beda983444233b7943c788a49c2a9a7ac56218e78dce4bbe1932fb39a
4
- data.tar.gz: 7f88b0005ff2fada77f84d55365693e3a9eb582178923bdf240fe66db3f15ef0
3
+ metadata.gz: b38c4e1b40e1211060b087f636ef4fc0300bba164886e074cc67a03ad66f29a9
4
+ data.tar.gz: 458ff02f9e010e64c7a76b10c915bc1a8f12c18aca60fe6deeae3d558596ea13
5
5
  SHA512:
6
- metadata.gz: dddd13b7892f549aa748efcfd4a8bc16f108bb840c5179006ce12b57f027d55cafc5ed18ad36c03d7c2e2a370460ed1ebec26252323096cda3407eda5158dd94
7
- data.tar.gz: 2195cf539ad95c824a0c1f4f93527c76c6ff9c0ae5c6b9c98d44670004372ef49bd5fdfc843461e3d6879f11818a5bb5ad5103efde785193484ea4b73dcc07a9
6
+ metadata.gz: 5b86d137f987254387c242f79b523b83c67bd5221fcdcdc83c3b8cdb4d6b5a3bfcd5aec63c86f2430e58e84b7b997791a555ec0d14f4aec004bd5ea5dfe3433b
7
+ data.tar.gz: 512f0215310dfcf5a67471029e77ebb76c24104ea36109cb704ded739a35c737b5fa7fe10c36a2426dda776893697fc0679cc96179e57dbd2d20eff23e3efb07
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 4.2.0
2
+ - Updated Google Cloud Storage client library, needs Logstash `>= 8.3.0` to run [#48](https://github.com/logstash-plugins/logstash-output-google_cloud_storage/pull/48)
3
+
4
+ ## 4.1.0
5
+ - Added ability to use Logstash codecs [#42](https://github.com/logstash-plugins/logstash-output-google_cloud_storage/pull/42)
6
+
1
7
  ## 4.0.1
2
8
  - Fixes [#38](https://github.com/logstash-plugins/logstash-output-google_cloud_storage/issues/38) - Plugin doesn't start on logstash 7.1.1 - TypeError
3
9
 
data/CONTRIBUTORS CHANGED
@@ -3,6 +3,7 @@ reports, or in general have helped logstash along its way.
3
3
 
4
4
  Contributors:
5
5
  * Aaron Mildenstein (untergeek)
6
+ * Colin Surprenant (colinsurprenant)
6
7
  * Ethan Estrada (eestrada)
7
8
  * Google LLC.
8
9
  * Jordan Sissel (jordansissel)
data/LICENSE CHANGED
@@ -1,13 +1,202 @@
1
- Copyright (c) 2012-2018 Elasticsearch <http://www.elastic.co>
2
1
 
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
6
5
 
7
- http://www.apache.org/licenses/LICENSE-2.0
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
7
 
9
- Unless required by applicable law or agreed to in writing, software
10
- distributed under the License is distributed on an "AS IS" BASIS,
11
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- See the License for the specific language governing permissions and
13
- limitations under the License.
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2020 Elastic and contributors
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Logstash Plugin
2
2
 
3
- [![Travis Build Status](https://travis-ci.org/logstash-plugins/logstash-output-google_cloud_storage.svg)](https://travis-ci.org/logstash-plugins/logstash-output-google_cloud_storage)
3
+ [![Travis Build Status](https://travis-ci.com/logstash-plugins/logstash-output-google_cloud_storage.svg)](https://travis-ci.com/logstash-plugins/logstash-output-google_cloud_storage)
4
4
 
5
5
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
6
6
 
data/docs/index.asciidoc CHANGED
@@ -1,6 +1,6 @@
1
1
  :plugin: google_cloud_storage
2
2
  :type: output
3
- :default_codec: plain
3
+ :default_codec: line
4
4
 
5
5
  ///////////////////////////////////////////
6
6
  START - GENERATED VARIABLES, DO NOT EDIT!
@@ -101,7 +101,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
101
101
  | <<plugins-{type}s-{plugin}-log_file_prefix>> |<<string,string>>|No
102
102
  | <<plugins-{type}s-{plugin}-max_concurrent_uploads>> |<<number,number>>|No
103
103
  | <<plugins-{type}s-{plugin}-max_file_size_kbytes>> |<<number,number>>|No
104
- | <<plugins-{type}s-{plugin}-output_format>> |<<string,string>>, one of `["json", "plain"]`|No
104
+ | <<plugins-{type}s-{plugin}-output_format>> |<<string,string>>, one of `["json", "plain", nil]`|__Deprecated__
105
105
  | <<plugins-{type}s-{plugin}-service_account>> |<<string,string>>|__Deprecated__
106
106
  | <<plugins-{type}s-{plugin}-temp_directory>> |<<string,string>>|No
107
107
  | <<plugins-{type}s-{plugin}-uploader_interval_secs>> |<<number,number>>|No
@@ -264,11 +264,18 @@ Sets max file size in kbytes. 0 disable max file check.
264
264
  [id="plugins-{type}s-{plugin}-output_format"]
265
265
  ===== `output_format`
266
266
 
267
- * Value can be any of: `json`, `plain`
268
- * Default value is `"plain"`
267
+ * Value can be any of: `json`, `plain`, or no value
268
+ * Default value is no value
269
+
270
+ **Deprecated**, this feature will be removed in the next major release. Use codecs instead.
271
+
272
+ * If you are using the `json` value today, switch to the `json_lines` codec.
273
+ * If you are using the `plain` value today, switch to the `line` codec.
269
274
 
270
275
  The event format you want to store in files. Defaults to plain text.
271
276
 
277
+ Note: if you want to use a codec you MUST not set this value.
278
+
272
279
  [id="plugins-{type}s-{plugin}-service_account"]
273
280
  ===== `service_account`
274
281
 
@@ -19,15 +19,15 @@ module LogStash
19
19
  rotate_log!
20
20
  end
21
21
 
22
- # writeln writes a message and carriage-return character to the open
23
- # log file, rotating and syncing it if necessary.
22
+ # write writes zero or more messages to the open log file
23
+ # rotating and syncing it if necessary.
24
24
  #
25
25
  # nil messages do not get written, but may cause the log to rotate
26
- def writeln(message=nil)
26
+ def write(*messages)
27
27
  @lock.with_write_lock do
28
28
  rotate_log! if should_rotate?
29
29
 
30
- @temp_file.write(message, "\n") unless message.nil?
30
+ @temp_file.write(*messages) unless messages.empty?
31
31
 
32
32
  @temp_file.fsync if @temp_file.time_since_sync >= @flush_interval_secs
33
33
  end
@@ -58,7 +58,6 @@ require "zlib"
58
58
  # temp_directory => "/tmp/logstash-gcs" (optional)
59
59
  # log_file_prefix => "logstash_gcs" (optional)
60
60
  # max_file_size_kbytes => 1024 (optional)
61
- # output_format => "plain" (optional)
62
61
  # date_pattern => "%Y-%m-%dT%H:00" (optional)
63
62
  # flush_interval_secs => 2 (optional)
64
63
  # gzip => false (optional)
@@ -79,6 +78,7 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
79
78
  config_name "google_cloud_storage"
80
79
 
81
80
  concurrency :single
81
+ default :codec, "line"
82
82
 
83
83
  # GCS bucket name, without "gs://" or any other prefix.
84
84
  config :bucket, :validate => :string, :required => true
@@ -104,7 +104,7 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
104
104
  config :max_file_size_kbytes, :validate => :number, :default => 10000
105
105
 
106
106
  # The event format you want to store in files. Defaults to plain text.
107
- config :output_format, :validate => [ "json", "plain" ], :default => "plain"
107
+ config :output_format, :validate => [ "json", "plain", nil ], :default => nil, :deprecated => 'Use codec instead.'
108
108
 
109
109
  # Time pattern for log file, defaults to hourly files.
110
110
  # Must Time.strftime patterns: www.ruby-doc.org/core-2.0/Time.html#method-i-strftime
@@ -154,10 +154,17 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
154
154
 
155
155
  config :max_concurrent_uploads, :validate => :number, :default => 5
156
156
 
157
- public
157
+ attr_accessor :disable_uploader, :active
158
+
158
159
  def register
159
160
  @logger.debug('Registering Google Cloud Storage plugin')
160
161
 
162
+ # NOTE: this is a hacky solution to get around the fact that we used to
163
+ # do our own pseudo-codec processing. This should be removed in the
164
+ # next major release.
165
+ params['codec'] = LogStash::Plugin.lookup('codec', 'json_lines').new if @output_format == 'json'
166
+ params['codec'] = LogStash::Plugin.lookup('codec', 'line').new if @output_format == 'plain'
167
+
161
168
  @workers = LogStash::Outputs::Gcs::WorkerPool.new(@max_concurrent_uploads, @upload_synchronous)
162
169
  initialize_temp_directory
163
170
  initialize_path_factory
@@ -171,25 +178,18 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
171
178
  @content_encoding = @gzip_content_encoding ? 'gzip' : 'identity'
172
179
  end
173
180
 
174
- # Method called for each log event. It writes the event to the current output
181
+ # Method called for incoming log events. It writes the event to the current output
175
182
  # file, flushing depending on flush interval configuration.
176
- public
177
- def receive(event)
178
- @logger.debug('Received event', :event => event)
179
-
180
- if @output_format == 'json'
181
- message = LogStash::Json.dump(event.to_hash)
182
- else
183
- message = event.to_s
184
- end
183
+ def multi_receive_encoded(event_encoded_pairs)
184
+ encoded = event_encoded_pairs.map{ |event, encoded| encoded }
185
+ @logger.debug? && @logger.debug('Received events', :events => encoded)
185
186
 
186
- @log_rotater.writeln(message)
187
+ @log_rotater.write(*encoded)
187
188
  end
188
189
 
189
- public
190
190
  def close
191
191
  @logger.debug('Stopping the plugin, uploading the remaining files.')
192
- Stud.stop!(@registration_thread) unless @registration_thread.nil?
192
+ Stud.stop!(@uploader_thread) unless @uploader_thread.nil?
193
193
 
194
194
  # Force rotate the log. If it contains data it will be submitted
195
195
  # to the work pool and will be uploaded before the plugin stops.
@@ -229,9 +229,11 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
229
229
 
230
230
  # start_uploader periodically sends flush events through the log rotater
231
231
  def start_uploader
232
- @registration_thread = Thread.new do
232
+ return if @disable_uploader
233
+
234
+ @uploader_thread = Thread.new do
233
235
  Stud.interval(@uploader_interval_secs) do
234
- @log_rotater.writeln(nil)
236
+ @log_rotater.write
235
237
  end
236
238
  end
237
239
  end
@@ -272,5 +274,4 @@ class LogStash::Outputs::GoogleCloudStorage < LogStash::Outputs::Base
272
274
  end
273
275
  end
274
276
  end
275
- attr_accessor :active
276
277
  end
@@ -1,35 +1,39 @@
1
1
  # AUTOGENERATED BY THE GRADLE SCRIPT. DO NOT EDIT.
2
2
 
3
3
  require 'jar_dependencies'
4
- require_jar('com.google.cloud', 'google-cloud-storage', '1.39.0')
5
- require_jar('com.google.api', 'api-common', '1.7.0')
6
- require_jar('com.google.api-client', 'google-api-client', '1.24.1')
7
- require_jar('com.google.api', 'gax', '1.30.0')
8
- require_jar('com.google.api', 'gax-httpjson', '0.47.0')
9
- require_jar('com.google.api.grpc', 'proto-google-common-protos', '1.12.0')
10
- require_jar('com.google.api.grpc', 'proto-google-iam-v1', '0.12.0')
11
- require_jar('com.google.apis', 'google-api-services-storage', 'v1-rev135-1.24.1')
12
- require_jar('com.google.auth', 'google-auth-library-credentials', '0.10.0')
13
- require_jar('com.google.auth', 'google-auth-library-oauth2-http', '0.10.0')
14
- require_jar('com.google.cloud', 'google-cloud-core', '1.39.0')
15
- require_jar('com.google.cloud', 'google-cloud-core-http', '1.39.0')
4
+ require_jar('com.google.cloud', 'google-cloud-storage', '1.118.1')
5
+ require_jar('com.google.guava', 'guava', '30.1.1-jre')
6
+ require_jar('com.google.guava', 'failureaccess', '1.0.1')
7
+ require_jar('com.google.guava', 'listenablefuture', '9999.0-empty-to-avoid-conflict-with-guava')
16
8
  require_jar('com.google.code.findbugs', 'jsr305', '3.0.2')
17
- require_jar('com.google.code.gson', 'gson', '2.7')
18
- require_jar('com.google.guava', 'guava', '20.0')
19
- require_jar('com.google.http-client', 'google-http-client', '1.24.1')
20
- require_jar('com.google.http-client', 'google-http-client-appengine', '1.24.1')
21
- require_jar('com.google.http-client', 'google-http-client-jackson', '1.24.1')
22
- require_jar('com.google.http-client', 'google-http-client-jackson2', '1.24.1')
23
- require_jar('com.google.oauth-client', 'google-oauth-client', '1.24.1')
24
- require_jar('com.google.protobuf', 'protobuf-java', '3.6.0')
25
- require_jar('com.google.protobuf', 'protobuf-java-util', '3.6.0')
26
- require_jar('commons-codec', 'commons-codec', '1.9')
27
- require_jar('commons-logging', 'commons-logging', '1.2')
28
- require_jar('io.grpc', 'grpc-context', '1.12.0')
29
- require_jar('io.opencensus', 'opencensus-api', '0.15.0')
30
- require_jar('io.opencensus', 'opencensus-contrib-http-util', '0.15.0')
31
- require_jar('joda-time', 'joda-time', '2.9.2')
32
- require_jar('org.apache.httpcomponents', 'httpclient', '4.5.3')
33
- require_jar('org.apache.httpcomponents', 'httpcore', '4.4.6')
34
- require_jar('org.codehaus.jackson', 'jackson-core-asl', '1.9.11')
35
- require_jar('org.threeten', 'threetenbp', '1.3.3')
9
+ require_jar('org.checkerframework', 'checker-qual', '3.8.0')
10
+ require_jar('com.google.errorprone', 'error_prone_annotations', '2.8.1')
11
+ require_jar('com.google.j2objc', 'j2objc-annotations', '1.3')
12
+ require_jar('com.google.http-client', 'google-http-client', '1.39.2')
13
+ require_jar('io.opencensus', 'opencensus-contrib-http-util', '0.28.0')
14
+ require_jar('com.google.http-client', 'google-http-client-jackson2', '1.39.2')
15
+ require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.13.3')
16
+ require_jar('com.google.api-client', 'google-api-client', '1.32.1')
17
+ require_jar('com.google.oauth-client', 'google-oauth-client', '1.31.5')
18
+ require_jar('com.google.http-client', 'google-http-client-gson', '1.39.2')
19
+ require_jar('com.google.http-client', 'google-http-client-apache-v2', '1.39.2')
20
+ require_jar('com.google.apis', 'google-api-services-storage', 'v1-rev20210127-1.32.1')
21
+ require_jar('com.google.code.gson', 'gson', '2.8.7')
22
+ require_jar('com.google.cloud', 'google-cloud-core', '2.0.2')
23
+ require_jar('com.google.auto.value', 'auto-value-annotations', '1.8.2')
24
+ require_jar('com.google.api.grpc', 'proto-google-common-protos', '2.3.2')
25
+ require_jar('com.google.cloud', 'google-cloud-core-http', '2.0.2')
26
+ require_jar('com.google.http-client', 'google-http-client-appengine', '1.39.2')
27
+ require_jar('com.google.api', 'gax-httpjson', '0.85.0')
28
+ require_jar('com.google.api', 'gax', '2.0.0')
29
+ require_jar('com.google.auth', 'google-auth-library-credentials', '1.0.0')
30
+ require_jar('com.google.auth', 'google-auth-library-oauth2-http', '1.0.0')
31
+ require_jar('com.google.api', 'api-common', '2.0.0')
32
+ require_jar('javax.annotation', 'javax.annotation-api', '1.3.2')
33
+ require_jar('io.opencensus', 'opencensus-api', '0.28.0')
34
+ require_jar('io.grpc', 'grpc-context', '1.39.0')
35
+ require_jar('com.google.api.grpc', 'proto-google-iam-v1', '1.0.14')
36
+ require_jar('com.google.protobuf', 'protobuf-java', '3.17.3')
37
+ require_jar('com.google.protobuf', 'protobuf-java-util', '3.17.3')
38
+ require_jar('org.threeten', 'threetenbp', '1.5.1')
39
+ require_jar('org.logstash.inputs', 'plugin', '4.2.0')
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-google_cloud_storage'
3
- s.version = '4.0.1'
3
+ s.version = ::File.read('version').split("\n").first
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "plugin to upload log events to Google Cloud Storage (GCS)"
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"
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.require_paths = ["lib", "vendor/jar-dependencies"]
11
11
 
12
12
  # Files
13
- s.files = Dir["lib/**/*","spec/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "VERSION", "docs/**/*"]
13
+ s.files = Dir["lib/**/*","spec/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "version", "docs/**/*"]
14
14
 
15
15
  # Tests
16
16
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
@@ -18,16 +18,19 @@ Gem::Specification.new do |s|
18
18
  # Special flag to let us know this is actually a logstash plugin
19
19
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
20
20
 
21
+ # JARs
22
+ s.platform = 'java'
23
+
21
24
  # Gem dependencies
25
+ s.add_runtime_dependency 'logstash-core', '>= 8.3.0'
22
26
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
23
27
 
24
28
  s.add_runtime_dependency 'stud'
25
- s.add_runtime_dependency 'logstash-codec-plain'
29
+ s.add_runtime_dependency 'logstash-codec-line'
30
+ s.add_runtime_dependency 'logstash-codec-json_lines'
26
31
  s.add_runtime_dependency 'mime-types', '~> 2' # last version compatible with ruby 2.x
27
32
  s.add_runtime_dependency 'concurrent-ruby' # use version bundled with Logstash to avoid platform mismatch on plugin install
28
- s.add_development_dependency 'logstash-devutils'
29
33
 
30
- # JARs
31
- s.platform = 'java'
34
+ s.add_development_dependency 'logstash-devutils'
32
35
  end
33
36
 
@@ -27,7 +27,7 @@ describe LogStash::Outputs::Gcs::LogRotate do
27
27
  end
28
28
  end
29
29
 
30
- describe '#writeln' do
30
+ describe '#write' do
31
31
  subject { LogStash::Outputs::Gcs::LogRotate.new(path_factory, 10, false, 30) }
32
32
 
33
33
  it 'does not rotate if size is small and path is the same' do
@@ -35,15 +35,15 @@ describe LogStash::Outputs::Gcs::LogRotate do
35
35
  # once for init
36
36
  expect(path_factory).to receive(:rotate_path!).once
37
37
 
38
- subject.writeln('foo')
38
+ subject.write('foo')
39
39
  end
40
40
 
41
41
  it 'rotates the file if the size is too big' do
42
42
  # once for init, once for writeln
43
43
  expect(path_factory).to receive(:rotate_path!).twice
44
44
 
45
- subject.writeln('this line is longer than ten characters' * 1000)
46
- subject.writeln('flush')
45
+ subject.write('this line is longer than ten characters' * 1000)
46
+ subject.write('flush')
47
47
  end
48
48
 
49
49
  it 'rotates the file if the path changed' do
@@ -51,35 +51,35 @@ describe LogStash::Outputs::Gcs::LogRotate do
51
51
  # once for init, once for writeln
52
52
  expect(path_factory).to receive(:rotate_path!).twice
53
53
 
54
- subject.writeln('foo')
54
+ subject.write('foo')
55
55
  end
56
56
 
57
57
  it 'writes the message' do
58
58
  expect(LogStash::Outputs::Gcs::LogFileFactory).to receive(:create).and_return(open_file_1)
59
- expect(open_file_1).to receive(:write).with('foo', "\n")
59
+ expect(open_file_1).to receive(:write).with('foo', 'bar')
60
60
 
61
- subject.writeln('foo')
61
+ subject.write('foo', 'bar')
62
62
  end
63
63
 
64
- it 'does not write nil messages' do
64
+ it 'does not write if there are no parameters' do
65
65
  expect(LogStash::Outputs::Gcs::LogFileFactory).to receive(:create).and_return(open_file_1)
66
66
  expect(open_file_1).not_to receive(:write)
67
67
 
68
- subject.writeln(nil)
68
+ subject.write
69
69
  end
70
70
 
71
71
  it 'does not fsync if delta less than limit' do
72
72
  expect(LogStash::Outputs::Gcs::LogFileFactory).to receive(:create).and_return(open_file_1)
73
73
  expect(open_file_1).not_to receive(:fsync)
74
74
 
75
- subject.writeln(nil)
75
+ subject.write
76
76
  end
77
77
 
78
78
  it 'fsyncs if delta greater than limit' do
79
79
  expect(LogStash::Outputs::Gcs::LogFileFactory).to receive(:create).and_return(open_file_2)
80
80
  expect(open_file_2).to receive(:fsync)
81
81
 
82
- subject.writeln(nil)
82
+ subject.write
83
83
  end
84
84
  end
85
85
 
@@ -106,10 +106,10 @@ describe LogStash::Outputs::Gcs::LogRotate do
106
106
 
107
107
  it 'opens a new file based on the new path' do
108
108
  expect(LogStash::Outputs::Gcs::LogFileFactory).to receive(:create).and_return(open_file_1, open_file_2)
109
- expect(open_file_2).to receive(:write).with('foo', "\n")
109
+ expect(open_file_2).to receive(:write).with('foo', 'bar')
110
110
 
111
111
  subject.rotate_log!
112
- subject.writeln('foo')
112
+ subject.write('foo', 'bar')
113
113
  end
114
114
  end
115
115
 
@@ -114,13 +114,13 @@ describe LogStash::Outputs::Gcs::PathFactory do
114
114
  builder.set_directory 'dir'
115
115
  builder.set_prefix 'pre'
116
116
  builder.set_include_host false
117
- builder.set_date_pattern '%N'
117
+ builder.set_date_pattern '%s'
118
118
  builder.set_include_part true
119
119
  builder.set_include_uuid false
120
120
  builder.set_is_gzipped false
121
121
  end
122
122
  expect(pf.current_path).to include('part000')
123
-
123
+ sleep(1)
124
124
  pf.rotate_path!
125
125
  expect(pf.current_path).to include('part000')
126
126
  end
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require_relative "../spec_helper"
3
3
  require "tempfile"
4
+ require "json"
4
5
 
5
6
  describe LogStash::Outputs::GoogleCloudStorage do
6
7
 
@@ -15,9 +16,85 @@ describe LogStash::Outputs::GoogleCloudStorage do
15
16
  allow(javaclient).to receive(:initialize_storage).and_return(:javastorage)
16
17
  end
17
18
 
18
- it "should register without errors" do
19
+ it 'should register without errors' do
19
20
  expect { subject.register }.to_not raise_error
20
21
 
21
22
  subject.close
22
23
  end
24
+
25
+ describe '#encode' do
26
+ it 'should dump the event hash if output_format is json' do
27
+ encoded = encode_test({
28
+ :output_format => 'json',
29
+ :event => {'message' => 'contents'}
30
+ })
31
+
32
+ expect(encoded.end_with?("\n")).to eq(true)
33
+
34
+ encoded_hash = JSON.parse(encoded)
35
+ expect(encoded_hash['message']).to eq('contents')
36
+ expect(encoded_hash['@timestamp']).to match(/1970-01-01T00:00:00(\.000)?Z/)
37
+ expect(encoded_hash['host']).to eq('localhost')
38
+ expect(encoded_hash['@version']).to eq('1')
39
+ end
40
+
41
+ it 'should convert to a string if output_format is plain' do
42
+ encoded = encode_test({
43
+ :output_format => 'plain',
44
+ :event => {'message' => 'contents'}
45
+ })
46
+
47
+ expect(encoded).to match(/1970-01-01T00:00:00(\.000)?Z localhost contents\n/)
48
+
49
+ end
50
+
51
+ it 'should call the codec if output_format is blank' do
52
+ encoded = encode_test({
53
+ :output_format => nil,
54
+ :event => {'message' => 'contents'}
55
+ })
56
+
57
+ expect(encoded).to match(/1970-01-01T00:00:00(\.000)?Z localhost contents\n/)
58
+ end
59
+
60
+ it 'should call the codec if no output_format' do
61
+ encoded = encode_test({
62
+ :event => {'message' => 'contents'}
63
+ })
64
+
65
+ expect(encoded).to match(/1970-01-01T00:00:00(\.000)?Z localhost contents\n/)
66
+ end
67
+ end
68
+ end
69
+
70
+ def encode_test(params)
71
+ config = {
72
+ 'bucket' => '',
73
+ 'service_account' => '',
74
+ 'uploader_interval_secs' => 10000,
75
+ 'upload_synchronous' => true,
76
+ }
77
+ config['output_format'] = params[:output_format] if params[:output_format]
78
+
79
+ rotater = double('rotater')
80
+ allow(rotater).to receive(:on_rotate)
81
+ allow(rotater).to receive(:rotate_log!)
82
+
83
+ allow(LogStash::Outputs::Gcs::LogRotate).to receive(:new).and_return(rotater)
84
+
85
+ gcsout = LogStash::Outputs::GoogleCloudStorage.new(config)
86
+ gcsout.disable_uploader = true
87
+ gcsout.register
88
+
89
+ event = LogStash::Event.new(params[:event])
90
+ event.timestamp = LogStash::Timestamp.at(0)
91
+ event.set('host', 'localhost')
92
+
93
+ value = ''
94
+ allow(rotater).to receive(:write){ |line| value = line }
95
+
96
+ gcsout.multi_receive([event])
97
+ gcsout.close
98
+
99
+ value
23
100
  end
data/version ADDED
@@ -0,0 +1 @@
1
+ 4.2.0
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-google_cloud_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.2.0
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-24 00:00:00.000000000 Z
11
+ date: 2022-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 8.3.0
19
+ name: logstash-core
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 8.3.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  requirement: !ruby/object:Gem::Requirement
15
29
  requirements:
@@ -50,7 +64,21 @@ dependencies:
50
64
  - - ">="
51
65
  - !ruby/object:Gem::Version
52
66
  version: '0'
53
- name: logstash-codec-plain
67
+ name: logstash-codec-line
68
+ prerelease: false
69
+ type: :runtime
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ name: logstash-codec-json_lines
54
82
  prerelease: false
55
83
  type: :runtime
56
84
  version_requirements: !ruby/object:Gem::Requirement
@@ -131,38 +159,43 @@ files:
131
159
  - spec/outputs/gcs/worker_pool_spec.rb
132
160
  - spec/outputs/google_cloud_storage_spec.rb
133
161
  - spec/spec_helper.rb
134
- - vendor/jar-dependencies/com/google/api-client/google-api-client/1.24.1/google-api-client-1.24.1.jar
135
- - vendor/jar-dependencies/com/google/api/api-common/1.7.0/api-common-1.7.0.jar
136
- - vendor/jar-dependencies/com/google/api/gax-httpjson/0.47.0/gax-httpjson-0.47.0.jar
137
- - vendor/jar-dependencies/com/google/api/gax/1.30.0/gax-1.30.0.jar
138
- - vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar
139
- - vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/0.12.0/proto-google-iam-v1-0.12.0.jar
140
- - vendor/jar-dependencies/com/google/apis/google-api-services-storage/v1-rev135-1.24.1/google-api-services-storage-v1-rev135-1.24.1.jar
141
- - vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/0.10.0/google-auth-library-credentials-0.10.0.jar
142
- - vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/0.10.0/google-auth-library-oauth2-http-0.10.0.jar
143
- - vendor/jar-dependencies/com/google/cloud/google-cloud-core-http/1.39.0/google-cloud-core-http-1.39.0.jar
144
- - vendor/jar-dependencies/com/google/cloud/google-cloud-core/1.39.0/google-cloud-core-1.39.0.jar
145
- - vendor/jar-dependencies/com/google/cloud/google-cloud-storage/1.39.0/google-cloud-storage-1.39.0.jar
162
+ - vendor/jar-dependencies/com/fasterxml/jackson/core/jackson-core/2.13.3/jackson-core-2.13.3.jar
163
+ - vendor/jar-dependencies/com/google/api-client/google-api-client/1.32.1/google-api-client-1.32.1.jar
164
+ - vendor/jar-dependencies/com/google/api/api-common/2.0.0/api-common-2.0.0.jar
165
+ - vendor/jar-dependencies/com/google/api/gax-httpjson/0.85.0/gax-httpjson-0.85.0.jar
166
+ - vendor/jar-dependencies/com/google/api/gax/2.0.0/gax-2.0.0.jar
167
+ - vendor/jar-dependencies/com/google/api/grpc/proto-google-common-protos/2.3.2/proto-google-common-protos-2.3.2.jar
168
+ - vendor/jar-dependencies/com/google/api/grpc/proto-google-iam-v1/1.0.14/proto-google-iam-v1-1.0.14.jar
169
+ - vendor/jar-dependencies/com/google/apis/google-api-services-storage/v1-rev20210127-1.32.1/google-api-services-storage-v1-rev20210127-1.32.1.jar
170
+ - vendor/jar-dependencies/com/google/auth/google-auth-library-credentials/1.0.0/google-auth-library-credentials-1.0.0.jar
171
+ - vendor/jar-dependencies/com/google/auth/google-auth-library-oauth2-http/1.0.0/google-auth-library-oauth2-http-1.0.0.jar
172
+ - vendor/jar-dependencies/com/google/auto/value/auto-value-annotations/1.8.2/auto-value-annotations-1.8.2.jar
173
+ - vendor/jar-dependencies/com/google/cloud/google-cloud-core-http/2.0.2/google-cloud-core-http-2.0.2.jar
174
+ - vendor/jar-dependencies/com/google/cloud/google-cloud-core/2.0.2/google-cloud-core-2.0.2.jar
175
+ - vendor/jar-dependencies/com/google/cloud/google-cloud-storage/1.118.1/google-cloud-storage-1.118.1.jar
146
176
  - vendor/jar-dependencies/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
147
- - vendor/jar-dependencies/com/google/code/gson/gson/2.7/gson-2.7.jar
148
- - vendor/jar-dependencies/com/google/guava/guava/20.0/guava-20.0.jar
149
- - vendor/jar-dependencies/com/google/http-client/google-http-client-appengine/1.24.1/google-http-client-appengine-1.24.1.jar
150
- - vendor/jar-dependencies/com/google/http-client/google-http-client-jackson/1.24.1/google-http-client-jackson-1.24.1.jar
151
- - vendor/jar-dependencies/com/google/http-client/google-http-client-jackson2/1.24.1/google-http-client-jackson2-1.24.1.jar
152
- - vendor/jar-dependencies/com/google/http-client/google-http-client/1.24.1/google-http-client-1.24.1.jar
153
- - vendor/jar-dependencies/com/google/oauth-client/google-oauth-client/1.24.1/google-oauth-client-1.24.1.jar
154
- - vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.6.0/protobuf-java-util-3.6.0.jar
155
- - vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.6.0/protobuf-java-3.6.0.jar
156
- - vendor/jar-dependencies/commons-codec/commons-codec/1.9/commons-codec-1.9.jar
157
- - vendor/jar-dependencies/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
158
- - vendor/jar-dependencies/io/grpc/grpc-context/1.12.0/grpc-context-1.12.0.jar
159
- - vendor/jar-dependencies/io/opencensus/opencensus-api/0.15.0/opencensus-api-0.15.0.jar
160
- - vendor/jar-dependencies/io/opencensus/opencensus-contrib-http-util/0.15.0/opencensus-contrib-http-util-0.15.0.jar
161
- - vendor/jar-dependencies/joda-time/joda-time/2.9.2/joda-time-2.9.2.jar
162
- - vendor/jar-dependencies/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar
163
- - vendor/jar-dependencies/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar
164
- - vendor/jar-dependencies/org/codehaus/jackson/jackson-core-asl/1.9.11/jackson-core-asl-1.9.11.jar
165
- - vendor/jar-dependencies/org/threeten/threetenbp/1.3.3/threetenbp-1.3.3.jar
177
+ - vendor/jar-dependencies/com/google/code/gson/gson/2.8.7/gson-2.8.7.jar
178
+ - vendor/jar-dependencies/com/google/errorprone/error_prone_annotations/2.8.1/error_prone_annotations-2.8.1.jar
179
+ - vendor/jar-dependencies/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
180
+ - vendor/jar-dependencies/com/google/guava/guava/30.1.1-jre/guava-30.1.1-jre.jar
181
+ - vendor/jar-dependencies/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
182
+ - vendor/jar-dependencies/com/google/http-client/google-http-client-apache-v2/1.39.2/google-http-client-apache-v2-1.39.2.jar
183
+ - vendor/jar-dependencies/com/google/http-client/google-http-client-appengine/1.39.2/google-http-client-appengine-1.39.2.jar
184
+ - vendor/jar-dependencies/com/google/http-client/google-http-client-gson/1.39.2/google-http-client-gson-1.39.2.jar
185
+ - vendor/jar-dependencies/com/google/http-client/google-http-client-jackson2/1.39.2/google-http-client-jackson2-1.39.2.jar
186
+ - vendor/jar-dependencies/com/google/http-client/google-http-client/1.39.2/google-http-client-1.39.2.jar
187
+ - vendor/jar-dependencies/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
188
+ - vendor/jar-dependencies/com/google/oauth-client/google-oauth-client/1.31.5/google-oauth-client-1.31.5.jar
189
+ - vendor/jar-dependencies/com/google/protobuf/protobuf-java-util/3.17.3/protobuf-java-util-3.17.3.jar
190
+ - vendor/jar-dependencies/com/google/protobuf/protobuf-java/3.17.3/protobuf-java-3.17.3.jar
191
+ - vendor/jar-dependencies/io/grpc/grpc-context/1.39.0/grpc-context-1.39.0.jar
192
+ - vendor/jar-dependencies/io/opencensus/opencensus-api/0.28.0/opencensus-api-0.28.0.jar
193
+ - vendor/jar-dependencies/io/opencensus/opencensus-contrib-http-util/0.28.0/opencensus-contrib-http-util-0.28.0.jar
194
+ - vendor/jar-dependencies/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar
195
+ - vendor/jar-dependencies/org/checkerframework/checker-qual/3.8.0/checker-qual-3.8.0.jar
196
+ - vendor/jar-dependencies/org/logstash/inputs/plugin/4.2.0/plugin-4.2.0.jar
197
+ - vendor/jar-dependencies/org/threeten/threetenbp/1.5.1/threetenbp-1.5.1.jar
198
+ - version
166
199
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
167
200
  licenses:
168
201
  - Apache-2.0
@@ -185,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
218
  - !ruby/object:Gem::Version
186
219
  version: '0'
187
220
  requirements: []
188
- rubyforge_project:
189
- rubygems_version: 2.6.13
221
+ rubygems_version: 3.1.6
190
222
  signing_key:
191
223
  specification_version: 4
192
224
  summary: plugin to upload log events to Google Cloud Storage (GCS)