aws-sdk-s3 1.79.1 → 1.212.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 +4 -4
- data/CHANGELOG.md +1548 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
- data/lib/aws-sdk-s3/bucket.rb +900 -98
- data/lib/aws-sdk-s3/bucket_acl.rb +44 -10
- data/lib/aws-sdk-s3/bucket_cors.rb +51 -11
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +53 -8
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +107 -9
- data/lib/aws-sdk-s3/bucket_logging.rb +43 -6
- data/lib/aws-sdk-s3/bucket_notification.rb +32 -9
- data/lib/aws-sdk-s3/bucket_policy.rb +90 -6
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +38 -8
- data/lib/aws-sdk-s3/bucket_tagging.rb +46 -7
- data/lib/aws-sdk-s3/bucket_versioning.rb +127 -9
- data/lib/aws-sdk-s3/bucket_website.rb +46 -7
- data/lib/aws-sdk-s3/client.rb +13729 -3146
- data/lib/aws-sdk-s3/client_api.rb +1604 -277
- data/lib/aws-sdk-s3/customizations/bucket.rb +31 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/object.rb +253 -82
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +28 -29
- data/lib/aws-sdk-s3/default_executor.rb +103 -0
- data/lib/aws-sdk-s3/encryption/client.rb +9 -5
- data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +15 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +105 -26
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -165
- data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
- data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +20 -3
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -4
- data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +18 -6
- data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
- data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
- data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
- data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
- data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
- data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
- data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
- data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
- data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
- data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
- data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
- data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +889 -0
- data/lib/aws-sdk-s3/endpoints.rb +1544 -0
- data/lib/aws-sdk-s3/errors.rb +80 -1
- data/lib/aws-sdk-s3/event_streams.rb +1 -1
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
- data/lib/aws-sdk-s3/file_downloader.rb +258 -82
- data/lib/aws-sdk-s3/file_uploader.rb +25 -14
- data/lib/aws-sdk-s3/legacy_signer.rb +17 -26
- data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +111 -86
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +110 -92
- data/lib/aws-sdk-s3/multipart_upload.rb +304 -14
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +344 -20
- data/lib/aws-sdk-s3/object.rb +2457 -225
- data/lib/aws-sdk-s3/object_acl.rb +76 -15
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +48 -23
- data/lib/aws-sdk-s3/object_summary.rb +2033 -169
- data/lib/aws-sdk-s3/object_version.rb +470 -53
- data/lib/aws-sdk-s3/plugins/accelerate.rb +1 -39
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -41
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +44 -0
- data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -49
- data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -1
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
- data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +87 -26
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +8 -26
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -68
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +48 -88
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +28 -9
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigned_post.rb +99 -78
- data/lib/aws-sdk-s3/presigner.rb +50 -42
- data/lib/aws-sdk-s3/resource.rb +144 -15
- data/lib/aws-sdk-s3/transfer_manager.rb +321 -0
- data/lib/aws-sdk-s3/types.rb +12223 -4723
- data/lib/aws-sdk-s3/waiters.rb +1 -1
- data/lib/aws-sdk-s3.rb +37 -28
- data/sig/bucket.rbs +231 -0
- data/sig/bucket_acl.rbs +78 -0
- data/sig/bucket_cors.rbs +69 -0
- data/sig/bucket_lifecycle.rbs +88 -0
- data/sig/bucket_lifecycle_configuration.rbs +115 -0
- data/sig/bucket_logging.rbs +76 -0
- data/sig/bucket_notification.rbs +114 -0
- data/sig/bucket_policy.rbs +59 -0
- data/sig/bucket_request_payment.rbs +54 -0
- data/sig/bucket_tagging.rbs +65 -0
- data/sig/bucket_versioning.rbs +77 -0
- data/sig/bucket_website.rbs +93 -0
- data/sig/client.rbs +2612 -0
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- data/sig/errors.rbs +44 -0
- data/sig/multipart_upload.rbs +120 -0
- data/sig/multipart_upload_part.rbs +109 -0
- data/sig/object.rbs +464 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +347 -0
- data/sig/object_version.rbs +143 -0
- data/sig/resource.rbs +141 -0
- data/sig/types.rbs +2899 -0
- data/sig/waiters.rbs +95 -0
- metadata +74 -16
- data/lib/aws-sdk-s3/plugins/bucket_arn.rb +0 -212
data/sig/waiters.rbs
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
?response_cache_control: ::String,
|
|
47
|
+
?response_content_disposition: ::String,
|
|
48
|
+
?response_content_encoding: ::String,
|
|
49
|
+
?response_content_language: ::String,
|
|
50
|
+
?response_content_type: ::String,
|
|
51
|
+
?response_expires: ::Time,
|
|
52
|
+
?version_id: ::String,
|
|
53
|
+
?sse_customer_algorithm: ::String,
|
|
54
|
+
?sse_customer_key: ::String,
|
|
55
|
+
?sse_customer_key_md5: ::String,
|
|
56
|
+
?request_payer: ("requester"),
|
|
57
|
+
?part_number: ::Integer,
|
|
58
|
+
?expected_bucket_owner: ::String,
|
|
59
|
+
?checksum_mode: ("ENABLED")
|
|
60
|
+
) -> Client::_HeadObjectResponseSuccess
|
|
61
|
+
| (Hash[Symbol, untyped]) -> Client::_HeadObjectResponseSuccess
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class ObjectNotExists
|
|
65
|
+
def initialize: (?client: Client, ?max_attempts: Integer, ?delay: Integer, ?before_attempt: Proc, ?before_wait: Proc) -> void
|
|
66
|
+
| (?Hash[Symbol, untyped]) -> void
|
|
67
|
+
|
|
68
|
+
def wait: (
|
|
69
|
+
bucket: ::String,
|
|
70
|
+
?if_match: ::String,
|
|
71
|
+
?if_modified_since: ::Time,
|
|
72
|
+
?if_none_match: ::String,
|
|
73
|
+
?if_unmodified_since: ::Time,
|
|
74
|
+
key: ::String,
|
|
75
|
+
?range: ::String,
|
|
76
|
+
?response_cache_control: ::String,
|
|
77
|
+
?response_content_disposition: ::String,
|
|
78
|
+
?response_content_encoding: ::String,
|
|
79
|
+
?response_content_language: ::String,
|
|
80
|
+
?response_content_type: ::String,
|
|
81
|
+
?response_expires: ::Time,
|
|
82
|
+
?version_id: ::String,
|
|
83
|
+
?sse_customer_algorithm: ::String,
|
|
84
|
+
?sse_customer_key: ::String,
|
|
85
|
+
?sse_customer_key_md5: ::String,
|
|
86
|
+
?request_payer: ("requester"),
|
|
87
|
+
?part_number: ::Integer,
|
|
88
|
+
?expected_bucket_owner: ::String,
|
|
89
|
+
?checksum_mode: ("ENABLED")
|
|
90
|
+
) -> Client::_HeadObjectResponseSuccess
|
|
91
|
+
| (Hash[Symbol, untyped]) -> Client::_HeadObjectResponseSuccess
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aws-sdk-s3
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.212.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Amazon Web Services
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: aws-sdk-kms
|
|
@@ -30,14 +29,14 @@ dependencies:
|
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '1.
|
|
32
|
+
version: '1.5'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '1.
|
|
39
|
+
version: '1.5'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: aws-sdk-core
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -47,7 +46,7 @@ dependencies:
|
|
|
47
46
|
version: '3'
|
|
48
47
|
- - ">="
|
|
49
48
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: 3.
|
|
49
|
+
version: 3.241.4
|
|
51
50
|
type: :runtime
|
|
52
51
|
prerelease: false
|
|
53
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -57,16 +56,21 @@ dependencies:
|
|
|
57
56
|
version: '3'
|
|
58
57
|
- - ">="
|
|
59
58
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 3.
|
|
59
|
+
version: 3.241.4
|
|
61
60
|
description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
|
|
62
61
|
This gem is part of the AWS SDK for Ruby.
|
|
63
62
|
email:
|
|
64
|
-
-
|
|
63
|
+
- aws-dr-rubygems@amazon.com
|
|
65
64
|
executables: []
|
|
66
65
|
extensions: []
|
|
67
66
|
extra_rdoc_files: []
|
|
68
67
|
files:
|
|
68
|
+
- CHANGELOG.md
|
|
69
|
+
- LICENSE.txt
|
|
70
|
+
- VERSION
|
|
69
71
|
- lib/aws-sdk-s3.rb
|
|
72
|
+
- lib/aws-sdk-s3/access_grants_credentials.rb
|
|
73
|
+
- lib/aws-sdk-s3/access_grants_credentials_provider.rb
|
|
70
74
|
- lib/aws-sdk-s3/bucket.rb
|
|
71
75
|
- lib/aws-sdk-s3/bucket_acl.rb
|
|
72
76
|
- lib/aws-sdk-s3/bucket_cors.rb
|
|
@@ -84,10 +88,14 @@ files:
|
|
|
84
88
|
- lib/aws-sdk-s3/client_api.rb
|
|
85
89
|
- lib/aws-sdk-s3/customizations.rb
|
|
86
90
|
- lib/aws-sdk-s3/customizations/bucket.rb
|
|
91
|
+
- lib/aws-sdk-s3/customizations/errors.rb
|
|
87
92
|
- lib/aws-sdk-s3/customizations/multipart_upload.rb
|
|
88
93
|
- lib/aws-sdk-s3/customizations/object.rb
|
|
89
94
|
- lib/aws-sdk-s3/customizations/object_summary.rb
|
|
95
|
+
- lib/aws-sdk-s3/customizations/object_version.rb
|
|
90
96
|
- lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb
|
|
97
|
+
- lib/aws-sdk-s3/customizations/types/permanent_redirect.rb
|
|
98
|
+
- lib/aws-sdk-s3/default_executor.rb
|
|
91
99
|
- lib/aws-sdk-s3/encryption.rb
|
|
92
100
|
- lib/aws-sdk-s3/encryption/client.rb
|
|
93
101
|
- lib/aws-sdk-s3/encryption/decrypt_handler.rb
|
|
@@ -104,6 +112,7 @@ files:
|
|
|
104
112
|
- lib/aws-sdk-s3/encryption/utils.rb
|
|
105
113
|
- lib/aws-sdk-s3/encryptionV2/client.rb
|
|
106
114
|
- lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb
|
|
115
|
+
- lib/aws-sdk-s3/encryptionV2/decryption.rb
|
|
107
116
|
- lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb
|
|
108
117
|
- lib/aws-sdk-s3/encryptionV2/default_key_provider.rb
|
|
109
118
|
- lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb
|
|
@@ -115,13 +124,34 @@ files:
|
|
|
115
124
|
- lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb
|
|
116
125
|
- lib/aws-sdk-s3/encryptionV2/materials.rb
|
|
117
126
|
- lib/aws-sdk-s3/encryptionV2/utils.rb
|
|
127
|
+
- lib/aws-sdk-s3/encryptionV3/client.rb
|
|
128
|
+
- lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb
|
|
129
|
+
- lib/aws-sdk-s3/encryptionV3/decryption.rb
|
|
130
|
+
- lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb
|
|
131
|
+
- lib/aws-sdk-s3/encryptionV3/default_key_provider.rb
|
|
132
|
+
- lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb
|
|
133
|
+
- lib/aws-sdk-s3/encryptionV3/errors.rb
|
|
134
|
+
- lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb
|
|
135
|
+
- lib/aws-sdk-s3/encryptionV3/io_decrypter.rb
|
|
136
|
+
- lib/aws-sdk-s3/encryptionV3/io_encrypter.rb
|
|
137
|
+
- lib/aws-sdk-s3/encryptionV3/key_provider.rb
|
|
138
|
+
- lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb
|
|
139
|
+
- lib/aws-sdk-s3/encryptionV3/materials.rb
|
|
140
|
+
- lib/aws-sdk-s3/encryptionV3/utils.rb
|
|
118
141
|
- lib/aws-sdk-s3/encryption_v2.rb
|
|
142
|
+
- lib/aws-sdk-s3/encryption_v3.rb
|
|
143
|
+
- lib/aws-sdk-s3/endpoint_parameters.rb
|
|
144
|
+
- lib/aws-sdk-s3/endpoint_provider.rb
|
|
145
|
+
- lib/aws-sdk-s3/endpoints.rb
|
|
119
146
|
- lib/aws-sdk-s3/errors.rb
|
|
120
147
|
- lib/aws-sdk-s3/event_streams.rb
|
|
148
|
+
- lib/aws-sdk-s3/express_credentials.rb
|
|
149
|
+
- lib/aws-sdk-s3/express_credentials_provider.rb
|
|
121
150
|
- lib/aws-sdk-s3/file_downloader.rb
|
|
122
151
|
- lib/aws-sdk-s3/file_part.rb
|
|
123
152
|
- lib/aws-sdk-s3/file_uploader.rb
|
|
124
153
|
- lib/aws-sdk-s3/legacy_signer.rb
|
|
154
|
+
- lib/aws-sdk-s3/multipart_download_error.rb
|
|
125
155
|
- lib/aws-sdk-s3/multipart_file_uploader.rb
|
|
126
156
|
- lib/aws-sdk-s3/multipart_stream_uploader.rb
|
|
127
157
|
- lib/aws-sdk-s3/multipart_upload.rb
|
|
@@ -134,11 +164,15 @@ files:
|
|
|
134
164
|
- lib/aws-sdk-s3/object_summary.rb
|
|
135
165
|
- lib/aws-sdk-s3/object_version.rb
|
|
136
166
|
- lib/aws-sdk-s3/plugins/accelerate.rb
|
|
137
|
-
- lib/aws-sdk-s3/plugins/
|
|
167
|
+
- lib/aws-sdk-s3/plugins/access_grants.rb
|
|
168
|
+
- lib/aws-sdk-s3/plugins/arn.rb
|
|
138
169
|
- lib/aws-sdk-s3/plugins/bucket_dns.rb
|
|
139
170
|
- lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb
|
|
171
|
+
- lib/aws-sdk-s3/plugins/checksum_algorithm.rb
|
|
140
172
|
- lib/aws-sdk-s3/plugins/dualstack.rb
|
|
173
|
+
- lib/aws-sdk-s3/plugins/endpoints.rb
|
|
141
174
|
- lib/aws-sdk-s3/plugins/expect_100_continue.rb
|
|
175
|
+
- lib/aws-sdk-s3/plugins/express_session_auth.rb
|
|
142
176
|
- lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb
|
|
143
177
|
- lib/aws-sdk-s3/plugins/http_200_errors.rb
|
|
144
178
|
- lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb
|
|
@@ -153,15 +187,41 @@ files:
|
|
|
153
187
|
- lib/aws-sdk-s3/presigned_post.rb
|
|
154
188
|
- lib/aws-sdk-s3/presigner.rb
|
|
155
189
|
- lib/aws-sdk-s3/resource.rb
|
|
190
|
+
- lib/aws-sdk-s3/transfer_manager.rb
|
|
156
191
|
- lib/aws-sdk-s3/types.rb
|
|
157
192
|
- lib/aws-sdk-s3/waiters.rb
|
|
193
|
+
- sig/bucket.rbs
|
|
194
|
+
- sig/bucket_acl.rbs
|
|
195
|
+
- sig/bucket_cors.rbs
|
|
196
|
+
- sig/bucket_lifecycle.rbs
|
|
197
|
+
- sig/bucket_lifecycle_configuration.rbs
|
|
198
|
+
- sig/bucket_logging.rbs
|
|
199
|
+
- sig/bucket_notification.rbs
|
|
200
|
+
- sig/bucket_policy.rbs
|
|
201
|
+
- sig/bucket_request_payment.rbs
|
|
202
|
+
- sig/bucket_tagging.rbs
|
|
203
|
+
- sig/bucket_versioning.rbs
|
|
204
|
+
- sig/bucket_website.rbs
|
|
205
|
+
- sig/client.rbs
|
|
206
|
+
- sig/customizations/bucket.rbs
|
|
207
|
+
- sig/customizations/object.rbs
|
|
208
|
+
- sig/customizations/object_summary.rbs
|
|
209
|
+
- sig/errors.rbs
|
|
210
|
+
- sig/multipart_upload.rbs
|
|
211
|
+
- sig/multipart_upload_part.rbs
|
|
212
|
+
- sig/object.rbs
|
|
213
|
+
- sig/object_acl.rbs
|
|
214
|
+
- sig/object_summary.rbs
|
|
215
|
+
- sig/object_version.rbs
|
|
216
|
+
- sig/resource.rbs
|
|
217
|
+
- sig/types.rbs
|
|
218
|
+
- sig/waiters.rbs
|
|
158
219
|
homepage: https://github.com/aws/aws-sdk-ruby
|
|
159
220
|
licenses:
|
|
160
221
|
- Apache-2.0
|
|
161
222
|
metadata:
|
|
162
|
-
source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/
|
|
163
|
-
changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/
|
|
164
|
-
post_install_message:
|
|
223
|
+
source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3
|
|
224
|
+
changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3/CHANGELOG.md
|
|
165
225
|
rdoc_options: []
|
|
166
226
|
require_paths:
|
|
167
227
|
- lib
|
|
@@ -169,16 +229,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
169
229
|
requirements:
|
|
170
230
|
- - ">="
|
|
171
231
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
232
|
+
version: '2.7'
|
|
173
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
234
|
requirements:
|
|
175
235
|
- - ">="
|
|
176
236
|
- !ruby/object:Gem::Version
|
|
177
237
|
version: '0'
|
|
178
238
|
requirements: []
|
|
179
|
-
|
|
180
|
-
rubygems_version: 2.7.6.2
|
|
181
|
-
signing_key:
|
|
239
|
+
rubygems_version: 3.6.7
|
|
182
240
|
specification_version: 4
|
|
183
241
|
summary: AWS SDK for Ruby - Amazon S3
|
|
184
242
|
test_files: []
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Aws
|
|
4
|
-
module S3
|
|
5
|
-
module Plugins
|
|
6
|
-
# When an accesspoint ARN is provided for :bucket in S3 operations, this
|
|
7
|
-
# plugin resolves the request endpoint from the ARN when possible.
|
|
8
|
-
class BucketARN < Seahorse::Client::Plugin
|
|
9
|
-
option(
|
|
10
|
-
:s3_use_arn_region,
|
|
11
|
-
default: true,
|
|
12
|
-
doc_type: 'Boolean',
|
|
13
|
-
docstring: <<-DOCS) do |cfg|
|
|
14
|
-
By default, the SDK will use the S3 ARN region, and cross-region
|
|
15
|
-
requests could be made. Set to `false` to not use the region from
|
|
16
|
-
the S3 ARN.
|
|
17
|
-
DOCS
|
|
18
|
-
resolve_s3_use_arn_region(cfg)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def add_handlers(handlers, _config)
|
|
22
|
-
handlers.add(Handler)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# @api private
|
|
26
|
-
class Handler < Seahorse::Client::Handler
|
|
27
|
-
def call(context)
|
|
28
|
-
bucket_member = _bucket_member(context.operation.input.shape)
|
|
29
|
-
if bucket_member && (bucket = context.params[bucket_member])
|
|
30
|
-
_resolved_bucket, _resolved_region, arn = BucketARN.resolve_arn!(
|
|
31
|
-
bucket,
|
|
32
|
-
context.config.region,
|
|
33
|
-
context.config.s3_use_arn_region
|
|
34
|
-
)
|
|
35
|
-
if arn
|
|
36
|
-
if arn.resource.start_with?('accesspoint')
|
|
37
|
-
validate_config!(context.config)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
dualstack = extract_dualstack_config!(context)
|
|
41
|
-
|
|
42
|
-
BucketARN.resolve_url!(
|
|
43
|
-
context.http_request.endpoint,
|
|
44
|
-
arn,
|
|
45
|
-
dualstack
|
|
46
|
-
)
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
@handler.call(context)
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
def _bucket_member(input)
|
|
55
|
-
input.members.each do |member, ref|
|
|
56
|
-
return member if ref.shape.name == 'BucketName'
|
|
57
|
-
end
|
|
58
|
-
nil
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# other plugins use dualstack so disable it when we're done
|
|
62
|
-
def extract_dualstack_config!(context)
|
|
63
|
-
dualstack = context[:use_dualstack_endpoint]
|
|
64
|
-
context[:use_dualstack_endpoint] = false if dualstack
|
|
65
|
-
dualstack
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def validate_config!(config)
|
|
69
|
-
unless config.regional_endpoint
|
|
70
|
-
raise ArgumentError,
|
|
71
|
-
'Cannot provide both an accesspoint ARN and :endpoint.'
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
if config.use_accelerate_endpoint
|
|
75
|
-
raise ArgumentError,
|
|
76
|
-
'Cannot provide both an accesspoint ARN and setting '\
|
|
77
|
-
':use_accelerate_endpoint to true.'
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
if config.force_path_style
|
|
81
|
-
raise ArgumentError,
|
|
82
|
-
'Cannot provide both an accesspoint ARN and setting '\
|
|
83
|
-
':force_path_style to true.'
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
class << self
|
|
89
|
-
|
|
90
|
-
# @api private
|
|
91
|
-
def resolve_arn!(bucket_name, region, s3_use_arn_region)
|
|
92
|
-
if Aws::ARNParser.arn?(bucket_name)
|
|
93
|
-
arn = Aws::ARNParser.parse(bucket_name)
|
|
94
|
-
validate_s3_arn!(arn)
|
|
95
|
-
validate_region!(arn, region, s3_use_arn_region)
|
|
96
|
-
if arn.resource.start_with?('accesspoint')
|
|
97
|
-
region = arn.region if s3_use_arn_region
|
|
98
|
-
[bucket_name, region, arn]
|
|
99
|
-
else
|
|
100
|
-
raise ArgumentError,
|
|
101
|
-
'Only accesspoint type ARNs are currently supported.'
|
|
102
|
-
end
|
|
103
|
-
else
|
|
104
|
-
[bucket_name, region]
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
# @api private
|
|
109
|
-
def resolve_url!(url, arn, dualstack = false)
|
|
110
|
-
if arn.resource.start_with?('accesspoint')
|
|
111
|
-
url.host = accesspoint_arn_host(arn, dualstack)
|
|
112
|
-
else
|
|
113
|
-
raise ArgumentError,
|
|
114
|
-
'Only accesspoint type ARNs are currently supported.'
|
|
115
|
-
end
|
|
116
|
-
url.path = url_path(url.path, arn)
|
|
117
|
-
url
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
private
|
|
121
|
-
|
|
122
|
-
def accesspoint_arn_host(arn, dualstack)
|
|
123
|
-
_resource_type, resource_name = parse_resource(arn.resource)
|
|
124
|
-
sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(arn.region)
|
|
125
|
-
"#{resource_name}-#{arn.account_id}"\
|
|
126
|
-
'.s3-accesspoint'\
|
|
127
|
-
"#{'.dualstack' if dualstack}"\
|
|
128
|
-
".#{arn.region}.#{sfx}"
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
def parse_resource(str)
|
|
132
|
-
slash = str.index('/') || str.length
|
|
133
|
-
colon = str.index(':') || str.length
|
|
134
|
-
delimiter = slash < colon ? slash : colon
|
|
135
|
-
if delimiter < str.length
|
|
136
|
-
[str[0..(delimiter - 1)], str[(delimiter + 1)..-1]]
|
|
137
|
-
else
|
|
138
|
-
[nil, str]
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
def resolve_s3_use_arn_region(cfg)
|
|
143
|
-
value = ENV['AWS_S3_USE_ARN_REGION'] ||
|
|
144
|
-
Aws.shared_config.s3_use_arn_region(profile: cfg.profile) ||
|
|
145
|
-
'true'
|
|
146
|
-
|
|
147
|
-
# Raise if provided value is not true or false
|
|
148
|
-
if value != 'true' && value != 'false'
|
|
149
|
-
raise ArgumentError,
|
|
150
|
-
'Must provide either `true` or `false` for '\
|
|
151
|
-
's3_use_arn_region profile option or for '\
|
|
152
|
-
'ENV[\'AWS_S3_USE_ARN_REGION\']'
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
value == 'true'
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
def url_path(path, arn)
|
|
159
|
-
path = path.sub("/#{Seahorse::Util.uri_escape(arn.to_s)}", '')
|
|
160
|
-
.sub("/#{arn}", '')
|
|
161
|
-
"/#{path}" unless path.match(/^\//)
|
|
162
|
-
path
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
def validate_s3_arn!(arn)
|
|
166
|
-
_resource_type, resource_name = parse_resource(arn.resource)
|
|
167
|
-
|
|
168
|
-
unless arn.service == 's3'
|
|
169
|
-
raise ArgumentError, 'Must provide an S3 ARN.'
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
if arn.region.empty? || arn.account_id.empty?
|
|
173
|
-
raise ArgumentError,
|
|
174
|
-
'S3 Access Point ARNs must contain both a valid region '\
|
|
175
|
-
' and a valid account id.'
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
if resource_name.include?(':') || resource_name.include?('/')
|
|
179
|
-
raise ArgumentError,
|
|
180
|
-
'ARN resource id must be a single value.'
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
unless Plugins::BucketDns.valid_subdomain?(
|
|
184
|
-
"#{resource_name}-#{arn.account_id}"
|
|
185
|
-
)
|
|
186
|
-
raise ArgumentError,
|
|
187
|
-
"#{resource_name}-#{arn.account_id} is not a "\
|
|
188
|
-
'valid subdomain.'
|
|
189
|
-
end
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
def validate_region!(arn, region, s3_use_arn_region)
|
|
193
|
-
if region.include?('fips')
|
|
194
|
-
raise ArgumentError,
|
|
195
|
-
'FIPS client regions are currently not supported with '\
|
|
196
|
-
'accesspoint ARNs.'
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
if s3_use_arn_region &&
|
|
200
|
-
!Aws::Partitions.partition(arn.partition).region?(region)
|
|
201
|
-
raise Aws::Errors::InvalidARNPartitionError
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
if !s3_use_arn_region && region != arn.region
|
|
205
|
-
raise Aws::Errors::InvalidARNRegionError
|
|
206
|
-
end
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
end
|
|
210
|
-
end
|
|
211
|
-
end
|
|
212
|
-
end
|