aws-sdk-s3 1.80.0 → 1.83.1

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.
@@ -115,6 +115,7 @@ module Aws::S3
115
115
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
116
116
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
117
117
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
118
+ DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
118
119
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
119
120
  DeleteBucketReplicationRequest = Shapes::StructureShape.new(name: 'DeleteBucketReplicationRequest')
120
121
  DeleteBucketRequest = Shapes::StructureShape.new(name: 'DeleteBucketRequest')
@@ -193,6 +194,8 @@ module Aws::S3
193
194
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
194
195
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
195
196
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
197
+ GetBucketOwnershipControlsOutput = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsOutput')
198
+ GetBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsRequest')
196
199
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
197
200
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
198
201
  GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
@@ -362,6 +365,7 @@ module Aws::S3
362
365
  ObjectLockRule = Shapes::StructureShape.new(name: 'ObjectLockRule')
363
366
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
364
367
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
368
+ ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
365
369
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
366
370
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
367
371
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
@@ -371,6 +375,9 @@ module Aws::S3
371
375
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
372
376
  Owner = Shapes::StructureShape.new(name: 'Owner')
373
377
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
378
+ OwnershipControls = Shapes::StructureShape.new(name: 'OwnershipControls')
379
+ OwnershipControlsRule = Shapes::StructureShape.new(name: 'OwnershipControlsRule')
380
+ OwnershipControlsRules = Shapes::ListShape.new(name: 'OwnershipControlsRules', flattened: true)
374
381
  ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
375
382
  Part = Shapes::StructureShape.new(name: 'Part')
376
383
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
@@ -399,6 +406,7 @@ module Aws::S3
399
406
  PutBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketMetricsConfigurationRequest')
400
407
  PutBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationConfigurationRequest')
401
408
  PutBucketNotificationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationRequest')
409
+ PutBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'PutBucketOwnershipControlsRequest')
402
410
  PutBucketPolicyRequest = Shapes::StructureShape.new(name: 'PutBucketPolicyRequest')
403
411
  PutBucketReplicationRequest = Shapes::StructureShape.new(name: 'PutBucketReplicationRequest')
404
412
  PutBucketRequestPaymentRequest = Shapes::StructureShape.new(name: 'PutBucketRequestPaymentRequest')
@@ -839,6 +847,10 @@ module Aws::S3
839
847
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
840
848
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
841
849
 
850
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
851
+ DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
852
+ DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
853
+
842
854
  DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
843
855
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
844
856
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
@@ -1057,6 +1069,15 @@ module Aws::S3
1057
1069
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1058
1070
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1059
1071
 
1072
+ GetBucketOwnershipControlsOutput.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, location_name: "OwnershipControls"))
1073
+ GetBucketOwnershipControlsOutput.struct_class = Types::GetBucketOwnershipControlsOutput
1074
+ GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1075
+ GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1076
+
1077
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1078
+ GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1079
+ GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1080
+
1060
1081
  GetBucketPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
1061
1082
  GetBucketPolicyOutput.struct_class = Types::GetBucketPolicyOutput
1062
1083
  GetBucketPolicyOutput[:payload] = :policy
@@ -1692,6 +1713,14 @@ module Aws::S3
1692
1713
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1693
1714
  Owner.struct_class = Types::Owner
1694
1715
 
1716
+ OwnershipControls.add_member(:rules, Shapes::ShapeRef.new(shape: OwnershipControlsRules, required: true, location_name: "Rule"))
1717
+ OwnershipControls.struct_class = Types::OwnershipControls
1718
+
1719
+ OwnershipControlsRule.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, required: true, location_name: "ObjectOwnership"))
1720
+ OwnershipControlsRule.struct_class = Types::OwnershipControlsRule
1721
+
1722
+ OwnershipControlsRules.member = Shapes::ShapeRef.new(shape: OwnershipControlsRule)
1723
+
1695
1724
  ParquetInput.struct_class = Types::ParquetInput
1696
1725
 
1697
1726
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
@@ -1818,6 +1847,14 @@ module Aws::S3
1818
1847
  PutBucketNotificationRequest[:payload] = :notification_configuration
1819
1848
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1820
1849
 
1850
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1851
+ PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1852
+ PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1853
+ PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1854
+ PutBucketOwnershipControlsRequest.struct_class = Types::PutBucketOwnershipControlsRequest
1855
+ PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1856
+ PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1857
+
1821
1858
  PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1822
1859
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1823
1860
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
@@ -2415,6 +2452,14 @@ module Aws::S3
2415
2452
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2416
2453
  end)
2417
2454
 
2455
+ api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2456
+ o.name = "DeleteBucketOwnershipControls"
2457
+ o.http_method = "DELETE"
2458
+ o.http_request_uri = "/{Bucket}?ownershipControls"
2459
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2460
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2461
+ end)
2462
+
2418
2463
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2419
2464
  o.name = "DeleteBucketPolicy"
2420
2465
  o.http_method = "DELETE"
@@ -2586,6 +2631,14 @@ module Aws::S3
2586
2631
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2587
2632
  end)
2588
2633
 
2634
+ api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2635
+ o.name = "GetBucketOwnershipControls"
2636
+ o.http_method = "GET"
2637
+ o.http_request_uri = "/{Bucket}?ownershipControls"
2638
+ o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2639
+ o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2640
+ end)
2641
+
2589
2642
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2590
2643
  o.name = "GetBucketPolicy"
2591
2644
  o.http_method = "GET"
@@ -2941,6 +2994,14 @@ module Aws::S3
2941
2994
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2942
2995
  end)
2943
2996
 
2997
+ api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2998
+ o.name = "PutBucketOwnershipControls"
2999
+ o.http_method = "PUT"
3000
+ o.http_request_uri = "/{Bucket}?ownershipControls"
3001
+ o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3002
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3003
+ end)
3004
+
2944
3005
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2945
3006
  o.name = "PutBucketPolicy"
2946
3007
  o.http_method = "PUT"
@@ -12,13 +12,12 @@ module Aws
12
12
  # Define a new initialize method that extracts out a bucket ARN.
13
13
  define_method(:initialize) do |*args|
14
14
  old_initialize.bind(self).call(*args)
15
- bucket_name, region, arn = Plugins::BucketARN.resolve_arn!(
15
+ resolved_region, arn = Plugins::ARN.resolve_arn!(
16
16
  name,
17
17
  client.config.region,
18
18
  client.config.s3_use_arn_region
19
19
  )
20
- @name = bucket_name
21
- @client.config.region = region
20
+ @resolved_region = resolved_region
22
21
  @arn = arn
23
22
  end
24
23
 
@@ -102,7 +101,11 @@ module Aws
102
101
  if options[:virtual_host]
103
102
  "http://#{name}"
104
103
  elsif @arn
105
- Plugins::BucketARN.resolve_url!(URI.parse(s3_bucket_url), @arn).to_s
104
+ Plugins::ARN.resolve_url!(
105
+ client.config.endpoint.dup,
106
+ @arn,
107
+ @resolved_region
108
+ ).to_s
106
109
  else
107
110
  s3_bucket_url
108
111
  end
@@ -282,8 +282,8 @@ module Aws
282
282
  # # small files are uploaded in a single API call
283
283
  # obj.upload_file('/path/to/file')
284
284
  #
285
- # Files larger than `:multipart_threshold` are uploaded using the
286
- # Amazon S3 multipart upload APIs.
285
+ # Files larger than or equal to `:multipart_threshold` are uploaded
286
+ # using the Amazon S3 multipart upload APIs.
287
287
  #
288
288
  # # large files are automatically split into parts
289
289
  # # and the parts are uploaded in parallel
@@ -313,7 +313,8 @@ module Aws
313
313
  # will be empty.
314
314
  #
315
315
  # @option options [Integer] :multipart_threshold (15728640) Files larger
316
- # than `:multipart_threshold` are uploaded using the S3 multipart APIs.
316
+ # than or equal to `:multipart_threshold` are uploaded using the S3
317
+ # multipart APIs.
317
318
  # Default threshold is 15MB.
318
319
  #
319
320
  # @option options [Integer] :thread_count (10) The number of parallel
@@ -22,7 +22,7 @@ module Aws
22
22
  # @return [Client]
23
23
  attr_reader :client
24
24
 
25
- # @return [Integer] Files larger than this in bytes are uploaded
25
+ # @return [Integer] Files larger than or equal to this in bytes are uploaded
26
26
  # using a {MultipartFileUploader}.
27
27
  attr_reader :multipart_threshold
28
28
 
@@ -241,9 +241,9 @@ module Aws::S3
241
241
  # Resource Name (ARN) of the object as accessed through the access
242
242
  # point, in the format
243
243
  # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
244
- # For example, to copy the object `reports/january.pdf` through the
245
- # access point `my-access-point` owned by account `123456789012` in
246
- # Region `us-west-2`, use the URL encoding of
244
+ # For example, to copy the object `reports/january.pdf` through access
245
+ # point `my-access-point` owned by account `123456789012` in Region
246
+ # `us-west-2`, use the URL encoding of
247
247
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
248
248
  # The value must be URL encoded.
249
249
  #
@@ -252,6 +252,15 @@ module Aws::S3
252
252
  #
253
253
  # </note>
254
254
  #
255
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
256
+ # specify the ARN of the object as accessed in the format
257
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
258
+ # For example, to copy the object `reports/january.pdf` through
259
+ # outpost `my-outpost` owned by account `123456789012` in Region
260
+ # `us-west-2`, use the URL encoding of
261
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
262
+ # The value must be URL encoded.
263
+ #
255
264
  # To copy a specific version of an object, append
256
265
  # `?versionId=<version-id>` to the value (for example,
257
266
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -530,7 +530,7 @@ module Aws::S3
530
530
  # metadata_directive: "COPY", # accepts COPY, REPLACE
531
531
  # tagging_directive: "COPY", # accepts COPY, REPLACE
532
532
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
533
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
533
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
534
534
  # website_redirect_location: "WebsiteRedirectLocation",
535
535
  # sse_customer_algorithm: "SSECustomerAlgorithm",
536
536
  # sse_customer_key: "SSECustomerKey",
@@ -551,6 +551,8 @@ module Aws::S3
551
551
  # @param [Hash] options ({})
552
552
  # @option options [String] :acl
553
553
  # The canned ACL to apply to the object.
554
+ #
555
+ # This action is not supported by Amazon S3 on Outposts.
554
556
  # @option options [String] :cache_control
555
557
  # Specifies caching behavior along the request/reply chain.
556
558
  # @option options [String] :content_disposition
@@ -590,6 +592,15 @@ module Aws::S3
590
592
  #
591
593
  # </note>
592
594
  #
595
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
596
+ # specify the ARN of the object as accessed in the format
597
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
598
+ # For example, to copy the object `reports/january.pdf` through
599
+ # outpost `my-outpost` owned by account `123456789012` in Region
600
+ # `us-west-2`, use the URL encoding of
601
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
602
+ # The value must be URL encoded.
603
+ #
593
604
  # To copy a specific version of an object, append
594
605
  # `?versionId=<version-id>` to the value (for example,
595
606
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -614,12 +625,20 @@ module Aws::S3
614
625
  # @option options [String] :grant_full_control
615
626
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
616
627
  # object.
628
+ #
629
+ # This action is not supported by Amazon S3 on Outposts.
617
630
  # @option options [String] :grant_read
618
631
  # Allows grantee to read the object data and its metadata.
632
+ #
633
+ # This action is not supported by Amazon S3 on Outposts.
619
634
  # @option options [String] :grant_read_acp
620
635
  # Allows grantee to read the object ACL.
636
+ #
637
+ # This action is not supported by Amazon S3 on Outposts.
621
638
  # @option options [String] :grant_write_acp
622
639
  # Allows grantee to write the ACL for the applicable object.
640
+ #
641
+ # This action is not supported by Amazon S3 on Outposts.
623
642
  # @option options [Hash<String,String>] :metadata
624
643
  # A map of metadata to store with the object in S3.
625
644
  # @option options [String] :metadata_directive
@@ -632,7 +651,16 @@ module Aws::S3
632
651
  # The server-side encryption algorithm used when storing this object in
633
652
  # Amazon S3 (for example, AES256, aws:kms).
634
653
  # @option options [String] :storage_class
635
- # The type of storage to use for the object. Defaults to 'STANDARD'.
654
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
655
+ # created objects. The STANDARD storage class provides high durability
656
+ # and high availability. Depending on performance needs, you can specify
657
+ # a different Storage Class. Amazon S3 on Outposts only uses the
658
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
659
+ # in the *Amazon S3 Service Developer Guide*.
660
+ #
661
+ #
662
+ #
663
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
636
664
  # @option options [String] :website_redirect_location
637
665
  # If the bucket is configured as a website, redirects requests for this
638
666
  # object to another object in the same bucket or to an external URL.
@@ -881,7 +909,7 @@ module Aws::S3
881
909
  # "MetadataKey" => "MetadataValue",
882
910
  # },
883
911
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
884
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
912
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
885
913
  # website_redirect_location: "WebsiteRedirectLocation",
886
914
  # sse_customer_algorithm: "SSECustomerAlgorithm",
887
915
  # sse_customer_key: "SSECustomerKey",
@@ -898,6 +926,8 @@ module Aws::S3
898
926
  # @param [Hash] options ({})
899
927
  # @option options [String] :acl
900
928
  # The canned ACL to apply to the object.
929
+ #
930
+ # This action is not supported by Amazon S3 on Outposts.
901
931
  # @option options [String] :cache_control
902
932
  # Specifies caching behavior along the request/reply chain.
903
933
  # @option options [String] :content_disposition
@@ -915,19 +945,36 @@ module Aws::S3
915
945
  # @option options [String] :grant_full_control
916
946
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
917
947
  # object.
948
+ #
949
+ # This action is not supported by Amazon S3 on Outposts.
918
950
  # @option options [String] :grant_read
919
951
  # Allows grantee to read the object data and its metadata.
952
+ #
953
+ # This action is not supported by Amazon S3 on Outposts.
920
954
  # @option options [String] :grant_read_acp
921
955
  # Allows grantee to read the object ACL.
956
+ #
957
+ # This action is not supported by Amazon S3 on Outposts.
922
958
  # @option options [String] :grant_write_acp
923
959
  # Allows grantee to write the ACL for the applicable object.
960
+ #
961
+ # This action is not supported by Amazon S3 on Outposts.
924
962
  # @option options [Hash<String,String>] :metadata
925
963
  # A map of metadata to store with the object in S3.
926
964
  # @option options [String] :server_side_encryption
927
965
  # The server-side encryption algorithm used when storing this object in
928
966
  # Amazon S3 (for example, AES256, aws:kms).
929
967
  # @option options [String] :storage_class
930
- # The type of storage to use for the object. Defaults to 'STANDARD'.
968
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
969
+ # created objects. The STANDARD storage class provides high durability
970
+ # and high availability. Depending on performance needs, you can specify
971
+ # a different Storage Class. Amazon S3 on Outposts only uses the
972
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
973
+ # in the *Amazon S3 Service Developer Guide*.
974
+ #
975
+ #
976
+ #
977
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
931
978
  # @option options [String] :website_redirect_location
932
979
  # If the bucket is configured as a website, redirects requests for this
933
980
  # object to another object in the same bucket or to an external URL.
@@ -1021,7 +1068,7 @@ module Aws::S3
1021
1068
  # "MetadataKey" => "MetadataValue",
1022
1069
  # },
1023
1070
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1024
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1071
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1025
1072
  # website_redirect_location: "WebsiteRedirectLocation",
1026
1073
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1027
1074
  # sse_customer_key: "SSECustomerKey",
@@ -1040,6 +1087,8 @@ module Aws::S3
1040
1087
  # The canned ACL to apply to the object. For more information, see
1041
1088
  # [Canned ACL][1].
1042
1089
  #
1090
+ # This action is not supported by Amazon S3 on Outposts.
1091
+ #
1043
1092
  #
1044
1093
  #
1045
1094
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -1111,20 +1160,36 @@ module Aws::S3
1111
1160
  # @option options [String] :grant_full_control
1112
1161
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1113
1162
  # object.
1163
+ #
1164
+ # This action is not supported by Amazon S3 on Outposts.
1114
1165
  # @option options [String] :grant_read
1115
1166
  # Allows grantee to read the object data and its metadata.
1167
+ #
1168
+ # This action is not supported by Amazon S3 on Outposts.
1116
1169
  # @option options [String] :grant_read_acp
1117
1170
  # Allows grantee to read the object ACL.
1171
+ #
1172
+ # This action is not supported by Amazon S3 on Outposts.
1118
1173
  # @option options [String] :grant_write_acp
1119
1174
  # Allows grantee to write the ACL for the applicable object.
1175
+ #
1176
+ # This action is not supported by Amazon S3 on Outposts.
1120
1177
  # @option options [Hash<String,String>] :metadata
1121
1178
  # A map of metadata to store with the object in S3.
1122
1179
  # @option options [String] :server_side_encryption
1123
1180
  # The server-side encryption algorithm used when storing this object in
1124
1181
  # Amazon S3 (for example, AES256, aws:kms).
1125
1182
  # @option options [String] :storage_class
1126
- # If you don't specify, S3 Standard is the default storage class.
1127
- # Amazon S3 supports other storage classes.
1183
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1184
+ # created objects. The STANDARD storage class provides high durability
1185
+ # and high availability. Depending on performance needs, you can specify
1186
+ # a different Storage Class. Amazon S3 on Outposts only uses the
1187
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1188
+ # in the *Amazon S3 Service Developer Guide*.
1189
+ #
1190
+ #
1191
+ #
1192
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1128
1193
  # @option options [String] :website_redirect_location
1129
1194
  # If the bucket is configured as a website, redirects requests for this
1130
1195
  # object to another object in the same bucket or to an external URL.
@@ -1298,7 +1363,7 @@ module Aws::S3
1298
1363
  # value: "MetadataValue",
1299
1364
  # },
1300
1365
  # ],
1301
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1366
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1302
1367
  # },
1303
1368
  # },
1304
1369
  # },
@@ -253,15 +253,23 @@ module Aws::S3
253
253
  # @option options [String] :grant_full_control
254
254
  # Allows grantee the read, write, read ACP, and write ACP permissions on
255
255
  # the bucket.
256
+ #
257
+ # This action is not supported by Amazon S3 on Outposts.
256
258
  # @option options [String] :grant_read
257
259
  # Allows grantee to list the objects in the bucket.
260
+ #
261
+ # This action is not supported by Amazon S3 on Outposts.
258
262
  # @option options [String] :grant_read_acp
259
263
  # Allows grantee to read the bucket ACL.
264
+ #
265
+ # This action is not supported by Amazon S3 on Outposts.
260
266
  # @option options [String] :grant_write
261
267
  # Allows grantee to create, overwrite, and delete any object in the
262
268
  # bucket.
263
269
  # @option options [String] :grant_write_acp
264
270
  # Allows grantee to write the ACL for the applicable bucket.
271
+ #
272
+ # This action is not supported by Amazon S3 on Outposts.
265
273
  # @option options [String] :request_payer
266
274
  # Confirms that the requester knows that they will be charged for the
267
275
  # request. Bucket owners need not specify this parameter in their
@@ -295,7 +295,7 @@ module Aws::S3
295
295
  # metadata_directive: "COPY", # accepts COPY, REPLACE
296
296
  # tagging_directive: "COPY", # accepts COPY, REPLACE
297
297
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
298
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
298
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
299
299
  # website_redirect_location: "WebsiteRedirectLocation",
300
300
  # sse_customer_algorithm: "SSECustomerAlgorithm",
301
301
  # sse_customer_key: "SSECustomerKey",
@@ -316,6 +316,8 @@ module Aws::S3
316
316
  # @param [Hash] options ({})
317
317
  # @option options [String] :acl
318
318
  # The canned ACL to apply to the object.
319
+ #
320
+ # This action is not supported by Amazon S3 on Outposts.
319
321
  # @option options [String] :cache_control
320
322
  # Specifies caching behavior along the request/reply chain.
321
323
  # @option options [String] :content_disposition
@@ -355,6 +357,15 @@ module Aws::S3
355
357
  #
356
358
  # </note>
357
359
  #
360
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
361
+ # specify the ARN of the object as accessed in the format
362
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
363
+ # For example, to copy the object `reports/january.pdf` through
364
+ # outpost `my-outpost` owned by account `123456789012` in Region
365
+ # `us-west-2`, use the URL encoding of
366
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
367
+ # The value must be URL encoded.
368
+ #
358
369
  # To copy a specific version of an object, append
359
370
  # `?versionId=<version-id>` to the value (for example,
360
371
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -379,12 +390,20 @@ module Aws::S3
379
390
  # @option options [String] :grant_full_control
380
391
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
381
392
  # object.
393
+ #
394
+ # This action is not supported by Amazon S3 on Outposts.
382
395
  # @option options [String] :grant_read
383
396
  # Allows grantee to read the object data and its metadata.
397
+ #
398
+ # This action is not supported by Amazon S3 on Outposts.
384
399
  # @option options [String] :grant_read_acp
385
400
  # Allows grantee to read the object ACL.
401
+ #
402
+ # This action is not supported by Amazon S3 on Outposts.
386
403
  # @option options [String] :grant_write_acp
387
404
  # Allows grantee to write the ACL for the applicable object.
405
+ #
406
+ # This action is not supported by Amazon S3 on Outposts.
388
407
  # @option options [Hash<String,String>] :metadata
389
408
  # A map of metadata to store with the object in S3.
390
409
  # @option options [String] :metadata_directive
@@ -397,7 +416,16 @@ module Aws::S3
397
416
  # The server-side encryption algorithm used when storing this object in
398
417
  # Amazon S3 (for example, AES256, aws:kms).
399
418
  # @option options [String] :storage_class
400
- # The type of storage to use for the object. Defaults to 'STANDARD'.
419
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
420
+ # created objects. The STANDARD storage class provides high durability
421
+ # and high availability. Depending on performance needs, you can specify
422
+ # a different Storage Class. Amazon S3 on Outposts only uses the
423
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
424
+ # in the *Amazon S3 Service Developer Guide*.
425
+ #
426
+ #
427
+ #
428
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
401
429
  # @option options [String] :website_redirect_location
402
430
  # If the bucket is configured as a website, redirects requests for this
403
431
  # object to another object in the same bucket or to an external URL.
@@ -646,7 +674,7 @@ module Aws::S3
646
674
  # "MetadataKey" => "MetadataValue",
647
675
  # },
648
676
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
649
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
677
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
650
678
  # website_redirect_location: "WebsiteRedirectLocation",
651
679
  # sse_customer_algorithm: "SSECustomerAlgorithm",
652
680
  # sse_customer_key: "SSECustomerKey",
@@ -663,6 +691,8 @@ module Aws::S3
663
691
  # @param [Hash] options ({})
664
692
  # @option options [String] :acl
665
693
  # The canned ACL to apply to the object.
694
+ #
695
+ # This action is not supported by Amazon S3 on Outposts.
666
696
  # @option options [String] :cache_control
667
697
  # Specifies caching behavior along the request/reply chain.
668
698
  # @option options [String] :content_disposition
@@ -680,19 +710,36 @@ module Aws::S3
680
710
  # @option options [String] :grant_full_control
681
711
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
682
712
  # object.
713
+ #
714
+ # This action is not supported by Amazon S3 on Outposts.
683
715
  # @option options [String] :grant_read
684
716
  # Allows grantee to read the object data and its metadata.
717
+ #
718
+ # This action is not supported by Amazon S3 on Outposts.
685
719
  # @option options [String] :grant_read_acp
686
720
  # Allows grantee to read the object ACL.
721
+ #
722
+ # This action is not supported by Amazon S3 on Outposts.
687
723
  # @option options [String] :grant_write_acp
688
724
  # Allows grantee to write the ACL for the applicable object.
725
+ #
726
+ # This action is not supported by Amazon S3 on Outposts.
689
727
  # @option options [Hash<String,String>] :metadata
690
728
  # A map of metadata to store with the object in S3.
691
729
  # @option options [String] :server_side_encryption
692
730
  # The server-side encryption algorithm used when storing this object in
693
731
  # Amazon S3 (for example, AES256, aws:kms).
694
732
  # @option options [String] :storage_class
695
- # The type of storage to use for the object. Defaults to 'STANDARD'.
733
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
734
+ # created objects. The STANDARD storage class provides high durability
735
+ # and high availability. Depending on performance needs, you can specify
736
+ # a different Storage Class. Amazon S3 on Outposts only uses the
737
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
738
+ # in the *Amazon S3 Service Developer Guide*.
739
+ #
740
+ #
741
+ #
742
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
696
743
  # @option options [String] :website_redirect_location
697
744
  # If the bucket is configured as a website, redirects requests for this
698
745
  # object to another object in the same bucket or to an external URL.
@@ -786,7 +833,7 @@ module Aws::S3
786
833
  # "MetadataKey" => "MetadataValue",
787
834
  # },
788
835
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
789
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
836
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
790
837
  # website_redirect_location: "WebsiteRedirectLocation",
791
838
  # sse_customer_algorithm: "SSECustomerAlgorithm",
792
839
  # sse_customer_key: "SSECustomerKey",
@@ -805,6 +852,8 @@ module Aws::S3
805
852
  # The canned ACL to apply to the object. For more information, see
806
853
  # [Canned ACL][1].
807
854
  #
855
+ # This action is not supported by Amazon S3 on Outposts.
856
+ #
808
857
  #
809
858
  #
810
859
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -876,20 +925,36 @@ module Aws::S3
876
925
  # @option options [String] :grant_full_control
877
926
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
878
927
  # object.
928
+ #
929
+ # This action is not supported by Amazon S3 on Outposts.
879
930
  # @option options [String] :grant_read
880
931
  # Allows grantee to read the object data and its metadata.
932
+ #
933
+ # This action is not supported by Amazon S3 on Outposts.
881
934
  # @option options [String] :grant_read_acp
882
935
  # Allows grantee to read the object ACL.
936
+ #
937
+ # This action is not supported by Amazon S3 on Outposts.
883
938
  # @option options [String] :grant_write_acp
884
939
  # Allows grantee to write the ACL for the applicable object.
940
+ #
941
+ # This action is not supported by Amazon S3 on Outposts.
885
942
  # @option options [Hash<String,String>] :metadata
886
943
  # A map of metadata to store with the object in S3.
887
944
  # @option options [String] :server_side_encryption
888
945
  # The server-side encryption algorithm used when storing this object in
889
946
  # Amazon S3 (for example, AES256, aws:kms).
890
947
  # @option options [String] :storage_class
891
- # If you don't specify, S3 Standard is the default storage class.
892
- # Amazon S3 supports other storage classes.
948
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
949
+ # created objects. The STANDARD storage class provides high durability
950
+ # and high availability. Depending on performance needs, you can specify
951
+ # a different Storage Class. Amazon S3 on Outposts only uses the
952
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
953
+ # in the *Amazon S3 Service Developer Guide*.
954
+ #
955
+ #
956
+ #
957
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
893
958
  # @option options [String] :website_redirect_location
894
959
  # If the bucket is configured as a website, redirects requests for this
895
960
  # object to another object in the same bucket or to an external URL.
@@ -1063,7 +1128,7 @@ module Aws::S3
1063
1128
  # value: "MetadataValue",
1064
1129
  # },
1065
1130
  # ],
1066
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1131
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1067
1132
  # },
1068
1133
  # },
1069
1134
  # },