aws-sdk-s3 1.91.0 → 1.92.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 +7 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3.rb +1 -1
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +2 -2
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +66 -0
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +3 -3
- data/lib/aws-sdk-s3/bucket.rb +6 -6
- data/lib/aws-sdk-s3/bucket_acl.rb +1 -1
- data/lib/aws-sdk-s3/bucket_cors.rb +3 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -2
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +2 -2
- data/lib/aws-sdk-s3/bucket_logging.rb +1 -1
- data/lib/aws-sdk-s3/bucket_notification.rb +1 -1
- data/lib/aws-sdk-s3/bucket_policy.rb +2 -2
- data/lib/aws-sdk-s3/bucket_request_payment.rb +1 -1
- data/lib/aws-sdk-s3/bucket_tagging.rb +2 -2
- data/lib/aws-sdk-s3/bucket_versioning.rb +3 -3
- data/lib/aws-sdk-s3/bucket_website.rb +2 -2
- data/lib/aws-sdk-s3/client.rb +662 -412
- data/lib/aws-sdk-s3/client_api.rb +58 -0
- data/lib/aws-sdk-s3/multipart_upload.rb +3 -3
- data/lib/aws-sdk-s3/multipart_upload_part.rb +4 -4
- data/lib/aws-sdk-s3/object.rb +9 -9
- data/lib/aws-sdk-s3/object_acl.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +9 -9
- data/lib/aws-sdk-s3/object_version.rb +4 -4
- data/lib/aws-sdk-s3/plugins/arn.rb +20 -13
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +9 -9
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +6 -0
- data/lib/aws-sdk-s3/types.rb +466 -159
- metadata +4 -2
@@ -152,7 +152,9 @@ module Aws::S3
|
|
152
152
|
End = Shapes::IntegerShape.new(name: 'End')
|
153
153
|
EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
|
154
154
|
Error = Shapes::StructureShape.new(name: 'Error')
|
155
|
+
ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
|
155
156
|
ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
|
157
|
+
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
156
158
|
Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
|
157
159
|
Event = Shapes::StringShape.new(name: 'Event')
|
158
160
|
EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
|
@@ -223,6 +225,7 @@ module Aws::S3
|
|
223
225
|
GetObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationRequest')
|
224
226
|
GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
|
225
227
|
GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
|
228
|
+
GetObjectResponseStatusCode = Shapes::IntegerShape.new(name: 'GetObjectResponseStatusCode')
|
226
229
|
GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
|
227
230
|
GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
|
228
231
|
GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
|
@@ -475,6 +478,8 @@ module Aws::S3
|
|
475
478
|
RequestPayer = Shapes::StringShape.new(name: 'RequestPayer')
|
476
479
|
RequestPaymentConfiguration = Shapes::StructureShape.new(name: 'RequestPaymentConfiguration')
|
477
480
|
RequestProgress = Shapes::StructureShape.new(name: 'RequestProgress')
|
481
|
+
RequestRoute = Shapes::StringShape.new(name: 'RequestRoute')
|
482
|
+
RequestToken = Shapes::StringShape.new(name: 'RequestToken')
|
478
483
|
ResponseCacheControl = Shapes::StringShape.new(name: 'ResponseCacheControl')
|
479
484
|
ResponseContentDisposition = Shapes::StringShape.new(name: 'ResponseContentDisposition')
|
480
485
|
ResponseContentEncoding = Shapes::StringShape.new(name: 'ResponseContentEncoding')
|
@@ -559,6 +564,7 @@ module Aws::S3
|
|
559
564
|
VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
|
560
565
|
WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
|
561
566
|
WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
|
567
|
+
WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
|
562
568
|
Years = Shapes::IntegerShape.new(name: 'Years')
|
563
569
|
|
564
570
|
AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
|
@@ -2432,6 +2438,46 @@ module Aws::S3
|
|
2432
2438
|
WebsiteConfiguration.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
|
2433
2439
|
WebsiteConfiguration.struct_class = Types::WebsiteConfiguration
|
2434
2440
|
|
2441
|
+
WriteGetObjectResponseRequest.add_member(:request_route, Shapes::ShapeRef.new(shape: RequestRoute, required: true, location: "header", location_name: "x-amz-request-route", metadata: {"hostLabel"=>true, "hostLabelName"=>"RequestRoute"}))
|
2442
|
+
WriteGetObjectResponseRequest.add_member(:request_token, Shapes::ShapeRef.new(shape: RequestToken, required: true, location: "header", location_name: "x-amz-request-token"))
|
2443
|
+
WriteGetObjectResponseRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
|
2444
|
+
WriteGetObjectResponseRequest.add_member(:status_code, Shapes::ShapeRef.new(shape: GetObjectResponseStatusCode, location: "header", location_name: "x-amz-fwd-status"))
|
2445
|
+
WriteGetObjectResponseRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location: "header", location_name: "x-amz-fwd-error-code"))
|
2446
|
+
WriteGetObjectResponseRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location: "header", location_name: "x-amz-fwd-error-message"))
|
2447
|
+
WriteGetObjectResponseRequest.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "x-amz-fwd-header-accept-ranges"))
|
2448
|
+
WriteGetObjectResponseRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "x-amz-fwd-header-Cache-Control"))
|
2449
|
+
WriteGetObjectResponseRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "x-amz-fwd-header-Content-Disposition"))
|
2450
|
+
WriteGetObjectResponseRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "x-amz-fwd-header-Content-Encoding"))
|
2451
|
+
WriteGetObjectResponseRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "x-amz-fwd-header-Content-Language"))
|
2452
|
+
WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
|
2453
|
+
WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
|
2454
|
+
WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
|
2455
|
+
WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
|
2456
|
+
WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
|
2457
|
+
WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
|
2458
|
+
WriteGetObjectResponseRequest.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-fwd-header-x-amz-expiration"))
|
2459
|
+
WriteGetObjectResponseRequest.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "x-amz-fwd-header-Last-Modified"))
|
2460
|
+
WriteGetObjectResponseRequest.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-fwd-header-x-amz-missing-meta"))
|
2461
|
+
WriteGetObjectResponseRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
|
2462
|
+
WriteGetObjectResponseRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-mode"))
|
2463
|
+
WriteGetObjectResponseRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-legal-hold"))
|
2464
|
+
WriteGetObjectResponseRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-retain-until-date"))
|
2465
|
+
WriteGetObjectResponseRequest.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-fwd-header-x-amz-mp-parts-count"))
|
2466
|
+
WriteGetObjectResponseRequest.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-replication-status"))
|
2467
|
+
WriteGetObjectResponseRequest.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-fwd-header-x-amz-request-charged"))
|
2468
|
+
WriteGetObjectResponseRequest.add_member(:restore, Shapes::ShapeRef.new(shape: Restore, location: "header", location_name: "x-amz-fwd-header-x-amz-restore"))
|
2469
|
+
WriteGetObjectResponseRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption"))
|
2470
|
+
WriteGetObjectResponseRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm"))
|
2471
|
+
WriteGetObjectResponseRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id"))
|
2472
|
+
WriteGetObjectResponseRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5"))
|
2473
|
+
WriteGetObjectResponseRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-fwd-header-x-amz-storage-class"))
|
2474
|
+
WriteGetObjectResponseRequest.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-fwd-header-x-amz-tagging-count"))
|
2475
|
+
WriteGetObjectResponseRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-fwd-header-x-amz-version-id"))
|
2476
|
+
WriteGetObjectResponseRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled"))
|
2477
|
+
WriteGetObjectResponseRequest.struct_class = Types::WriteGetObjectResponseRequest
|
2478
|
+
WriteGetObjectResponseRequest[:payload] = :body
|
2479
|
+
WriteGetObjectResponseRequest[:payload_member] = WriteGetObjectResponseRequest.member(:body)
|
2480
|
+
|
2435
2481
|
|
2436
2482
|
# @api private
|
2437
2483
|
API = Seahorse::Model::Api.new.tap do |api|
|
@@ -3288,6 +3334,18 @@ module Aws::S3
|
|
3288
3334
|
o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
|
3289
3335
|
o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
|
3290
3336
|
end)
|
3337
|
+
|
3338
|
+
api.add_operation(:write_get_object_response, Seahorse::Model::Operation.new.tap do |o|
|
3339
|
+
o.name = "WriteGetObjectResponse"
|
3340
|
+
o.http_method = "POST"
|
3341
|
+
o.http_request_uri = "/WriteGetObjectResponse"
|
3342
|
+
o['authtype'] = "v4-unsigned-body"
|
3343
|
+
o.endpoint_pattern = {
|
3344
|
+
"hostPrefix" => "{RequestRoute}.",
|
3345
|
+
}
|
3346
|
+
o.input = Shapes::ShapeRef.new(shape: WriteGetObjectResponseRequest)
|
3347
|
+
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
3348
|
+
end)
|
3291
3349
|
end
|
3292
3350
|
|
3293
3351
|
end
|
@@ -234,7 +234,7 @@ module Aws::S3
|
|
234
234
|
#
|
235
235
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
236
236
|
# @option options [String] :expected_bucket_owner
|
237
|
-
# The account
|
237
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
238
238
|
# a different account, the request will fail with an HTTP `403 (Access
|
239
239
|
# Denied)` error.
|
240
240
|
# @return [Types::AbortMultipartUploadOutput]
|
@@ -276,7 +276,7 @@ module Aws::S3
|
|
276
276
|
#
|
277
277
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
278
278
|
# @option options [String] :expected_bucket_owner
|
279
|
-
# The account
|
279
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
280
280
|
# a different account, the request will fail with an HTTP `403 (Access
|
281
281
|
# Denied)` error.
|
282
282
|
# @return [Object]
|
@@ -335,7 +335,7 @@ module Aws::S3
|
|
335
335
|
#
|
336
336
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
337
337
|
# @option options [String] :expected_bucket_owner
|
338
|
-
# The account
|
338
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
339
339
|
# a different account, the request will fail with an HTTP `403 (Access
|
340
340
|
# Denied)` error.
|
341
341
|
# @return [MultipartUploadPart::Collection]
|
@@ -269,7 +269,7 @@ module Aws::S3
|
|
269
269
|
#
|
270
270
|
#
|
271
271
|
#
|
272
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
272
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
273
273
|
# @option options [String] :copy_source_if_match
|
274
274
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
275
275
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
@@ -323,11 +323,11 @@ module Aws::S3
|
|
323
323
|
#
|
324
324
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
325
325
|
# @option options [String] :expected_bucket_owner
|
326
|
-
# The account
|
326
|
+
# The account ID of the expected destination bucket owner. If the
|
327
327
|
# destination bucket is owned by a different account, the request will
|
328
328
|
# fail with an HTTP `403 (Access Denied)` error.
|
329
329
|
# @option options [String] :expected_source_bucket_owner
|
330
|
-
# The account
|
330
|
+
# The account ID of the expected source bucket owner. If the source
|
331
331
|
# bucket is owned by a different account, the request will fail with an
|
332
332
|
# HTTP `403 (Access Denied)` error.
|
333
333
|
# @return [Types::UploadPartCopyOutput]
|
@@ -390,7 +390,7 @@ module Aws::S3
|
|
390
390
|
#
|
391
391
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
392
392
|
# @option options [String] :expected_bucket_owner
|
393
|
-
# The account
|
393
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
394
394
|
# a different account, the request will fail with an HTTP `403 (Access
|
395
395
|
# Denied)` error.
|
396
396
|
# @return [Types::UploadPartOutput]
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -632,7 +632,7 @@ module Aws::S3
|
|
632
632
|
#
|
633
633
|
#
|
634
634
|
#
|
635
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
635
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
636
636
|
# @option options [String] :copy_source_if_match
|
637
637
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
638
638
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
@@ -757,11 +757,11 @@ module Aws::S3
|
|
757
757
|
# @option options [String] :object_lock_legal_hold_status
|
758
758
|
# Specifies whether you want to apply a Legal Hold to the copied object.
|
759
759
|
# @option options [String] :expected_bucket_owner
|
760
|
-
# The account
|
760
|
+
# The account ID of the expected destination bucket owner. If the
|
761
761
|
# destination bucket is owned by a different account, the request will
|
762
762
|
# fail with an HTTP `403 (Access Denied)` error.
|
763
763
|
# @option options [String] :expected_source_bucket_owner
|
764
|
-
# The account
|
764
|
+
# The account ID of the expected source bucket owner. If the source
|
765
765
|
# bucket is owned by a different account, the request will fail with an
|
766
766
|
# HTTP `403 (Access Denied)` error.
|
767
767
|
# @return [Types::CopyObjectOutput]
|
@@ -805,7 +805,7 @@ module Aws::S3
|
|
805
805
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
806
806
|
# restrictions to process this operation.
|
807
807
|
# @option options [String] :expected_bucket_owner
|
808
|
-
# The account
|
808
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
809
809
|
# a different account, the request will fail with an HTTP `403 (Access
|
810
810
|
# Denied)` error.
|
811
811
|
# @return [Types::DeleteObjectOutput]
|
@@ -909,7 +909,7 @@ module Aws::S3
|
|
909
909
|
# for the part specified. Useful for downloading just a part of an
|
910
910
|
# object.
|
911
911
|
# @option options [String] :expected_bucket_owner
|
912
|
-
# The account
|
912
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
913
913
|
# a different account, the request will fail with an HTTP `403 (Access
|
914
914
|
# Denied)` error.
|
915
915
|
# @return [Types::GetObjectOutput]
|
@@ -1069,7 +1069,7 @@ module Aws::S3
|
|
1069
1069
|
# Specifies whether you want to apply a Legal Hold to the uploaded
|
1070
1070
|
# object.
|
1071
1071
|
# @option options [String] :expected_bucket_owner
|
1072
|
-
# The account
|
1072
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1073
1073
|
# a different account, the request will fail with an HTTP `403 (Access
|
1074
1074
|
# Denied)` error.
|
1075
1075
|
# @return [MultipartUpload]
|
@@ -1318,7 +1318,7 @@ module Aws::S3
|
|
1318
1318
|
#
|
1319
1319
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
1320
1320
|
# @option options [String] :expected_bucket_owner
|
1321
|
-
# The account
|
1321
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1322
1322
|
# a different account, the request will fail with an HTTP `403 (Access
|
1323
1323
|
# Denied)` error.
|
1324
1324
|
# @return [Types::PutObjectOutput]
|
@@ -1435,7 +1435,7 @@ module Aws::S3
|
|
1435
1435
|
#
|
1436
1436
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1437
1437
|
# @option options [String] :expected_bucket_owner
|
1438
|
-
# The account
|
1438
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1439
1439
|
# a different account, the request will fail with an HTTP `403 (Access
|
1440
1440
|
# Denied)` error.
|
1441
1441
|
# @return [Types::RestoreObjectOutput]
|
@@ -1583,7 +1583,7 @@ module Aws::S3
|
|
1583
1583
|
# Governance-type Object Lock in place. You must have sufficient
|
1584
1584
|
# permissions to perform this operation.
|
1585
1585
|
# @option options [String] :expected_bucket_owner
|
1586
|
-
# The account
|
1586
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1587
1587
|
# a different account, the request will fail with an HTTP `403 (Access
|
1588
1588
|
# Denied)` error.
|
1589
1589
|
# @return [void]
|
@@ -286,7 +286,7 @@ module Aws::S3
|
|
286
286
|
# @option options [String] :version_id
|
287
287
|
# VersionId used to reference a specific version of the object.
|
288
288
|
# @option options [String] :expected_bucket_owner
|
289
|
-
# The account
|
289
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
290
290
|
# a different account, the request will fail with an HTTP `403 (Access
|
291
291
|
# Denied)` error.
|
292
292
|
# @return [Types::PutObjectAclOutput]
|
@@ -375,7 +375,7 @@ module Aws::S3
|
|
375
375
|
#
|
376
376
|
#
|
377
377
|
#
|
378
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
378
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
379
379
|
# @option options [String] :copy_source_if_match
|
380
380
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
381
381
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
@@ -500,11 +500,11 @@ module Aws::S3
|
|
500
500
|
# @option options [String] :object_lock_legal_hold_status
|
501
501
|
# Specifies whether you want to apply a Legal Hold to the copied object.
|
502
502
|
# @option options [String] :expected_bucket_owner
|
503
|
-
# The account
|
503
|
+
# The account ID of the expected destination bucket owner. If the
|
504
504
|
# destination bucket is owned by a different account, the request will
|
505
505
|
# fail with an HTTP `403 (Access Denied)` error.
|
506
506
|
# @option options [String] :expected_source_bucket_owner
|
507
|
-
# The account
|
507
|
+
# The account ID of the expected source bucket owner. If the source
|
508
508
|
# bucket is owned by a different account, the request will fail with an
|
509
509
|
# HTTP `403 (Access Denied)` error.
|
510
510
|
# @return [Types::CopyObjectOutput]
|
@@ -548,7 +548,7 @@ module Aws::S3
|
|
548
548
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
549
549
|
# restrictions to process this operation.
|
550
550
|
# @option options [String] :expected_bucket_owner
|
551
|
-
# The account
|
551
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
552
552
|
# a different account, the request will fail with an HTTP `403 (Access
|
553
553
|
# Denied)` error.
|
554
554
|
# @return [Types::DeleteObjectOutput]
|
@@ -652,7 +652,7 @@ module Aws::S3
|
|
652
652
|
# for the part specified. Useful for downloading just a part of an
|
653
653
|
# object.
|
654
654
|
# @option options [String] :expected_bucket_owner
|
655
|
-
# The account
|
655
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
656
656
|
# a different account, the request will fail with an HTTP `403 (Access
|
657
657
|
# Denied)` error.
|
658
658
|
# @return [Types::GetObjectOutput]
|
@@ -812,7 +812,7 @@ module Aws::S3
|
|
812
812
|
# Specifies whether you want to apply a Legal Hold to the uploaded
|
813
813
|
# object.
|
814
814
|
# @option options [String] :expected_bucket_owner
|
815
|
-
# The account
|
815
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
816
816
|
# a different account, the request will fail with an HTTP `403 (Access
|
817
817
|
# Denied)` error.
|
818
818
|
# @return [MultipartUpload]
|
@@ -1061,7 +1061,7 @@ module Aws::S3
|
|
1061
1061
|
#
|
1062
1062
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
1063
1063
|
# @option options [String] :expected_bucket_owner
|
1064
|
-
# The account
|
1064
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1065
1065
|
# a different account, the request will fail with an HTTP `403 (Access
|
1066
1066
|
# Denied)` error.
|
1067
1067
|
# @return [Types::PutObjectOutput]
|
@@ -1178,7 +1178,7 @@ module Aws::S3
|
|
1178
1178
|
#
|
1179
1179
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1180
1180
|
# @option options [String] :expected_bucket_owner
|
1181
|
-
# The account
|
1181
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1182
1182
|
# a different account, the request will fail with an HTTP `403 (Access
|
1183
1183
|
# Denied)` error.
|
1184
1184
|
# @return [Types::RestoreObjectOutput]
|
@@ -1335,7 +1335,7 @@ module Aws::S3
|
|
1335
1335
|
# Governance-type Object Lock in place. You must have sufficient
|
1336
1336
|
# permissions to perform this operation.
|
1337
1337
|
# @option options [String] :expected_bucket_owner
|
1338
|
-
# The account
|
1338
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
1339
1339
|
# a different account, the request will fail with an HTTP `403 (Access
|
1340
1340
|
# Denied)` error.
|
1341
1341
|
# @return [void]
|
@@ -256,7 +256,7 @@ module Aws::S3
|
|
256
256
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
257
257
|
# restrictions to process this operation.
|
258
258
|
# @option options [String] :expected_bucket_owner
|
259
|
-
# The account
|
259
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
260
260
|
# a different account, the request will fail with an HTTP `403 (Access
|
261
261
|
# Denied)` error.
|
262
262
|
# @return [Types::DeleteObjectOutput]
|
@@ -358,7 +358,7 @@ module Aws::S3
|
|
358
358
|
# for the part specified. Useful for downloading just a part of an
|
359
359
|
# object.
|
360
360
|
# @option options [String] :expected_bucket_owner
|
361
|
-
# The account
|
361
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
362
362
|
# a different account, the request will fail with an HTTP `403 (Access
|
363
363
|
# Denied)` error.
|
364
364
|
# @return [Types::GetObjectOutput]
|
@@ -442,7 +442,7 @@ module Aws::S3
|
|
442
442
|
# for the part specified. Useful querying about the size of the part and
|
443
443
|
# the number of parts in this object.
|
444
444
|
# @option options [String] :expected_bucket_owner
|
445
|
-
# The account
|
445
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
446
446
|
# a different account, the request will fail with an HTTP `403 (Access
|
447
447
|
# Denied)` error.
|
448
448
|
# @return [Types::HeadObjectOutput]
|
@@ -546,7 +546,7 @@ module Aws::S3
|
|
546
546
|
# Governance-type Object Lock in place. You must have sufficient
|
547
547
|
# permissions to perform this operation.
|
548
548
|
# @option options [String] :expected_bucket_owner
|
549
|
-
# The account
|
549
|
+
# The account ID of the expected bucket owner. If the bucket is owned by
|
550
550
|
# a different account, the request will fail with an HTTP `403 (Access
|
551
551
|
# Denied)` error.
|
552
552
|
# @return [void]
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../arn/access_point_arn'
|
4
|
+
require_relative '../arn/object_lambda_arn'
|
4
5
|
require_relative '../arn/outpost_access_point_arn'
|
5
6
|
|
6
7
|
module Aws
|
@@ -22,9 +23,9 @@ be made. Set to `false` to use the client's region instead.
|
|
22
23
|
resolve_s3_use_arn_region(cfg)
|
23
24
|
end
|
24
25
|
|
25
|
-
# param validator is validate:50
|
26
|
+
# param validator is validate:50
|
26
27
|
# endpoint is build:90 (populates the URI for the first time)
|
27
|
-
# endpoint pattern is build:10
|
28
|
+
# endpoint pattern is build:10
|
28
29
|
def add_handlers(handlers, _config)
|
29
30
|
handlers.add(ARNHandler, step: :validate, priority: 75)
|
30
31
|
handlers.add(UrlHandler)
|
@@ -114,15 +115,7 @@ be made. Set to `false` to use the client's region instead.
|
|
114
115
|
def resolve_arn!(member_value, region, use_arn_region)
|
115
116
|
if Aws::ARNParser.arn?(member_value)
|
116
117
|
arn = Aws::ARNParser.parse(member_value)
|
117
|
-
|
118
|
-
s3_arn = Aws::S3::AccessPointARN.new(arn.to_h)
|
119
|
-
elsif arn.resource.start_with?('outpost')
|
120
|
-
s3_arn = Aws::S3::OutpostAccessPointARN.new(arn.to_h)
|
121
|
-
else
|
122
|
-
raise ArgumentError,
|
123
|
-
'Only Access Point and Outpost Access Point type ARNs '\
|
124
|
-
'are currently supported.'
|
125
|
-
end
|
118
|
+
s3_arn = resolve_arn_type!(arn)
|
126
119
|
s3_arn.validate_arn!
|
127
120
|
validate_region_config!(s3_arn, region, use_arn_region)
|
128
121
|
region = s3_arn.region if use_arn_region
|
@@ -142,6 +135,21 @@ be made. Set to `false` to use the client's region instead.
|
|
142
135
|
|
143
136
|
private
|
144
137
|
|
138
|
+
def resolve_arn_type!(arn)
|
139
|
+
case arn.service
|
140
|
+
when 's3'
|
141
|
+
Aws::S3::AccessPointARN.new(arn.to_h)
|
142
|
+
when 's3-outposts'
|
143
|
+
Aws::S3::OutpostAccessPointARN.new(arn.to_h)
|
144
|
+
when 's3-object-lambda'
|
145
|
+
Aws::S3::ObjectLambdaARN.new(arn.to_h)
|
146
|
+
else
|
147
|
+
raise ArgumentError,
|
148
|
+
'Only Access Point, Outposts, and Object Lambdas ARNs '\
|
149
|
+
'are currently supported.'
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
145
153
|
def resolve_s3_use_arn_region(cfg)
|
146
154
|
value = ENV['AWS_S3_USE_ARN_REGION'] ||
|
147
155
|
Aws.shared_config.s3_use_arn_region(profile: cfg.profile) ||
|
@@ -157,8 +165,7 @@ be made. Set to `false` to use the client's region instead.
|
|
157
165
|
value
|
158
166
|
end
|
159
167
|
|
160
|
-
# Remove ARN from the path
|
161
|
-
# This only works because accesspoints care about the URL
|
168
|
+
# Remove ARN from the path because we've already set the new host
|
162
169
|
def url_path(path, arn)
|
163
170
|
path = path.sub("/#{Seahorse::Util.uri_escape(arn.to_s)}", '')
|
164
171
|
.sub("/#{arn}", '')
|
@@ -10,8 +10,8 @@ module Aws
|
|
10
10
|
default: 'legacy',
|
11
11
|
doc_type: String,
|
12
12
|
docstring: <<-DOCS) do |cfg|
|
13
|
-
|
14
|
-
|
13
|
+
Pass in `regional` to enable the `us-east-1` regional endpoint.
|
14
|
+
Defaults to `legacy` mode which uses the global endpoint.
|
15
15
|
DOCS
|
16
16
|
resolve_iad_regional_endpoint(cfg)
|
17
17
|
end
|
@@ -27,14 +27,14 @@ region. Defaults to `legacy` mode using global endpoint.
|
|
27
27
|
class Handler < Seahorse::Client::Handler
|
28
28
|
|
29
29
|
def call(context)
|
30
|
-
#
|
31
|
-
|
30
|
+
# WriteGetObjectResponse does not have a global endpoint
|
31
|
+
# ARNs are regionalized, so don't touch those either.
|
32
|
+
if context.operation.name != 'WriteGetObjectResponse' &&
|
33
|
+
context.config.s3_us_east_1_regional_endpoint == 'legacy' &&
|
34
|
+
!context.metadata[:s3_arn]
|
32
35
|
host = context.http_request.endpoint.host
|
33
|
-
|
34
|
-
|
35
|
-
legacy_host = IADRegionalEndpoint.legacy_host(host)
|
36
|
-
context.http_request.endpoint.host = legacy_host
|
37
|
-
end
|
36
|
+
legacy_host = IADRegionalEndpoint.legacy_host(host)
|
37
|
+
context.http_request.endpoint.host = legacy_host
|
38
38
|
end
|
39
39
|
@handler.call(context)
|
40
40
|
end
|