aws-sdk-s3 1.96.2 → 1.117.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +147 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +127 -30
  5. data/lib/aws-sdk-s3/bucket_acl.rb +21 -4
  6. data/lib/aws-sdk-s3/bucket_cors.rb +23 -6
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +27 -8
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  9. data/lib/aws-sdk-s3/bucket_logging.rb +21 -4
  10. data/lib/aws-sdk-s3/bucket_notification.rb +19 -7
  11. data/lib/aws-sdk-s3/bucket_policy.rb +23 -6
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +21 -4
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +23 -6
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +63 -12
  15. data/lib/aws-sdk-s3/bucket_website.rb +23 -6
  16. data/lib/aws-sdk-s3/client.rb +2776 -1341
  17. data/lib/aws-sdk-s3/client_api.rb +577 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +20 -46
  19. data/lib/aws-sdk-s3/customizations/object.rb +78 -5
  20. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  21. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  22. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  23. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  24. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  26. data/lib/aws-sdk-s3/endpoint_provider.rb +2020 -0
  27. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  28. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  29. data/lib/aws-sdk-s3/file_uploader.rb +6 -1
  30. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  31. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  32. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  33. data/lib/aws-sdk-s3/multipart_upload_part.rb +134 -14
  34. data/lib/aws-sdk-s3/object.rb +291 -115
  35. data/lib/aws-sdk-s3/object_acl.rb +23 -6
  36. data/lib/aws-sdk-s3/object_summary.rb +210 -81
  37. data/lib/aws-sdk-s3/object_version.rb +66 -39
  38. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  39. data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
  40. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  41. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  42. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  43. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  44. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  45. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  46. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  47. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -100
  48. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  49. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  50. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  51. data/lib/aws-sdk-s3/presigner.rb +20 -27
  52. data/lib/aws-sdk-s3/resource.rb +19 -1
  53. data/lib/aws-sdk-s3/types.rb +2759 -4389
  54. data/lib/aws-sdk-s3.rb +5 -1
  55. metadata +12 -11
  56. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  57. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  58. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  59. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
data/lib/aws-sdk-s3.rb CHANGED
@@ -14,10 +14,14 @@ require 'aws-sdk-core'
14
14
 
15
15
  require_relative 'aws-sdk-s3/types'
16
16
  require_relative 'aws-sdk-s3/client_api'
17
+ require_relative 'aws-sdk-s3/plugins/endpoints.rb'
17
18
  require_relative 'aws-sdk-s3/client'
18
19
  require_relative 'aws-sdk-s3/errors'
19
20
  require_relative 'aws-sdk-s3/waiters'
20
21
  require_relative 'aws-sdk-s3/resource'
22
+ require_relative 'aws-sdk-s3/endpoint_parameters'
23
+ require_relative 'aws-sdk-s3/endpoint_provider'
24
+ require_relative 'aws-sdk-s3/endpoints'
21
25
  require_relative 'aws-sdk-s3/bucket'
22
26
  require_relative 'aws-sdk-s3/bucket_acl'
23
27
  require_relative 'aws-sdk-s3/bucket_cors'
@@ -69,6 +73,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
73
  # @!group service
70
74
  module Aws::S3
71
75
 
72
- GEM_VERSION = '1.96.2'
76
+ GEM_VERSION = '1.117.2'
73
77
 
74
78
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.96.2
4
+ version: 1.117.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2022-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.1'
33
+ version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.1'
40
+ version: '1.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: aws-sdk-core
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: '3'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 3.112.0
50
+ version: 3.165.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: '3'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 3.112.0
60
+ version: 3.165.0
61
61
  description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
62
62
  This gem is part of the AWS SDK for Ruby.
63
63
  email:
@@ -70,9 +70,6 @@ files:
70
70
  - LICENSE.txt
71
71
  - VERSION
72
72
  - lib/aws-sdk-s3.rb
73
- - lib/aws-sdk-s3/arn/access_point_arn.rb
74
- - lib/aws-sdk-s3/arn/object_lambda_arn.rb
75
- - lib/aws-sdk-s3/arn/outpost_access_point_arn.rb
76
73
  - lib/aws-sdk-s3/bucket.rb
77
74
  - lib/aws-sdk-s3/bucket_acl.rb
78
75
  - lib/aws-sdk-s3/bucket_cors.rb
@@ -122,6 +119,9 @@ files:
122
119
  - lib/aws-sdk-s3/encryptionV2/materials.rb
123
120
  - lib/aws-sdk-s3/encryptionV2/utils.rb
124
121
  - lib/aws-sdk-s3/encryption_v2.rb
122
+ - lib/aws-sdk-s3/endpoint_parameters.rb
123
+ - lib/aws-sdk-s3/endpoint_provider.rb
124
+ - lib/aws-sdk-s3/endpoints.rb
125
125
  - lib/aws-sdk-s3/errors.rb
126
126
  - lib/aws-sdk-s3/event_streams.rb
127
127
  - lib/aws-sdk-s3/file_downloader.rb
@@ -144,16 +144,17 @@ files:
144
144
  - lib/aws-sdk-s3/plugins/bucket_dns.rb
145
145
  - lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb
146
146
  - lib/aws-sdk-s3/plugins/dualstack.rb
147
+ - lib/aws-sdk-s3/plugins/endpoints.rb
147
148
  - lib/aws-sdk-s3/plugins/expect_100_continue.rb
148
149
  - lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb
149
150
  - lib/aws-sdk-s3/plugins/http_200_errors.rb
150
151
  - lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb
151
152
  - lib/aws-sdk-s3/plugins/location_constraint.rb
152
153
  - lib/aws-sdk-s3/plugins/md5s.rb
153
- - lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb
154
154
  - lib/aws-sdk-s3/plugins/redirects.rb
155
155
  - lib/aws-sdk-s3/plugins/s3_host_id.rb
156
156
  - lib/aws-sdk-s3/plugins/s3_signer.rb
157
+ - lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb
157
158
  - lib/aws-sdk-s3/plugins/sse_cpk.rb
158
159
  - lib/aws-sdk-s3/plugins/streaming_retry.rb
159
160
  - lib/aws-sdk-s3/plugins/url_encoded_keys.rb
@@ -176,7 +177,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
177
  requirements:
177
178
  - - ">="
178
179
  - !ruby/object:Gem::Version
179
- version: '0'
180
+ version: '2.3'
180
181
  required_rubygems_version: !ruby/object:Gem::Requirement
181
182
  requirements:
182
183
  - - ">="
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Aws
4
- module S3
5
- # @api private
6
- class AccessPointARN < Aws::ARN
7
- def initialize(options)
8
- super(options)
9
- @type, @access_point_name, @extra = @resource.split(/[:,\/]/)
10
- end
11
-
12
- def support_dualstack?
13
- true
14
- end
15
-
16
- def support_fips?
17
- true
18
- end
19
-
20
- def validate_arn!
21
- unless @service == 's3'
22
- raise ArgumentError, 'Must provide a valid S3 Access Point ARN.'
23
- end
24
-
25
- if @region.empty? || @account_id.empty?
26
- raise ArgumentError,
27
- 'S3 Access Point ARNs must contain both a region '\
28
- 'and an account id.'
29
- end
30
-
31
- if @region.include?('-fips') || @region.include?('fips-')
32
- raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
34
- end
35
-
36
- if @type != 'accesspoint'
37
- raise ArgumentError, 'Invalid ARN, resource format is not correct'
38
- end
39
-
40
- if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
42
- end
43
-
44
- if @extra
45
- raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
47
- end
48
-
49
- unless Seahorse::Util.host_label?(
50
- "#{@access_point_name}-#{@account_id}"
51
- )
52
- raise ArgumentError,
53
- "#{@access_point_name}-#{@account_id} is not a valid "\
54
- 'host label.'
55
- end
56
- end
57
-
58
- def host_url(region, fips = false, dualstack = false, custom_endpoint = nil)
59
- pfx = "#{@access_point_name}-#{@account_id}"
60
- if custom_endpoint
61
- "#{pfx}.#{custom_endpoint}"
62
- else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
64
- "#{pfx}.s3-accesspoint#{'-fips' if fips}#{'.dualstack' if dualstack}.#{region}.#{sfx}"
65
- end
66
- end
67
- end
68
- end
69
- end
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Aws
4
- module S3
5
- # @api private
6
- class ObjectLambdaARN < Aws::ARN
7
- def initialize(options)
8
- super(options)
9
- @type, @access_point_name, @extra = @resource.split(/[:,\/]/)
10
- end
11
-
12
- def support_dualstack?
13
- false
14
- end
15
-
16
- def support_fips?
17
- true
18
- end
19
-
20
- def validate_arn!
21
- unless @service == 's3-object-lambda'
22
- raise ArgumentError, 'Must provide a valid S3 Object Lambdas ARN.'
23
- end
24
-
25
- if @region.empty? || @account_id.empty?
26
- raise ArgumentError,
27
- 'S3 Object Lambdas ARNs must contain both a region '\
28
- 'and an account id.'
29
- end
30
-
31
- if @region.include?('-fips') || @region.include?('fips-')
32
- raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
34
- end
35
-
36
- if @type != 'accesspoint'
37
- raise ArgumentError, 'Invalid ARN, resource format is not correct.'
38
- end
39
-
40
- if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
42
- end
43
-
44
- if @extra
45
- raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
47
- end
48
-
49
- unless Seahorse::Util.host_label?(
50
- "#{@access_point_name}-#{@account_id}"
51
- )
52
- raise ArgumentError,
53
- "#{@access_point_name}-#{@account_id} is not a valid "\
54
- 'host label.'
55
- end
56
- end
57
-
58
- def host_url(region, fips = false, _dualstack = false, custom_endpoint = nil)
59
- pfx = "#{@access_point_name}-#{@account_id}"
60
- if custom_endpoint
61
- "#{pfx}.#{custom_endpoint}"
62
- else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
64
- "#{pfx}.s3-object-lambda#{'-fips' if fips}.#{region}.#{sfx}"
65
- end
66
- end
67
- end
68
- end
69
- end
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Aws
4
- module S3
5
- # @api private
6
- class OutpostAccessPointARN < Aws::ARN
7
- def initialize(options)
8
- super(options)
9
- @type, @outpost_id, @subtype, @access_point_name, @extra =
10
- @resource.split(/[:,\/]/)
11
- end
12
-
13
- def support_dualstack?
14
- false
15
- end
16
-
17
- def support_fips?
18
- false
19
- end
20
-
21
- def validate_arn!
22
- unless @service == 's3-outposts'
23
- raise ArgumentError, 'Must provide a valid S3 Outposts ARN.'
24
- end
25
-
26
- if @region.empty? || @account_id.empty?
27
- raise ArgumentError,
28
- 'S3 Outpost ARNs must contain both a region '\
29
- 'and an account id.'
30
- end
31
-
32
- if @type != 'outpost' && @subtype != 'accesspoint'
33
- raise ArgumentError, 'Invalid ARN, resource format is not correct.'
34
- end
35
-
36
- if @outpost_id.nil? || @outpost_id.empty?
37
- raise ArgumentError, 'Missing ARN outpost id.'
38
- end
39
-
40
- if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
42
- end
43
-
44
- if @extra
45
- raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
47
- end
48
-
49
- unless Seahorse::Util.host_label?(
50
- "#{@access_point_name}-#{@account_id}"
51
- )
52
- raise ArgumentError,
53
- "#{@access_point_name}-#{@account_id} is not a valid "\
54
- 'host label.'
55
- end
56
-
57
- unless Seahorse::Util.host_label?(@outpost_id)
58
- raise ArgumentError, "#{@outpost_id} is not a valid host label."
59
- end
60
- end
61
-
62
- # Outpost ARNs currently do not support dualstack
63
- def host_url(region, _fips = false, _dualstack = false, custom_endpoint = nil)
64
- pfx = "#{@access_point_name}-#{@account_id}.#{@outpost_id}"
65
- if custom_endpoint
66
- "#{pfx}.#{custom_endpoint}"
67
- else
68
- "#{pfx}.s3-outposts.#{region}.amazonaws.com"
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Aws
4
- module S3
5
- module Plugins
6
- # WriteGetObjectResponse is called from Lambda after a data transform.
7
- # If there is no custom endpoint, we change the endpoint from s3 to
8
- # s3-object-lambda just for this operation.
9
- class ObjectLambdaEndpoint < Seahorse::Client::Plugin
10
- class Handler < Seahorse::Client::Handler
11
- def call(context)
12
- if context.config.regional_endpoint
13
- host = context.http_request.endpoint.host
14
- host = host.sub('s3.', 's3-object-lambda.')
15
- context.http_request.endpoint.host = host
16
- end
17
- @handler.call(context)
18
- end
19
- end
20
-
21
- handler(Handler, operations: [:write_get_object_response])
22
- end
23
- end
24
- end
25
- end