fluent-plugin-s3 1.0.0.rc8 → 1.0.0

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: 23f48015111ef6d82e594f44bf13aacf1c1cae98
4
- data.tar.gz: 426187af67d57eafeced8825d53a702c0a648b85
3
+ metadata.gz: 6484393067ca566165643a70c9bb844f3499cd00
4
+ data.tar.gz: 59a603dd4ebf2d53746d1c8b434e692c59d165d9
5
5
  SHA512:
6
- metadata.gz: dde04abfd7cca7ab08e883a4dec05947aeb38eca90e356252b0331447defb562b51fc9f01558c832482254372b8a009d295ee7d10fd64332cb0b9fd4230541ee
7
- data.tar.gz: d06679296f6552a54dea51b6eb26f0f8551f866e36e7afd26ff0b20565f914d40cf64d4c13491f41d71e8d150bcc659f8a274e9e46e9e482e10ea80b5df7f56d
6
+ metadata.gz: 0425f28aa5c45b2f514002e4c9555685099420a9912973abb901e8e60c54fb5e99fddbe8ca406a24dd40975214f68e66caa27c737b5928eb5281c5f9378e66c9
7
+ data.tar.gz: 8dd9b50f05b3cf0eea06a8e54e860b8c61b114c88a8e9879b5ae6d12213fc5368a690c4ccb279872d25d7e8c60d58cb9039a74d5980d95fcb2c70142b3142773
data/ChangeLog CHANGED
@@ -1,3 +1,13 @@
1
+ Release 1.0.0 - 2017/11/15
2
+
3
+ * Use v0.14 API
4
+ * out_s3: Support canonical user id based grant permission
5
+ * out_s3: Use specified s3_object_key_format even if check_object is false
6
+ * out_s3: Add s3_metadata parameter
7
+ * out_s3: Add ssl_verify_peer parameter
8
+ * in_s3: Unescape S3 key
9
+ * Add use_bundled_cert parameter
10
+
1
11
  Release 0.8.0 - 2016/12/20
2
12
 
3
13
  * out_s3: Add check_object / check_bucket parameters for only put permission
data/README.md CHANGED
@@ -366,6 +366,39 @@ To use cross-account access, you will need to create a bucket policy granting
366
366
  the specific access required. Refer to the [AWS
367
367
  documentation](http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example3.html) for examples.
368
368
 
369
+ **grant_full_control**
370
+
371
+ Allows grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
372
+ This is useful for cross-account access using IAM roles.
373
+
374
+ Valid values are `id="Grantee-CanonicalUserID"`. Please specify the grantee's canonical user ID.
375
+
376
+ e.g. `id="79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"`
377
+
378
+ Note that a canonical user ID is different from an AWS account ID.
379
+ Please refer to [AWS documentation](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) for more details.
380
+
381
+ **grant_read**
382
+
383
+ Allows grantee to read the object data and its metadata.
384
+ Valid values are `id="Grantee-CanonicalUserID"`. Please specify the grantee's canonical user ID.
385
+
386
+ e.g. `id="79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"`
387
+
388
+ **grant_read_acp**
389
+
390
+ Allows grantee to read the object ACL.
391
+ Valid values are `id="Grantee-CanonicalUserID"`. Please specify the grantee's canonical user ID.
392
+
393
+ e.g. `id="79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"`
394
+
395
+ **grant_write_acp**
396
+
397
+ Allows grantee to write the ACL for the applicable object.
398
+ Valid values are `id="Grantee-CanonicalUserID"`. Please specify the grantee's canonical user ID.
399
+
400
+ e.g. `id="79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"`
401
+
369
402
  **hex_random_length**
370
403
 
371
404
  The length of `%{hex_random}` placeholder. Default is 4 as written in
@@ -620,11 +653,24 @@ The long polling interval. Default is 20.
620
653
  The following is an example for a minimal IAM policy needed to write to an s3
621
654
  bucket (matches my-s3bucket/logs, my-s3bucket-test, etc.).
622
655
 
623
- { "Statement": [
624
- { "Effect":"Allow",
625
- "Action":"s3:*",
626
- "Resource":"arn:aws:s3:::my-s3bucket*"
627
- } ]
656
+ {
657
+ "Version": "2012-10-17",
658
+ "Statement": [
659
+ {
660
+ "Effect": "Allow",
661
+ "Action": [
662
+ "s3:ListBucket"
663
+ ],
664
+ "Resource": "arn:aws:s3:::my-s3bucket"
665
+ },
666
+ {
667
+ "Effect": "Allow",
668
+ "Action": [
669
+ "s3:PutObject"
670
+ ],
671
+ "Resource": "arn:aws:s3:::my-s3bucket/*"
672
+ }
673
+ ]
628
674
  }
629
675
 
630
676
  Note that the bucket must already exist and **auto_create_bucket** has no
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0.rc8
1
+ 1.0.0
@@ -88,6 +88,14 @@ module Fluent::Plugin
88
88
  config_param :storage_class, :string, default: "STANDARD"
89
89
  desc "Permission for the object in S3"
90
90
  config_param :acl, :string, default: nil
91
+ desc "Allows grantee READ, READ_ACP, and WRITE_ACP permissions on the object"
92
+ config_param :grant_full_control, :string, default: nil
93
+ desc "Allows grantee to read the object data and its metadata"
94
+ config_param :grant_read, :string, default: nil
95
+ desc "Allows grantee to read the object ACL"
96
+ config_param :grant_read_acp, :string, default: nil
97
+ desc "Allows grantee to write the ACL for the applicable object"
98
+ config_param :grant_write_acp, :string, default: nil
91
99
  desc "The length of `%{hex_random}` placeholder(4-16)"
92
100
  config_param :hex_random_length, :integer, default: 4
93
101
  desc "Overwrite already existing path"
@@ -286,6 +294,10 @@ module Fluent::Plugin
286
294
  put_options[:sse_customer_key] = @sse_customer_key if @sse_customer_key
287
295
  put_options[:sse_customer_key_md5] = @sse_customer_key_md5 if @sse_customer_key_md5
288
296
  put_options[:acl] = @acl if @acl
297
+ put_options[:grant_full_control] = @grant_full_control if @grant_full_control
298
+ put_options[:grant_read] = @grant_read if @grant_read
299
+ put_options[:grant_read_acp] = @grant_read_acp if @grant_read_acp
300
+ put_options[:grant_write_acp] = @grant_write_acp if @grant_write_acp
289
301
 
290
302
  if @s3_metadata
291
303
  put_options[:metadata] = {}
@@ -140,6 +140,16 @@ class S3OutputTest < Test::Unit::TestCase
140
140
  assert_equal false, d.instance.check_object
141
141
  end
142
142
 
143
+ def test_configure_with_grant
144
+ conf = CONFIG.clone
145
+ conf << "\grant_full_control id='0123456789'\ngrant_read id='1234567890'\ngrant_read_acp id='2345678901'\ngrant_write_acp id='3456789012'\n"
146
+ d = create_driver(conf)
147
+ assert_equal "id='0123456789'", d.instance.grant_full_control
148
+ assert_equal "id='1234567890'", d.instance.grant_read
149
+ assert_equal "id='2345678901'", d.instance.grant_read_acp
150
+ assert_equal "id='3456789012'", d.instance.grant_write_acp
151
+ end
152
+
143
153
  def test_format
144
154
  d = create_driver
145
155
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc8
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-10-27 00:00:00.000000000 Z
12
+ date: 2017-11-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -150,9 +150,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
150
  version: '0'
151
151
  required_rubygems_version: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - ">"
153
+ - - ">="
154
154
  - !ruby/object:Gem::Version
155
- version: 1.3.1
155
+ version: '0'
156
156
  requirements: []
157
157
  rubyforge_project:
158
158
  rubygems_version: 2.6.13