aws-sdk-s3 1.87.0 → 1.143.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1106 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/bucket.rb +605 -114
  6. data/lib/aws-sdk-s3/bucket_acl.rb +36 -11
  7. data/lib/aws-sdk-s3/bucket_cors.rb +40 -15
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +42 -15
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +43 -13
  10. data/lib/aws-sdk-s3/bucket_logging.rb +40 -11
  11. data/lib/aws-sdk-s3/bucket_notification.rb +30 -12
  12. data/lib/aws-sdk-s3/bucket_policy.rb +82 -13
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +35 -13
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +38 -13
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +82 -21
  16. data/lib/aws-sdk-s3/bucket_website.rb +38 -13
  17. data/lib/aws-sdk-s3/client.rb +8666 -3425
  18. data/lib/aws-sdk-s3/client_api.rb +774 -225
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +31 -50
  20. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  21. data/lib/aws-sdk-s3/customizations/object.rb +211 -37
  22. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  23. data/lib/aws-sdk-s3/customizations.rb +7 -0
  24. data/lib/aws-sdk-s3/encryption/client.rb +7 -3
  25. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
  29. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  30. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  31. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  32. data/lib/aws-sdk-s3/endpoint_parameters.rb +178 -0
  33. data/lib/aws-sdk-s3/endpoint_provider.rb +591 -0
  34. data/lib/aws-sdk-s3/endpoints.rb +2590 -0
  35. data/lib/aws-sdk-s3/errors.rb +1 -1
  36. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  37. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  38. data/lib/aws-sdk-s3/express_credentials_cache.rb +30 -0
  39. data/lib/aws-sdk-s3/express_credentials_provider.rb +36 -0
  40. data/lib/aws-sdk-s3/file_downloader.rb +171 -41
  41. data/lib/aws-sdk-s3/file_uploader.rb +14 -7
  42. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -8
  43. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -14
  44. data/lib/aws-sdk-s3/multipart_upload.rb +198 -23
  45. data/lib/aws-sdk-s3/multipart_upload_part.rb +285 -34
  46. data/lib/aws-sdk-s3/object.rb +1824 -266
  47. data/lib/aws-sdk-s3/object_acl.rb +58 -19
  48. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  49. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  50. data/lib/aws-sdk-s3/object_summary.rb +1579 -299
  51. data/lib/aws-sdk-s3/object_version.rb +372 -64
  52. data/lib/aws-sdk-s3/plugins/accelerate.rb +1 -39
  53. data/lib/aws-sdk-s3/plugins/arn.rb +25 -142
  54. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  55. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  56. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -49
  57. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  58. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -1
  59. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +91 -0
  60. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  61. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +8 -31
  62. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  63. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  64. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -102
  65. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  66. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  67. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  68. data/lib/aws-sdk-s3/presigner.rb +43 -51
  69. data/lib/aws-sdk-s3/resource.rb +102 -6
  70. data/lib/aws-sdk-s3/types.rb +7404 -5114
  71. data/lib/aws-sdk-s3/waiters.rb +1 -1
  72. data/lib/aws-sdk-s3.rb +6 -2
  73. data/sig/bucket.rbs +212 -0
  74. data/sig/bucket_acl.rbs +78 -0
  75. data/sig/bucket_cors.rbs +69 -0
  76. data/sig/bucket_lifecycle.rbs +88 -0
  77. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  78. data/sig/bucket_logging.rbs +76 -0
  79. data/sig/bucket_notification.rbs +114 -0
  80. data/sig/bucket_policy.rbs +59 -0
  81. data/sig/bucket_request_payment.rbs +54 -0
  82. data/sig/bucket_tagging.rbs +65 -0
  83. data/sig/bucket_versioning.rbs +77 -0
  84. data/sig/bucket_website.rbs +93 -0
  85. data/sig/client.rbs +2360 -0
  86. data/sig/errors.rbs +34 -0
  87. data/sig/multipart_upload.rbs +110 -0
  88. data/sig/multipart_upload_part.rbs +105 -0
  89. data/sig/object.rbs +436 -0
  90. data/sig/object_acl.rbs +86 -0
  91. data/sig/object_summary.rbs +334 -0
  92. data/sig/object_version.rbs +131 -0
  93. data/sig/resource.rbs +124 -0
  94. data/sig/types.rbs +2562 -0
  95. data/sig/waiters.rbs +83 -0
  96. metadata +51 -17
  97. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -62
  98. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -71
data/sig/waiters.rbs ADDED
@@ -0,0 +1,83 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ module Waiters
11
+
12
+ class BucketExists
13
+ def initialize: (?client: Client, ?max_attempts: Integer, ?delay: Integer, ?before_attempt: Proc, ?before_wait: Proc) -> void
14
+ | (?Hash[Symbol, untyped]) -> void
15
+
16
+ def wait: (
17
+ bucket: ::String,
18
+ ?expected_bucket_owner: ::String
19
+ ) -> Client::_HeadBucketResponseSuccess
20
+ | (Hash[Symbol, untyped]) -> Client::_HeadBucketResponseSuccess
21
+ end
22
+
23
+ class BucketNotExists
24
+ def initialize: (?client: Client, ?max_attempts: Integer, ?delay: Integer, ?before_attempt: Proc, ?before_wait: Proc) -> void
25
+ | (?Hash[Symbol, untyped]) -> void
26
+
27
+ def wait: (
28
+ bucket: ::String,
29
+ ?expected_bucket_owner: ::String
30
+ ) -> Client::_HeadBucketResponseSuccess
31
+ | (Hash[Symbol, untyped]) -> Client::_HeadBucketResponseSuccess
32
+ end
33
+
34
+ class ObjectExists
35
+ def initialize: (?client: Client, ?max_attempts: Integer, ?delay: Integer, ?before_attempt: Proc, ?before_wait: Proc) -> void
36
+ | (?Hash[Symbol, untyped]) -> void
37
+
38
+ def wait: (
39
+ bucket: ::String,
40
+ ?if_match: ::String,
41
+ ?if_modified_since: ::Time,
42
+ ?if_none_match: ::String,
43
+ ?if_unmodified_since: ::Time,
44
+ key: ::String,
45
+ ?range: ::String,
46
+ ?version_id: ::String,
47
+ ?sse_customer_algorithm: ::String,
48
+ ?sse_customer_key: ::String,
49
+ ?sse_customer_key_md5: ::String,
50
+ ?request_payer: ("requester"),
51
+ ?part_number: ::Integer,
52
+ ?expected_bucket_owner: ::String,
53
+ ?checksum_mode: ("ENABLED")
54
+ ) -> Client::_HeadObjectResponseSuccess
55
+ | (Hash[Symbol, untyped]) -> Client::_HeadObjectResponseSuccess
56
+ end
57
+
58
+ class ObjectNotExists
59
+ def initialize: (?client: Client, ?max_attempts: Integer, ?delay: Integer, ?before_attempt: Proc, ?before_wait: Proc) -> void
60
+ | (?Hash[Symbol, untyped]) -> void
61
+
62
+ def wait: (
63
+ bucket: ::String,
64
+ ?if_match: ::String,
65
+ ?if_modified_since: ::Time,
66
+ ?if_none_match: ::String,
67
+ ?if_unmodified_since: ::Time,
68
+ key: ::String,
69
+ ?range: ::String,
70
+ ?version_id: ::String,
71
+ ?sse_customer_algorithm: ::String,
72
+ ?sse_customer_key: ::String,
73
+ ?sse_customer_key_md5: ::String,
74
+ ?request_payer: ("requester"),
75
+ ?part_number: ::Integer,
76
+ ?expected_bucket_owner: ::String,
77
+ ?checksum_mode: ("ENABLED")
78
+ ) -> Client::_HeadObjectResponseSuccess
79
+ | (Hash[Symbol, untyped]) -> Client::_HeadObjectResponseSuccess
80
+ end
81
+ end
82
+ end
83
+ 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.87.0
4
+ version: 1.143.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-21 00:00:00.000000000 Z
11
+ date: 2024-01-26 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.8'
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.8'
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.109.0
50
+ version: 3.191.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,18 +57,19 @@ dependencies:
57
57
  version: '3'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 3.109.0
60
+ version: 3.191.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:
64
- - trevrowe@amazon.com
64
+ - aws-dr-rubygems@amazon.com
65
65
  executables: []
66
66
  extensions: []
67
67
  extra_rdoc_files: []
68
68
  files:
69
+ - CHANGELOG.md
70
+ - LICENSE.txt
71
+ - VERSION
69
72
  - lib/aws-sdk-s3.rb
70
- - lib/aws-sdk-s3/arn/access_point_arn.rb
71
- - lib/aws-sdk-s3/arn/outpost_access_point_arn.rb
72
73
  - lib/aws-sdk-s3/bucket.rb
73
74
  - lib/aws-sdk-s3/bucket_acl.rb
74
75
  - lib/aws-sdk-s3/bucket_cors.rb
@@ -86,10 +87,12 @@ files:
86
87
  - lib/aws-sdk-s3/client_api.rb
87
88
  - lib/aws-sdk-s3/customizations.rb
88
89
  - lib/aws-sdk-s3/customizations/bucket.rb
90
+ - lib/aws-sdk-s3/customizations/errors.rb
89
91
  - lib/aws-sdk-s3/customizations/multipart_upload.rb
90
92
  - lib/aws-sdk-s3/customizations/object.rb
91
93
  - lib/aws-sdk-s3/customizations/object_summary.rb
92
94
  - lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb
95
+ - lib/aws-sdk-s3/customizations/types/permanent_redirect.rb
93
96
  - lib/aws-sdk-s3/encryption.rb
94
97
  - lib/aws-sdk-s3/encryption/client.rb
95
98
  - lib/aws-sdk-s3/encryption/decrypt_handler.rb
@@ -118,8 +121,14 @@ files:
118
121
  - lib/aws-sdk-s3/encryptionV2/materials.rb
119
122
  - lib/aws-sdk-s3/encryptionV2/utils.rb
120
123
  - lib/aws-sdk-s3/encryption_v2.rb
124
+ - lib/aws-sdk-s3/endpoint_parameters.rb
125
+ - lib/aws-sdk-s3/endpoint_provider.rb
126
+ - lib/aws-sdk-s3/endpoints.rb
121
127
  - lib/aws-sdk-s3/errors.rb
122
128
  - lib/aws-sdk-s3/event_streams.rb
129
+ - lib/aws-sdk-s3/express_credentials.rb
130
+ - lib/aws-sdk-s3/express_credentials_cache.rb
131
+ - lib/aws-sdk-s3/express_credentials_provider.rb
123
132
  - lib/aws-sdk-s3/file_downloader.rb
124
133
  - lib/aws-sdk-s3/file_part.rb
125
134
  - lib/aws-sdk-s3/file_uploader.rb
@@ -140,7 +149,9 @@ files:
140
149
  - lib/aws-sdk-s3/plugins/bucket_dns.rb
141
150
  - lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb
142
151
  - lib/aws-sdk-s3/plugins/dualstack.rb
152
+ - lib/aws-sdk-s3/plugins/endpoints.rb
143
153
  - lib/aws-sdk-s3/plugins/expect_100_continue.rb
154
+ - lib/aws-sdk-s3/plugins/express_session_auth.rb
144
155
  - lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb
145
156
  - lib/aws-sdk-s3/plugins/http_200_errors.rb
146
157
  - lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb
@@ -149,6 +160,7 @@ files:
149
160
  - lib/aws-sdk-s3/plugins/redirects.rb
150
161
  - lib/aws-sdk-s3/plugins/s3_host_id.rb
151
162
  - lib/aws-sdk-s3/plugins/s3_signer.rb
163
+ - lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb
152
164
  - lib/aws-sdk-s3/plugins/sse_cpk.rb
153
165
  - lib/aws-sdk-s3/plugins/streaming_retry.rb
154
166
  - lib/aws-sdk-s3/plugins/url_encoded_keys.rb
@@ -157,13 +169,36 @@ files:
157
169
  - lib/aws-sdk-s3/resource.rb
158
170
  - lib/aws-sdk-s3/types.rb
159
171
  - lib/aws-sdk-s3/waiters.rb
172
+ - sig/bucket.rbs
173
+ - sig/bucket_acl.rbs
174
+ - sig/bucket_cors.rbs
175
+ - sig/bucket_lifecycle.rbs
176
+ - sig/bucket_lifecycle_configuration.rbs
177
+ - sig/bucket_logging.rbs
178
+ - sig/bucket_notification.rbs
179
+ - sig/bucket_policy.rbs
180
+ - sig/bucket_request_payment.rbs
181
+ - sig/bucket_tagging.rbs
182
+ - sig/bucket_versioning.rbs
183
+ - sig/bucket_website.rbs
184
+ - sig/client.rbs
185
+ - sig/errors.rbs
186
+ - sig/multipart_upload.rbs
187
+ - sig/multipart_upload_part.rbs
188
+ - sig/object.rbs
189
+ - sig/object_acl.rbs
190
+ - sig/object_summary.rbs
191
+ - sig/object_version.rbs
192
+ - sig/resource.rbs
193
+ - sig/types.rbs
194
+ - sig/waiters.rbs
160
195
  homepage: https://github.com/aws/aws-sdk-ruby
161
196
  licenses:
162
197
  - Apache-2.0
163
198
  metadata:
164
- source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-s3
165
- changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-s3/CHANGELOG.md
166
- post_install_message:
199
+ source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3
200
+ changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3/CHANGELOG.md
201
+ post_install_message:
167
202
  rdoc_options: []
168
203
  require_paths:
169
204
  - lib
@@ -171,16 +206,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
206
  requirements:
172
207
  - - ">="
173
208
  - !ruby/object:Gem::Version
174
- version: '0'
209
+ version: '2.5'
175
210
  required_rubygems_version: !ruby/object:Gem::Requirement
176
211
  requirements:
177
212
  - - ">="
178
213
  - !ruby/object:Gem::Version
179
214
  version: '0'
180
215
  requirements: []
181
- rubyforge_project:
182
- rubygems_version: 2.7.6.2
183
- signing_key:
216
+ rubygems_version: 3.4.10
217
+ signing_key:
184
218
  specification_version: 4
185
219
  summary: AWS SDK for Ruby - Amazon S3
186
220
  test_files: []
@@ -1,62 +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
- attr_reader :access_point_name
13
-
14
- def support_dualstack?
15
- true
16
- end
17
-
18
- def support_fips?
19
- true
20
- end
21
-
22
- def validate_arn!
23
- unless @service == 's3'
24
- raise ArgumentError, 'Must provide a valid S3 accesspoint ARN.'
25
- end
26
-
27
- if @region.empty? || @account_id.empty?
28
- raise ArgumentError,
29
- 'S3 accesspoint ARNs must contain both a region '\
30
- 'and an account id.'
31
- end
32
-
33
- if @type != 'accesspoint'
34
- raise ArgumentError, 'Invalid ARN, resource format is not correct'
35
- end
36
-
37
- if @access_point_name.nil? || @access_point_name.empty?
38
- raise ArgumentError, 'Missing ARN accesspoint name.'
39
- end
40
-
41
- if @extra
42
- raise ArgumentError,
43
- 'ARN accesspoint resource must be a single value.'
44
- end
45
-
46
- unless Seahorse::Util.host_label?(
47
- "#{@access_point_name}-#{@account_id}"
48
- )
49
- raise ArgumentError,
50
- "#{@access_point_name}-#{@account_id} is not a valid "\
51
- 'host label.'
52
- end
53
- end
54
-
55
- def host_url(region, dualstack = false)
56
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
57
- "#{@access_point_name}-#{@account_id}"\
58
- ".s3-accesspoint#{'.dualstack' if dualstack}.#{region}.#{sfx}"
59
- end
60
- end
61
- end
62
- end
@@ -1,71 +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
- attr_reader :outpost_id, :access_point_name
14
-
15
- def support_dualstack?
16
- false
17
- end
18
-
19
- def support_fips?
20
- false
21
- end
22
-
23
- def validate_arn!
24
- unless @service == 's3-outposts'
25
- raise ArgumentError, 'Must provide a valid S3 outposts ARN.'
26
- end
27
-
28
- if @region.empty? || @account_id.empty?
29
- raise ArgumentError,
30
- 'S3 accesspoint ARNs must contain both a region '\
31
- 'and an account id.'
32
- end
33
-
34
- if @type != 'outpost' && @subtype != 'accesspoint'
35
- raise ArgumentError, 'Invalid ARN, resource format is not correct'
36
- end
37
-
38
- if @outpost_id.nil? || @outpost_id.empty?
39
- raise ArgumentError, 'Missing ARN outpost id.'
40
- end
41
-
42
- if @access_point_name.nil? || @access_point_name.empty?
43
- raise ArgumentError, 'Missing ARN accesspoint name.'
44
- end
45
-
46
- if @extra
47
- raise ArgumentError,
48
- 'ARN accesspoint resource must be a single value.'
49
- end
50
-
51
- unless Seahorse::Util.host_label?(
52
- "#{@access_point_name}-#{@account_id}"
53
- )
54
- raise ArgumentError,
55
- "#{@access_point_name}-#{@account_id} is not a valid "\
56
- 'host label.'
57
- end
58
-
59
- unless Seahorse::Util.host_label?(@outpost_id)
60
- raise ArgumentError, "#{@outpost_id} is not a valid host label."
61
- end
62
- end
63
-
64
- # Outpost ARNs currently do not support dualstack
65
- def host_url(region, _dualstack = false)
66
- "#{@access_point_name}-#{@account_id}.#{@outpost_id}"\
67
- ".s3-outposts.#{region}.amazonaws.com"
68
- end
69
- end
70
- end
71
- end