aws-sdk-s3 1.109.0 → 1.156.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 +352 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
- data/lib/aws-sdk-s3/bucket.rb +585 -110
- data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
- data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
- data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
- data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
- data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
- data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
- data/lib/aws-sdk-s3/bucket_website.rb +34 -10
- data/lib/aws-sdk-s3/client.rb +7900 -3252
- data/lib/aws-sdk-s3/client_api.rb +706 -228
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/object.rb +97 -21
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +10 -0
- data/lib/aws-sdk-s3/encryption/client.rb +6 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +186 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
- data/lib/aws-sdk-s3/endpoints.rb +2689 -0
- 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 +170 -45
- data/lib/aws-sdk-s3/file_uploader.rb +11 -4
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
- data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
- data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
- data/lib/aws-sdk-s3/object.rb +1753 -266
- data/lib/aws-sdk-s3/object_acl.rb +49 -13
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
- data/lib/aws-sdk-s3/object_summary.rb +1497 -221
- data/lib/aws-sdk-s3/object_version.rb +383 -58
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
- data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
- data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
- data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
- data/lib/aws-sdk-s3/presigned_post.rb +99 -78
- data/lib/aws-sdk-s3/presigner.rb +28 -37
- data/lib/aws-sdk-s3/resource.rb +89 -13
- data/lib/aws-sdk-s3/types.rb +6544 -4909
- data/lib/aws-sdk-s3.rb +5 -1
- data/sig/bucket.rbs +212 -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 +111 -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 +2381 -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 +34 -0
- data/sig/multipart_upload.rbs +110 -0
- data/sig/multipart_upload_part.rbs +105 -0
- data/sig/object.rbs +442 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +334 -0
- data/sig/object_version.rbs +137 -0
- data/sig/resource.rbs +127 -0
- data/sig/types.rbs +2568 -0
- data/sig/waiters.rbs +95 -0
- metadata +50 -16
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
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,14 @@
|
|
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.156.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:
|
11
|
+
date: 2024-07-02 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.
|
33
|
+
version: '1.5'
|
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.
|
40
|
+
version: '1.5'
|
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.
|
50
|
+
version: 3.201.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.
|
60
|
+
version: 3.201.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,10 +70,8 @@ files:
|
|
70
70
|
- LICENSE.txt
|
71
71
|
- VERSION
|
72
72
|
- lib/aws-sdk-s3.rb
|
73
|
-
- lib/aws-sdk-s3/
|
74
|
-
- lib/aws-sdk-s3/
|
75
|
-
- lib/aws-sdk-s3/arn/object_lambda_arn.rb
|
76
|
-
- lib/aws-sdk-s3/arn/outpost_access_point_arn.rb
|
73
|
+
- lib/aws-sdk-s3/access_grants_credentials.rb
|
74
|
+
- lib/aws-sdk-s3/access_grants_credentials_provider.rb
|
77
75
|
- lib/aws-sdk-s3/bucket.rb
|
78
76
|
- lib/aws-sdk-s3/bucket_acl.rb
|
79
77
|
- lib/aws-sdk-s3/bucket_cors.rb
|
@@ -91,10 +89,12 @@ files:
|
|
91
89
|
- lib/aws-sdk-s3/client_api.rb
|
92
90
|
- lib/aws-sdk-s3/customizations.rb
|
93
91
|
- lib/aws-sdk-s3/customizations/bucket.rb
|
92
|
+
- lib/aws-sdk-s3/customizations/errors.rb
|
94
93
|
- lib/aws-sdk-s3/customizations/multipart_upload.rb
|
95
94
|
- lib/aws-sdk-s3/customizations/object.rb
|
96
95
|
- lib/aws-sdk-s3/customizations/object_summary.rb
|
97
96
|
- lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb
|
97
|
+
- lib/aws-sdk-s3/customizations/types/permanent_redirect.rb
|
98
98
|
- lib/aws-sdk-s3/encryption.rb
|
99
99
|
- lib/aws-sdk-s3/encryption/client.rb
|
100
100
|
- lib/aws-sdk-s3/encryption/decrypt_handler.rb
|
@@ -123,8 +123,13 @@ files:
|
|
123
123
|
- lib/aws-sdk-s3/encryptionV2/materials.rb
|
124
124
|
- lib/aws-sdk-s3/encryptionV2/utils.rb
|
125
125
|
- lib/aws-sdk-s3/encryption_v2.rb
|
126
|
+
- lib/aws-sdk-s3/endpoint_parameters.rb
|
127
|
+
- lib/aws-sdk-s3/endpoint_provider.rb
|
128
|
+
- lib/aws-sdk-s3/endpoints.rb
|
126
129
|
- lib/aws-sdk-s3/errors.rb
|
127
130
|
- lib/aws-sdk-s3/event_streams.rb
|
131
|
+
- lib/aws-sdk-s3/express_credentials.rb
|
132
|
+
- lib/aws-sdk-s3/express_credentials_provider.rb
|
128
133
|
- lib/aws-sdk-s3/file_downloader.rb
|
129
134
|
- lib/aws-sdk-s3/file_part.rb
|
130
135
|
- lib/aws-sdk-s3/file_uploader.rb
|
@@ -141,20 +146,23 @@ files:
|
|
141
146
|
- lib/aws-sdk-s3/object_summary.rb
|
142
147
|
- lib/aws-sdk-s3/object_version.rb
|
143
148
|
- lib/aws-sdk-s3/plugins/accelerate.rb
|
149
|
+
- lib/aws-sdk-s3/plugins/access_grants.rb
|
144
150
|
- lib/aws-sdk-s3/plugins/arn.rb
|
145
151
|
- lib/aws-sdk-s3/plugins/bucket_dns.rb
|
146
152
|
- lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb
|
147
153
|
- lib/aws-sdk-s3/plugins/dualstack.rb
|
154
|
+
- lib/aws-sdk-s3/plugins/endpoints.rb
|
148
155
|
- lib/aws-sdk-s3/plugins/expect_100_continue.rb
|
156
|
+
- lib/aws-sdk-s3/plugins/express_session_auth.rb
|
149
157
|
- lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb
|
150
158
|
- lib/aws-sdk-s3/plugins/http_200_errors.rb
|
151
159
|
- lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb
|
152
160
|
- lib/aws-sdk-s3/plugins/location_constraint.rb
|
153
161
|
- lib/aws-sdk-s3/plugins/md5s.rb
|
154
|
-
- lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb
|
155
162
|
- lib/aws-sdk-s3/plugins/redirects.rb
|
156
163
|
- lib/aws-sdk-s3/plugins/s3_host_id.rb
|
157
164
|
- lib/aws-sdk-s3/plugins/s3_signer.rb
|
165
|
+
- lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb
|
158
166
|
- lib/aws-sdk-s3/plugins/sse_cpk.rb
|
159
167
|
- lib/aws-sdk-s3/plugins/streaming_retry.rb
|
160
168
|
- lib/aws-sdk-s3/plugins/url_encoded_keys.rb
|
@@ -163,13 +171,39 @@ files:
|
|
163
171
|
- lib/aws-sdk-s3/resource.rb
|
164
172
|
- lib/aws-sdk-s3/types.rb
|
165
173
|
- lib/aws-sdk-s3/waiters.rb
|
174
|
+
- sig/bucket.rbs
|
175
|
+
- sig/bucket_acl.rbs
|
176
|
+
- sig/bucket_cors.rbs
|
177
|
+
- sig/bucket_lifecycle.rbs
|
178
|
+
- sig/bucket_lifecycle_configuration.rbs
|
179
|
+
- sig/bucket_logging.rbs
|
180
|
+
- sig/bucket_notification.rbs
|
181
|
+
- sig/bucket_policy.rbs
|
182
|
+
- sig/bucket_request_payment.rbs
|
183
|
+
- sig/bucket_tagging.rbs
|
184
|
+
- sig/bucket_versioning.rbs
|
185
|
+
- sig/bucket_website.rbs
|
186
|
+
- sig/client.rbs
|
187
|
+
- sig/customizations/bucket.rbs
|
188
|
+
- sig/customizations/object.rbs
|
189
|
+
- sig/customizations/object_summary.rbs
|
190
|
+
- sig/errors.rbs
|
191
|
+
- sig/multipart_upload.rbs
|
192
|
+
- sig/multipart_upload_part.rbs
|
193
|
+
- sig/object.rbs
|
194
|
+
- sig/object_acl.rbs
|
195
|
+
- sig/object_summary.rbs
|
196
|
+
- sig/object_version.rbs
|
197
|
+
- sig/resource.rbs
|
198
|
+
- sig/types.rbs
|
199
|
+
- sig/waiters.rbs
|
166
200
|
homepage: https://github.com/aws/aws-sdk-ruby
|
167
201
|
licenses:
|
168
202
|
- Apache-2.0
|
169
203
|
metadata:
|
170
204
|
source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3
|
171
205
|
changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3/CHANGELOG.md
|
172
|
-
post_install_message:
|
206
|
+
post_install_message:
|
173
207
|
rdoc_options: []
|
174
208
|
require_paths:
|
175
209
|
- lib
|
@@ -177,15 +211,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
211
|
requirements:
|
178
212
|
- - ">="
|
179
213
|
- !ruby/object:Gem::Version
|
180
|
-
version: '2.
|
214
|
+
version: '2.5'
|
181
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
216
|
requirements:
|
183
217
|
- - ">="
|
184
218
|
- !ruby/object:Gem::Version
|
185
219
|
version: '0'
|
186
220
|
requirements: []
|
187
|
-
rubygems_version: 3.
|
188
|
-
signing_key:
|
221
|
+
rubygems_version: 3.4.10
|
222
|
+
signing_key:
|
189
223
|
specification_version: 4
|
190
224
|
summary: AWS SDK for Ruby - Amazon S3
|
191
225
|
test_files: []
|
@@ -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 Access Point name.'
|
42
|
-
end
|
43
|
-
|
44
|
-
if @extra
|
45
|
-
raise ArgumentError,
|
46
|
-
'ARN Access Point 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, 's3')
|
64
|
-
"#{pfx}.s3-accesspoint#{'-fips' if fips}#{'.dualstack' if dualstack}.#{region}.#{sfx}"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Aws
|
4
|
-
module S3
|
5
|
-
# @api private
|
6
|
-
class MultiRegionAccessPointARN < Aws::ARN
|
7
|
-
def initialize(options)
|
8
|
-
super(options)
|
9
|
-
@type, @mrap_alias, @extra = @resource.split(/[:,\/]/)
|
10
|
-
end
|
11
|
-
|
12
|
-
attr_reader :mrap_alias
|
13
|
-
|
14
|
-
def support_dualstack?
|
15
|
-
false
|
16
|
-
end
|
17
|
-
|
18
|
-
def support_fips?
|
19
|
-
false
|
20
|
-
end
|
21
|
-
|
22
|
-
def validate_arn!
|
23
|
-
unless @service == 's3'
|
24
|
-
raise ArgumentError,
|
25
|
-
'Must provide a valid S3 multi-region access point ARN.'
|
26
|
-
end
|
27
|
-
|
28
|
-
if @account_id.empty?
|
29
|
-
raise ArgumentError,
|
30
|
-
'S3 multi-region access point ARNs must contain '\
|
31
|
-
'an account id.'
|
32
|
-
end
|
33
|
-
|
34
|
-
unless @region.empty?
|
35
|
-
raise ArgumentError,
|
36
|
-
'Multi-region access points must have an empty region.'
|
37
|
-
end
|
38
|
-
|
39
|
-
if @type != 'accesspoint'
|
40
|
-
raise ArgumentError, 'Invalid ARN, resource format is not correct'
|
41
|
-
end
|
42
|
-
|
43
|
-
if @mrap_alias.nil? || @mrap_alias.empty?
|
44
|
-
raise ArgumentError, 'Missing ARN multi-region access points alias.'
|
45
|
-
end
|
46
|
-
|
47
|
-
unless @mrap_alias.split('.').all? { |s| Seahorse::Util.host_label?(s) }
|
48
|
-
raise ArgumentError, "#{@mrap_alias} is not a valid "\
|
49
|
-
'multi region access point alias.'
|
50
|
-
end
|
51
|
-
|
52
|
-
if @extra
|
53
|
-
raise ArgumentError,
|
54
|
-
'ARN access point resource must be a single value.'
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def host_url(_region, _fips = false, _dualstack = false, custom_endpoint = nil)
|
59
|
-
if custom_endpoint
|
60
|
-
"#{@mrap_alias}.#{custom_endpoint}"
|
61
|
-
else
|
62
|
-
sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition, 's3')
|
63
|
-
"#{@mrap_alias}.accesspoint.s3-global.#{sfx}"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
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 Lambda 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 Object Lambda 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 Access Point name.'
|
42
|
-
end
|
43
|
-
|
44
|
-
if @extra
|
45
|
-
raise ArgumentError,
|
46
|
-
'ARN Access Point 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, 's3')
|
64
|
-
"#{pfx}.s3-object-lambda#{'-fips' if fips}.#{region}.#{sfx}"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
@@ -1,74 +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 Outpost Access '\
|
24
|
-
'Point ARN.'
|
25
|
-
end
|
26
|
-
|
27
|
-
if @region.empty? || @account_id.empty?
|
28
|
-
raise ArgumentError,
|
29
|
-
'S3 Outpost Access Point ARNs must contain both a region '\
|
30
|
-
'and an account ID.'
|
31
|
-
end
|
32
|
-
|
33
|
-
if @type != 'outpost' && @subtype != 'accesspoint'
|
34
|
-
raise ArgumentError, 'Invalid ARN, resource format is not correct.'
|
35
|
-
end
|
36
|
-
|
37
|
-
if @outpost_id.nil? || @outpost_id.empty?
|
38
|
-
raise ArgumentError, 'Missing ARN Outpost ID.'
|
39
|
-
end
|
40
|
-
|
41
|
-
if @access_point_name.nil? || @access_point_name.empty?
|
42
|
-
raise ArgumentError, 'Missing ARN Access Point name.'
|
43
|
-
end
|
44
|
-
|
45
|
-
if @extra
|
46
|
-
raise ArgumentError,
|
47
|
-
'ARN Access Point resource must be a single value.'
|
48
|
-
end
|
49
|
-
|
50
|
-
unless Seahorse::Util.host_label?(
|
51
|
-
"#{@access_point_name}-#{@account_id}"
|
52
|
-
)
|
53
|
-
raise ArgumentError,
|
54
|
-
"#{@access_point_name}-#{@account_id} is not a valid "\
|
55
|
-
'host label.'
|
56
|
-
end
|
57
|
-
|
58
|
-
unless Seahorse::Util.host_label?(@outpost_id)
|
59
|
-
raise ArgumentError, "#{@outpost_id} is not a valid host label."
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# Outpost ARNs currently do not support dualstack
|
64
|
-
def host_url(region, _fips = false, _dualstack = false, custom_endpoint = nil)
|
65
|
-
pfx = "#{@access_point_name}-#{@account_id}.#{@outpost_id}"
|
66
|
-
if custom_endpoint
|
67
|
-
"#{pfx}.#{custom_endpoint}"
|
68
|
-
else
|
69
|
-
"#{pfx}.s3-outposts.#{region}.amazonaws.com"
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
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
|