aws-sdk-s3 1.76.0 → 1.80.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.
@@ -119,13 +119,28 @@ module Aws::S3
119
119
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
120
120
  # credentials.
121
121
  #
122
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
123
+ # shared file, such as `~/.aws/config`.
124
+ #
125
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
126
+ #
127
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
128
+ # assume a role after providing credentials via the web.
129
+ #
130
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
131
+ # access token generated from `aws login`.
132
+ #
133
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
134
+ # process that outputs to stdout.
135
+ #
122
136
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
123
137
  # from an EC2 IMDS on an EC2 instance.
124
138
  #
125
- # * `Aws::SharedCredentials` - Used for loading credentials from a
126
- # shared file, such as `~/.aws/config`.
139
+ # * `Aws::ECSCredentials` - Used for loading credentials from
140
+ # instances running in ECS.
127
141
  #
128
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
142
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
143
+ # from the Cognito Identity service.
129
144
  #
130
145
  # When `:credentials` are not configured directly, the following
131
146
  # locations will be searched for credentials:
@@ -135,10 +150,10 @@ module Aws::S3
135
150
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
136
151
  # * `~/.aws/credentials`
137
152
  # * `~/.aws/config`
138
- # * EC2 IMDS instance profile - When used by default, the timeouts are
139
- # very aggressive. Construct and pass an instance of
140
- # `Aws::InstanceProfileCredentails` to enable retries and extended
141
- # timeouts.
153
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
154
+ # are very aggressive. Construct and pass an instance of
155
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
156
+ # enable retries and extended timeouts.
142
157
  #
143
158
  # @option options [required, String] :region
144
159
  # The AWS region to connect to. The configured `:region` is
@@ -461,6 +476,11 @@ module Aws::S3
461
476
  #
462
477
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
463
478
  #
479
+ # @option params [String] :expected_bucket_owner
480
+ # The account id of the expected bucket owner. If the bucket is owned by
481
+ # a different account, the request will fail with an HTTP `403 (Access
482
+ # Denied)` error.
483
+ #
464
484
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
465
485
  #
466
486
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -487,6 +507,7 @@ module Aws::S3
487
507
  # key: "ObjectKey", # required
488
508
  # upload_id: "MultipartUploadId", # required
489
509
  # request_payer: "requester", # accepts requester
510
+ # expected_bucket_owner: "AccountId",
490
511
  # })
491
512
  #
492
513
  # @example Response structure
@@ -613,6 +634,11 @@ module Aws::S3
613
634
  #
614
635
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
615
636
  #
637
+ # @option params [String] :expected_bucket_owner
638
+ # The account id of the expected bucket owner. If the bucket is owned by
639
+ # a different account, the request will fail with an HTTP `403 (Access
640
+ # Denied)` error.
641
+ #
616
642
  # @return [Types::CompleteMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
617
643
  #
618
644
  # * {Types::CompleteMultipartUploadOutput#location #location} => String
@@ -671,6 +697,7 @@ module Aws::S3
671
697
  # },
672
698
  # upload_id: "MultipartUploadId", # required
673
699
  # request_payer: "requester", # accepts requester
700
+ # expected_bucket_owner: "AccountId",
674
701
  # })
675
702
  #
676
703
  # @example Response structure
@@ -897,8 +924,41 @@ module Aws::S3
897
924
  # A standard MIME type describing the format of the object data.
898
925
  #
899
926
  # @option params [required, String] :copy_source
900
- # The name of the source bucket and key name of the source object,
901
- # separated by a slash (/). Must be URL-encoded.
927
+ # Specifies the source object for the copy operation. You specify the
928
+ # value in one of two formats, depending on whether you want to access
929
+ # the source object through an [access point][1]\:
930
+ #
931
+ # * For objects not accessed through an access point, specify the name
932
+ # of the source bucket and the key of the source object, separated by
933
+ # a slash (/). For example, to copy the object `reports/january.pdf`
934
+ # from the bucket `awsexamplebucket`, use
935
+ # `awsexamplebucket/reports/january.pdf`. The value must be URL
936
+ # encoded.
937
+ #
938
+ # * For objects accessed through access points, specify the Amazon
939
+ # Resource Name (ARN) of the object as accessed through the access
940
+ # point, in the format
941
+ # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
942
+ # For example, to copy the object `reports/january.pdf` through access
943
+ # point `my-access-point` owned by account `123456789012` in Region
944
+ # `us-west-2`, use the URL encoding of
945
+ # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
946
+ # The value must be URL encoded.
947
+ #
948
+ # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
949
+ # source and destination buckets are in the same AWS Region.
950
+ #
951
+ # </note>
952
+ #
953
+ # To copy a specific version of an object, append
954
+ # `?versionId=<version-id>` to the value (for example,
955
+ # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
956
+ # If you don't specify a version ID, Amazon S3 copies the latest
957
+ # version of the source object.
958
+ #
959
+ #
960
+ #
961
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
902
962
  #
903
963
  # @option params [String] :copy_source_if_match
904
964
  # Copies the object if its entity tag (ETag) matches the specified tag.
@@ -1029,6 +1089,16 @@ module Aws::S3
1029
1089
  # @option params [String] :object_lock_legal_hold_status
1030
1090
  # Specifies whether you want to apply a Legal Hold to the copied object.
1031
1091
  #
1092
+ # @option params [String] :expected_bucket_owner
1093
+ # The account id of the expected destination bucket owner. If the
1094
+ # destination bucket is owned by a different account, the request will
1095
+ # fail with an HTTP `403 (Access Denied)` error.
1096
+ #
1097
+ # @option params [String] :expected_source_bucket_owner
1098
+ # The account id of the expected source bucket owner. If the source
1099
+ # bucket is owned by a different account, the request will fail with an
1100
+ # HTTP `403 (Access Denied)` error.
1101
+ #
1032
1102
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1033
1103
  #
1034
1104
  # * {Types::CopyObjectOutput#copy_object_result #copy_object_result} => Types::CopyObjectResult
@@ -1103,6 +1173,8 @@ module Aws::S3
1103
1173
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1104
1174
  # object_lock_retain_until_date: Time.now,
1105
1175
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1176
+ # expected_bucket_owner: "AccountId",
1177
+ # expected_source_bucket_owner: "AccountId",
1106
1178
  # })
1107
1179
  #
1108
1180
  # @example Response structure
@@ -1305,7 +1377,7 @@ module Aws::S3
1305
1377
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1306
1378
  # bucket: "BucketName", # required
1307
1379
  # create_bucket_configuration: {
1308
- # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
1380
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1309
1381
  # },
1310
1382
  # grant_full_control: "GrantFullControl",
1311
1383
  # grant_read: "GrantRead",
@@ -1677,6 +1749,11 @@ module Aws::S3
1677
1749
  # Specifies whether you want to apply a Legal Hold to the uploaded
1678
1750
  # object.
1679
1751
  #
1752
+ # @option params [String] :expected_bucket_owner
1753
+ # The account id of the expected bucket owner. If the bucket is owned by
1754
+ # a different account, the request will fail with an HTTP `403 (Access
1755
+ # Denied)` error.
1756
+ #
1680
1757
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1681
1758
  #
1682
1759
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -1740,6 +1817,7 @@ module Aws::S3
1740
1817
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1741
1818
  # object_lock_retain_until_date: Time.now,
1742
1819
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1820
+ # expected_bucket_owner: "AccountId",
1743
1821
  # })
1744
1822
  #
1745
1823
  # @example Response structure
@@ -1783,6 +1861,11 @@ module Aws::S3
1783
1861
  # @option params [required, String] :bucket
1784
1862
  # Specifies the bucket being deleted.
1785
1863
  #
1864
+ # @option params [String] :expected_bucket_owner
1865
+ # The account id of the expected bucket owner. If the bucket is owned by
1866
+ # a different account, the request will fail with an HTTP `403 (Access
1867
+ # Denied)` error.
1868
+ #
1786
1869
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1787
1870
  #
1788
1871
  #
@@ -1798,6 +1881,7 @@ module Aws::S3
1798
1881
  #
1799
1882
  # resp = client.delete_bucket({
1800
1883
  # bucket: "BucketName", # required
1884
+ # expected_bucket_owner: "AccountId",
1801
1885
  # })
1802
1886
  #
1803
1887
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket AWS API Documentation
@@ -1847,6 +1931,11 @@ module Aws::S3
1847
1931
  # @option params [required, String] :id
1848
1932
  # The ID that identifies the analytics configuration.
1849
1933
  #
1934
+ # @option params [String] :expected_bucket_owner
1935
+ # The account id of the expected bucket owner. If the bucket is owned by
1936
+ # a different account, the request will fail with an HTTP `403 (Access
1937
+ # Denied)` error.
1938
+ #
1850
1939
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1851
1940
  #
1852
1941
  # @example Request syntax with placeholder values
@@ -1854,6 +1943,7 @@ module Aws::S3
1854
1943
  # resp = client.delete_bucket_analytics_configuration({
1855
1944
  # bucket: "BucketName", # required
1856
1945
  # id: "AnalyticsId", # required
1946
+ # expected_bucket_owner: "AccountId",
1857
1947
  # })
1858
1948
  #
1859
1949
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration AWS API Documentation
@@ -1889,6 +1979,11 @@ module Aws::S3
1889
1979
  # @option params [required, String] :bucket
1890
1980
  # Specifies the bucket whose `cors` configuration is being deleted.
1891
1981
  #
1982
+ # @option params [String] :expected_bucket_owner
1983
+ # The account id of the expected bucket owner. If the bucket is owned by
1984
+ # a different account, the request will fail with an HTTP `403 (Access
1985
+ # Denied)` error.
1986
+ #
1892
1987
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1893
1988
  #
1894
1989
  #
@@ -1904,6 +1999,7 @@ module Aws::S3
1904
1999
  #
1905
2000
  # resp = client.delete_bucket_cors({
1906
2001
  # bucket: "BucketName", # required
2002
+ # expected_bucket_owner: "AccountId",
1907
2003
  # })
1908
2004
  #
1909
2005
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors AWS API Documentation
@@ -1946,12 +2042,18 @@ module Aws::S3
1946
2042
  # The name of the bucket containing the server-side encryption
1947
2043
  # configuration to delete.
1948
2044
  #
2045
+ # @option params [String] :expected_bucket_owner
2046
+ # The account id of the expected bucket owner. If the bucket is owned by
2047
+ # a different account, the request will fail with an HTTP `403 (Access
2048
+ # Denied)` error.
2049
+ #
1949
2050
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1950
2051
  #
1951
2052
  # @example Request syntax with placeholder values
1952
2053
  #
1953
2054
  # resp = client.delete_bucket_encryption({
1954
2055
  # bucket: "BucketName", # required
2056
+ # expected_bucket_owner: "AccountId",
1955
2057
  # })
1956
2058
  #
1957
2059
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption AWS API Documentation
@@ -2000,6 +2102,11 @@ module Aws::S3
2000
2102
  # @option params [required, String] :id
2001
2103
  # The ID used to identify the inventory configuration.
2002
2104
  #
2105
+ # @option params [String] :expected_bucket_owner
2106
+ # The account id of the expected bucket owner. If the bucket is owned by
2107
+ # a different account, the request will fail with an HTTP `403 (Access
2108
+ # Denied)` error.
2109
+ #
2003
2110
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2004
2111
  #
2005
2112
  # @example Request syntax with placeholder values
@@ -2007,6 +2114,7 @@ module Aws::S3
2007
2114
  # resp = client.delete_bucket_inventory_configuration({
2008
2115
  # bucket: "BucketName", # required
2009
2116
  # id: "InventoryId", # required
2117
+ # expected_bucket_owner: "AccountId",
2010
2118
  # })
2011
2119
  #
2012
2120
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration AWS API Documentation
@@ -2050,6 +2158,11 @@ module Aws::S3
2050
2158
  # @option params [required, String] :bucket
2051
2159
  # The bucket name of the lifecycle to delete.
2052
2160
  #
2161
+ # @option params [String] :expected_bucket_owner
2162
+ # The account id of the expected bucket owner. If the bucket is owned by
2163
+ # a different account, the request will fail with an HTTP `403 (Access
2164
+ # Denied)` error.
2165
+ #
2053
2166
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2054
2167
  #
2055
2168
  #
@@ -2065,6 +2178,7 @@ module Aws::S3
2065
2178
  #
2066
2179
  # resp = client.delete_bucket_lifecycle({
2067
2180
  # bucket: "BucketName", # required
2181
+ # expected_bucket_owner: "AccountId",
2068
2182
  # })
2069
2183
  #
2070
2184
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle AWS API Documentation
@@ -2116,6 +2230,11 @@ module Aws::S3
2116
2230
  # @option params [required, String] :id
2117
2231
  # The ID used to identify the metrics configuration.
2118
2232
  #
2233
+ # @option params [String] :expected_bucket_owner
2234
+ # The account id of the expected bucket owner. If the bucket is owned by
2235
+ # a different account, the request will fail with an HTTP `403 (Access
2236
+ # Denied)` error.
2237
+ #
2119
2238
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2120
2239
  #
2121
2240
  # @example Request syntax with placeholder values
@@ -2123,6 +2242,7 @@ module Aws::S3
2123
2242
  # resp = client.delete_bucket_metrics_configuration({
2124
2243
  # bucket: "BucketName", # required
2125
2244
  # id: "MetricsId", # required
2245
+ # expected_bucket_owner: "AccountId",
2126
2246
  # })
2127
2247
  #
2128
2248
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration AWS API Documentation
@@ -2168,6 +2288,11 @@ module Aws::S3
2168
2288
  # @option params [required, String] :bucket
2169
2289
  # The bucket name.
2170
2290
  #
2291
+ # @option params [String] :expected_bucket_owner
2292
+ # The account id of the expected bucket owner. If the bucket is owned by
2293
+ # a different account, the request will fail with an HTTP `403 (Access
2294
+ # Denied)` error.
2295
+ #
2171
2296
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2172
2297
  #
2173
2298
  #
@@ -2183,6 +2308,7 @@ module Aws::S3
2183
2308
  #
2184
2309
  # resp = client.delete_bucket_policy({
2185
2310
  # bucket: "BucketName", # required
2311
+ # expected_bucket_owner: "AccountId",
2186
2312
  # })
2187
2313
  #
2188
2314
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy AWS API Documentation
@@ -2228,6 +2354,11 @@ module Aws::S3
2228
2354
  # @option params [required, String] :bucket
2229
2355
  # The bucket name.
2230
2356
  #
2357
+ # @option params [String] :expected_bucket_owner
2358
+ # The account id of the expected bucket owner. If the bucket is owned by
2359
+ # a different account, the request will fail with an HTTP `403 (Access
2360
+ # Denied)` error.
2361
+ #
2231
2362
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2232
2363
  #
2233
2364
  #
@@ -2243,6 +2374,7 @@ module Aws::S3
2243
2374
  #
2244
2375
  # resp = client.delete_bucket_replication({
2245
2376
  # bucket: "BucketName", # required
2377
+ # expected_bucket_owner: "AccountId",
2246
2378
  # })
2247
2379
  #
2248
2380
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication AWS API Documentation
@@ -2274,6 +2406,11 @@ module Aws::S3
2274
2406
  # @option params [required, String] :bucket
2275
2407
  # The bucket that has the tag set to be removed.
2276
2408
  #
2409
+ # @option params [String] :expected_bucket_owner
2410
+ # The account id of the expected bucket owner. If the bucket is owned by
2411
+ # a different account, the request will fail with an HTTP `403 (Access
2412
+ # Denied)` error.
2413
+ #
2277
2414
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2278
2415
  #
2279
2416
  #
@@ -2289,6 +2426,7 @@ module Aws::S3
2289
2426
  #
2290
2427
  # resp = client.delete_bucket_tagging({
2291
2428
  # bucket: "BucketName", # required
2429
+ # expected_bucket_owner: "AccountId",
2292
2430
  # })
2293
2431
  #
2294
2432
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging AWS API Documentation
@@ -2332,6 +2470,11 @@ module Aws::S3
2332
2470
  # The bucket name for which you want to remove the website
2333
2471
  # configuration.
2334
2472
  #
2473
+ # @option params [String] :expected_bucket_owner
2474
+ # The account id of the expected bucket owner. If the bucket is owned by
2475
+ # a different account, the request will fail with an HTTP `403 (Access
2476
+ # Denied)` error.
2477
+ #
2335
2478
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2336
2479
  #
2337
2480
  #
@@ -2347,6 +2490,7 @@ module Aws::S3
2347
2490
  #
2348
2491
  # resp = client.delete_bucket_website({
2349
2492
  # bucket: "BucketName", # required
2493
+ # expected_bucket_owner: "AccountId",
2350
2494
  # })
2351
2495
  #
2352
2496
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite AWS API Documentation
@@ -2438,6 +2582,11 @@ module Aws::S3
2438
2582
  # Indicates whether S3 Object Lock should bypass Governance-mode
2439
2583
  # restrictions to process this operation.
2440
2584
  #
2585
+ # @option params [String] :expected_bucket_owner
2586
+ # The account id of the expected bucket owner. If the bucket is owned by
2587
+ # a different account, the request will fail with an HTTP `403 (Access
2588
+ # Denied)` error.
2589
+ #
2441
2590
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2442
2591
  #
2443
2592
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -2476,6 +2625,7 @@ module Aws::S3
2476
2625
  # version_id: "ObjectVersionId",
2477
2626
  # request_payer: "requester", # accepts requester
2478
2627
  # bypass_governance_retention: false,
2628
+ # expected_bucket_owner: "AccountId",
2479
2629
  # })
2480
2630
  #
2481
2631
  # @example Response structure
@@ -2537,40 +2687,45 @@ module Aws::S3
2537
2687
  # @option params [String] :version_id
2538
2688
  # The versionId of the object that the tag-set will be removed from.
2539
2689
  #
2690
+ # @option params [String] :expected_bucket_owner
2691
+ # The account id of the expected bucket owner. If the bucket is owned by
2692
+ # a different account, the request will fail with an HTTP `403 (Access
2693
+ # Denied)` error.
2694
+ #
2540
2695
  # @return [Types::DeleteObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2541
2696
  #
2542
2697
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2543
2698
  #
2544
2699
  #
2545
- # @example Example: To remove tag set from an object
2700
+ # @example Example: To remove tag set from an object version
2546
2701
  #
2547
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2548
- # # operation removes tag set from the latest object version.
2702
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2703
+ # # object key and object version.
2549
2704
  #
2550
2705
  # resp = client.delete_object_tagging({
2551
2706
  # bucket: "examplebucket",
2552
2707
  # key: "HappyFace.jpg",
2708
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2553
2709
  # })
2554
2710
  #
2555
2711
  # resp.to_h outputs the following:
2556
2712
  # {
2557
- # version_id: "null",
2713
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2558
2714
  # }
2559
2715
  #
2560
- # @example Example: To remove tag set from an object version
2716
+ # @example Example: To remove tag set from an object
2561
2717
  #
2562
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2563
- # # object key and object version.
2718
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2719
+ # # operation removes tag set from the latest object version.
2564
2720
  #
2565
2721
  # resp = client.delete_object_tagging({
2566
2722
  # bucket: "examplebucket",
2567
2723
  # key: "HappyFace.jpg",
2568
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2569
2724
  # })
2570
2725
  #
2571
2726
  # resp.to_h outputs the following:
2572
2727
  # {
2573
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2728
+ # version_id: "null",
2574
2729
  # }
2575
2730
  #
2576
2731
  # @example Request syntax with placeholder values
@@ -2579,6 +2734,7 @@ module Aws::S3
2579
2734
  # bucket: "BucketName", # required
2580
2735
  # key: "ObjectKey", # required
2581
2736
  # version_id: "ObjectVersionId",
2737
+ # expected_bucket_owner: "AccountId",
2582
2738
  # })
2583
2739
  #
2584
2740
  # @example Response structure
@@ -2687,6 +2843,11 @@ module Aws::S3
2687
2843
  # Governance-type Object Lock in place. You must have sufficient
2688
2844
  # permissions to perform this operation.
2689
2845
  #
2846
+ # @option params [String] :expected_bucket_owner
2847
+ # The account id of the expected bucket owner. If the bucket is owned by
2848
+ # a different account, the request will fail with an HTTP `403 (Access
2849
+ # Denied)` error.
2850
+ #
2690
2851
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2691
2852
  #
2692
2853
  # * {Types::DeleteObjectsOutput#deleted #deleted} => Array&lt;Types::DeletedObject&gt;
@@ -2782,6 +2943,7 @@ module Aws::S3
2782
2943
  # mfa: "MFA",
2783
2944
  # request_payer: "requester", # accepts requester
2784
2945
  # bypass_governance_retention: false,
2946
+ # expected_bucket_owner: "AccountId",
2785
2947
  # })
2786
2948
  #
2787
2949
  # @example Response structure
@@ -2837,12 +2999,18 @@ module Aws::S3
2837
2999
  # The Amazon S3 bucket whose `PublicAccessBlock` configuration you want
2838
3000
  # to delete.
2839
3001
  #
3002
+ # @option params [String] :expected_bucket_owner
3003
+ # The account id of the expected bucket owner. If the bucket is owned by
3004
+ # a different account, the request will fail with an HTTP `403 (Access
3005
+ # Denied)` error.
3006
+ #
2840
3007
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2841
3008
  #
2842
3009
  # @example Request syntax with placeholder values
2843
3010
  #
2844
3011
  # resp = client.delete_public_access_block({
2845
3012
  # bucket: "BucketName", # required
3013
+ # expected_bucket_owner: "AccountId",
2846
3014
  # })
2847
3015
  #
2848
3016
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock AWS API Documentation
@@ -2896,6 +3064,11 @@ module Aws::S3
2896
3064
  # Name of the bucket for which the accelerate configuration is
2897
3065
  # retrieved.
2898
3066
  #
3067
+ # @option params [String] :expected_bucket_owner
3068
+ # The account id of the expected bucket owner. If the bucket is owned by
3069
+ # a different account, the request will fail with an HTTP `403 (Access
3070
+ # Denied)` error.
3071
+ #
2899
3072
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2900
3073
  #
2901
3074
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
@@ -2904,6 +3077,7 @@ module Aws::S3
2904
3077
  #
2905
3078
  # resp = client.get_bucket_accelerate_configuration({
2906
3079
  # bucket: "BucketName", # required
3080
+ # expected_bucket_owner: "AccountId",
2907
3081
  # })
2908
3082
  #
2909
3083
  # @example Response structure
@@ -2939,6 +3113,11 @@ module Aws::S3
2939
3113
  # @option params [required, String] :bucket
2940
3114
  # Specifies the S3 bucket whose ACL is being requested.
2941
3115
  #
3116
+ # @option params [String] :expected_bucket_owner
3117
+ # The account id of the expected bucket owner. If the bucket is owned by
3118
+ # a different account, the request will fail with an HTTP `403 (Access
3119
+ # Denied)` error.
3120
+ #
2942
3121
  # @return [Types::GetBucketAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2943
3122
  #
2944
3123
  # * {Types::GetBucketAclOutput#owner #owner} => Types::Owner
@@ -2948,6 +3127,7 @@ module Aws::S3
2948
3127
  #
2949
3128
  # resp = client.get_bucket_acl({
2950
3129
  # bucket: "BucketName", # required
3130
+ # expected_bucket_owner: "AccountId",
2951
3131
  # })
2952
3132
  #
2953
3133
  # @example Response structure
@@ -3011,6 +3191,11 @@ module Aws::S3
3011
3191
  # @option params [required, String] :id
3012
3192
  # The ID that identifies the analytics configuration.
3013
3193
  #
3194
+ # @option params [String] :expected_bucket_owner
3195
+ # The account id of the expected bucket owner. If the bucket is owned by
3196
+ # a different account, the request will fail with an HTTP `403 (Access
3197
+ # Denied)` error.
3198
+ #
3014
3199
  # @return [Types::GetBucketAnalyticsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3015
3200
  #
3016
3201
  # * {Types::GetBucketAnalyticsConfigurationOutput#analytics_configuration #analytics_configuration} => Types::AnalyticsConfiguration
@@ -3020,6 +3205,7 @@ module Aws::S3
3020
3205
  # resp = client.get_bucket_analytics_configuration({
3021
3206
  # bucket: "BucketName", # required
3022
3207
  # id: "AnalyticsId", # required
3208
+ # expected_bucket_owner: "AccountId",
3023
3209
  # })
3024
3210
  #
3025
3211
  # @example Response structure
@@ -3071,6 +3257,11 @@ module Aws::S3
3071
3257
  # @option params [required, String] :bucket
3072
3258
  # The bucket name for which to get the cors configuration.
3073
3259
  #
3260
+ # @option params [String] :expected_bucket_owner
3261
+ # The account id of the expected bucket owner. If the bucket is owned by
3262
+ # a different account, the request will fail with an HTTP `403 (Access
3263
+ # Denied)` error.
3264
+ #
3074
3265
  # @return [Types::GetBucketCorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3075
3266
  #
3076
3267
  # * {Types::GetBucketCorsOutput#cors_rules #cors_rules} => Array&lt;Types::CORSRule&gt;
@@ -3106,6 +3297,7 @@ module Aws::S3
3106
3297
  #
3107
3298
  # resp = client.get_bucket_cors({
3108
3299
  # bucket: "BucketName", # required
3300
+ # expected_bucket_owner: "AccountId",
3109
3301
  # })
3110
3302
  #
3111
3303
  # @example Response structure
@@ -3159,6 +3351,11 @@ module Aws::S3
3159
3351
  # The name of the bucket from which the server-side encryption
3160
3352
  # configuration is retrieved.
3161
3353
  #
3354
+ # @option params [String] :expected_bucket_owner
3355
+ # The account id of the expected bucket owner. If the bucket is owned by
3356
+ # a different account, the request will fail with an HTTP `403 (Access
3357
+ # Denied)` error.
3358
+ #
3162
3359
  # @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3163
3360
  #
3164
3361
  # * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
@@ -3167,6 +3364,7 @@ module Aws::S3
3167
3364
  #
3168
3365
  # resp = client.get_bucket_encryption({
3169
3366
  # bucket: "BucketName", # required
3367
+ # expected_bucket_owner: "AccountId",
3170
3368
  # })
3171
3369
  #
3172
3370
  # @example Response structure
@@ -3222,6 +3420,11 @@ module Aws::S3
3222
3420
  # @option params [required, String] :id
3223
3421
  # The ID used to identify the inventory configuration.
3224
3422
  #
3423
+ # @option params [String] :expected_bucket_owner
3424
+ # The account id of the expected bucket owner. If the bucket is owned by
3425
+ # a different account, the request will fail with an HTTP `403 (Access
3426
+ # Denied)` error.
3427
+ #
3225
3428
  # @return [Types::GetBucketInventoryConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3226
3429
  #
3227
3430
  # * {Types::GetBucketInventoryConfigurationOutput#inventory_configuration #inventory_configuration} => Types::InventoryConfiguration
@@ -3231,6 +3434,7 @@ module Aws::S3
3231
3434
  # resp = client.get_bucket_inventory_configuration({
3232
3435
  # bucket: "BucketName", # required
3233
3436
  # id: "InventoryId", # required
3437
+ # expected_bucket_owner: "AccountId",
3234
3438
  # })
3235
3439
  #
3236
3440
  # @example Response structure
@@ -3304,6 +3508,11 @@ module Aws::S3
3304
3508
  # @option params [required, String] :bucket
3305
3509
  # The name of the bucket for which to get the lifecycle information.
3306
3510
  #
3511
+ # @option params [String] :expected_bucket_owner
3512
+ # The account id of the expected bucket owner. If the bucket is owned by
3513
+ # a different account, the request will fail with an HTTP `403 (Access
3514
+ # Denied)` error.
3515
+ #
3307
3516
  # @return [Types::GetBucketLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3308
3517
  #
3309
3518
  # * {Types::GetBucketLifecycleOutput#rules #rules} => Array&lt;Types::Rule&gt;
@@ -3335,6 +3544,7 @@ module Aws::S3
3335
3544
  #
3336
3545
  # resp = client.get_bucket_lifecycle({
3337
3546
  # bucket: "BucketName", # required
3547
+ # expected_bucket_owner: "AccountId",
3338
3548
  # })
3339
3549
  #
3340
3550
  # @example Response structure
@@ -3416,6 +3626,11 @@ module Aws::S3
3416
3626
  # @option params [required, String] :bucket
3417
3627
  # The name of the bucket for which to get the lifecycle information.
3418
3628
  #
3629
+ # @option params [String] :expected_bucket_owner
3630
+ # The account id of the expected bucket owner. If the bucket is owned by
3631
+ # a different account, the request will fail with an HTTP `403 (Access
3632
+ # Denied)` error.
3633
+ #
3419
3634
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3420
3635
  #
3421
3636
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -3450,6 +3665,7 @@ module Aws::S3
3450
3665
  #
3451
3666
  # resp = client.get_bucket_lifecycle_configuration({
3452
3667
  # bucket: "BucketName", # required
3668
+ # expected_bucket_owner: "AccountId",
3453
3669
  # })
3454
3670
  #
3455
3671
  # @example Response structure
@@ -3508,6 +3724,11 @@ module Aws::S3
3508
3724
  # @option params [required, String] :bucket
3509
3725
  # The name of the bucket for which to get the location.
3510
3726
  #
3727
+ # @option params [String] :expected_bucket_owner
3728
+ # The account id of the expected bucket owner. If the bucket is owned by
3729
+ # a different account, the request will fail with an HTTP `403 (Access
3730
+ # Denied)` error.
3731
+ #
3511
3732
  # @return [Types::GetBucketLocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3512
3733
  #
3513
3734
  # * {Types::GetBucketLocationOutput#location_constraint #location_constraint} => String
@@ -3530,11 +3751,12 @@ module Aws::S3
3530
3751
  #
3531
3752
  # resp = client.get_bucket_location({
3532
3753
  # bucket: "BucketName", # required
3754
+ # expected_bucket_owner: "AccountId",
3533
3755
  # })
3534
3756
  #
3535
3757
  # @example Response structure
3536
3758
  #
3537
- # resp.location_constraint #=> String, one of "EU", "eu-west-1", "us-west-1", "us-west-2", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "sa-east-1", "cn-north-1", "eu-central-1"
3759
+ # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
3538
3760
  #
3539
3761
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
3540
3762
  #
@@ -3563,6 +3785,11 @@ module Aws::S3
3563
3785
  # @option params [required, String] :bucket
3564
3786
  # The bucket name for which to get the logging information.
3565
3787
  #
3788
+ # @option params [String] :expected_bucket_owner
3789
+ # The account id of the expected bucket owner. If the bucket is owned by
3790
+ # a different account, the request will fail with an HTTP `403 (Access
3791
+ # Denied)` error.
3792
+ #
3566
3793
  # @return [Types::GetBucketLoggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3567
3794
  #
3568
3795
  # * {Types::GetBucketLoggingOutput#logging_enabled #logging_enabled} => Types::LoggingEnabled
@@ -3571,6 +3798,7 @@ module Aws::S3
3571
3798
  #
3572
3799
  # resp = client.get_bucket_logging({
3573
3800
  # bucket: "BucketName", # required
3801
+ # expected_bucket_owner: "AccountId",
3574
3802
  # })
3575
3803
  #
3576
3804
  # @example Response structure
@@ -3635,6 +3863,11 @@ module Aws::S3
3635
3863
  # @option params [required, String] :id
3636
3864
  # The ID used to identify the metrics configuration.
3637
3865
  #
3866
+ # @option params [String] :expected_bucket_owner
3867
+ # The account id of the expected bucket owner. If the bucket is owned by
3868
+ # a different account, the request will fail with an HTTP `403 (Access
3869
+ # Denied)` error.
3870
+ #
3638
3871
  # @return [Types::GetBucketMetricsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3639
3872
  #
3640
3873
  # * {Types::GetBucketMetricsConfigurationOutput#metrics_configuration #metrics_configuration} => Types::MetricsConfiguration
@@ -3644,6 +3877,7 @@ module Aws::S3
3644
3877
  # resp = client.get_bucket_metrics_configuration({
3645
3878
  # bucket: "BucketName", # required
3646
3879
  # id: "MetricsId", # required
3880
+ # expected_bucket_owner: "AccountId",
3647
3881
  # })
3648
3882
  #
3649
3883
  # @example Response structure
@@ -3675,6 +3909,11 @@ module Aws::S3
3675
3909
  # @option params [required, String] :bucket
3676
3910
  # Name of the bucket for which to get the notification configuration.
3677
3911
  #
3912
+ # @option params [String] :expected_bucket_owner
3913
+ # The account id of the expected bucket owner. If the bucket is owned by
3914
+ # a different account, the request will fail with an HTTP `403 (Access
3915
+ # Denied)` error.
3916
+ #
3678
3917
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3679
3918
  #
3680
3919
  # * {Types::NotificationConfigurationDeprecated#topic_configuration #topic_configuration} => Types::TopicConfigurationDeprecated
@@ -3742,6 +3981,7 @@ module Aws::S3
3742
3981
  #
3743
3982
  # resp = client.get_bucket_notification({
3744
3983
  # bucket: "BucketName", # required
3984
+ # expected_bucket_owner: "AccountId",
3745
3985
  # })
3746
3986
  #
3747
3987
  # @example Response structure
@@ -3802,6 +4042,11 @@ module Aws::S3
3802
4042
  # @option params [required, String] :bucket
3803
4043
  # Name of the bucket for which to get the notification configuration.
3804
4044
  #
4045
+ # @option params [String] :expected_bucket_owner
4046
+ # The account id of the expected bucket owner. If the bucket is owned by
4047
+ # a different account, the request will fail with an HTTP `403 (Access
4048
+ # Denied)` error.
4049
+ #
3805
4050
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3806
4051
  #
3807
4052
  # * {Types::NotificationConfiguration#topic_configurations #topic_configurations} => Array&lt;Types::TopicConfiguration&gt;
@@ -3812,6 +4057,7 @@ module Aws::S3
3812
4057
  #
3813
4058
  # resp = client.get_bucket_notification_configuration({
3814
4059
  # bucket: "BucketName", # required
4060
+ # expected_bucket_owner: "AccountId",
3815
4061
  # })
3816
4062
  #
3817
4063
  # @example Response structure
@@ -3882,6 +4128,11 @@ module Aws::S3
3882
4128
  # @option params [required, String] :bucket
3883
4129
  # The bucket name for which to get the bucket policy.
3884
4130
  #
4131
+ # @option params [String] :expected_bucket_owner
4132
+ # The account id of the expected bucket owner. If the bucket is owned by
4133
+ # a different account, the request will fail with an HTTP `403 (Access
4134
+ # Denied)` error.
4135
+ #
3885
4136
  # @return [Types::GetBucketPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3886
4137
  #
3887
4138
  # * {Types::GetBucketPolicyOutput#policy #policy} => IO
@@ -3904,6 +4155,7 @@ module Aws::S3
3904
4155
  #
3905
4156
  # resp = client.get_bucket_policy({
3906
4157
  # bucket: "BucketName", # required
4158
+ # expected_bucket_owner: "AccountId",
3907
4159
  # })
3908
4160
  #
3909
4161
  # @example Response structure
@@ -3951,6 +4203,11 @@ module Aws::S3
3951
4203
  # The name of the Amazon S3 bucket whose policy status you want to
3952
4204
  # retrieve.
3953
4205
  #
4206
+ # @option params [String] :expected_bucket_owner
4207
+ # The account id of the expected bucket owner. If the bucket is owned by
4208
+ # a different account, the request will fail with an HTTP `403 (Access
4209
+ # Denied)` error.
4210
+ #
3954
4211
  # @return [Types::GetBucketPolicyStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3955
4212
  #
3956
4213
  # * {Types::GetBucketPolicyStatusOutput#policy_status #policy_status} => Types::PolicyStatus
@@ -3959,6 +4216,7 @@ module Aws::S3
3959
4216
  #
3960
4217
  # resp = client.get_bucket_policy_status({
3961
4218
  # bucket: "BucketName", # required
4219
+ # expected_bucket_owner: "AccountId",
3962
4220
  # })
3963
4221
  #
3964
4222
  # @example Response structure
@@ -4013,6 +4271,11 @@ module Aws::S3
4013
4271
  # @option params [required, String] :bucket
4014
4272
  # The bucket name for which to get the replication information.
4015
4273
  #
4274
+ # @option params [String] :expected_bucket_owner
4275
+ # The account id of the expected bucket owner. If the bucket is owned by
4276
+ # a different account, the request will fail with an HTTP `403 (Access
4277
+ # Denied)` error.
4278
+ #
4016
4279
  # @return [Types::GetBucketReplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4017
4280
  #
4018
4281
  # * {Types::GetBucketReplicationOutput#replication_configuration #replication_configuration} => Types::ReplicationConfiguration
@@ -4047,6 +4310,7 @@ module Aws::S3
4047
4310
  #
4048
4311
  # resp = client.get_bucket_replication({
4049
4312
  # bucket: "BucketName", # required
4313
+ # expected_bucket_owner: "AccountId",
4050
4314
  # })
4051
4315
  #
4052
4316
  # @example Response structure
@@ -4105,6 +4369,11 @@ module Aws::S3
4105
4369
  # The name of the bucket for which to get the payment request
4106
4370
  # configuration
4107
4371
  #
4372
+ # @option params [String] :expected_bucket_owner
4373
+ # The account id of the expected bucket owner. If the bucket is owned by
4374
+ # a different account, the request will fail with an HTTP `403 (Access
4375
+ # Denied)` error.
4376
+ #
4108
4377
  # @return [Types::GetBucketRequestPaymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4109
4378
  #
4110
4379
  # * {Types::GetBucketRequestPaymentOutput#payer #payer} => String
@@ -4127,6 +4396,7 @@ module Aws::S3
4127
4396
  #
4128
4397
  # resp = client.get_bucket_request_payment({
4129
4398
  # bucket: "BucketName", # required
4399
+ # expected_bucket_owner: "AccountId",
4130
4400
  # })
4131
4401
  #
4132
4402
  # @example Response structure
@@ -4170,6 +4440,11 @@ module Aws::S3
4170
4440
  # @option params [required, String] :bucket
4171
4441
  # The name of the bucket for which to get the tagging information.
4172
4442
  #
4443
+ # @option params [String] :expected_bucket_owner
4444
+ # The account id of the expected bucket owner. If the bucket is owned by
4445
+ # a different account, the request will fail with an HTTP `403 (Access
4446
+ # Denied)` error.
4447
+ #
4173
4448
  # @return [Types::GetBucketTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4174
4449
  #
4175
4450
  # * {Types::GetBucketTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
@@ -4201,6 +4476,7 @@ module Aws::S3
4201
4476
  #
4202
4477
  # resp = client.get_bucket_tagging({
4203
4478
  # bucket: "BucketName", # required
4479
+ # expected_bucket_owner: "AccountId",
4204
4480
  # })
4205
4481
  #
4206
4482
  # @example Response structure
@@ -4245,6 +4521,11 @@ module Aws::S3
4245
4521
  # @option params [required, String] :bucket
4246
4522
  # The name of the bucket for which to get the versioning information.
4247
4523
  #
4524
+ # @option params [String] :expected_bucket_owner
4525
+ # The account id of the expected bucket owner. If the bucket is owned by
4526
+ # a different account, the request will fail with an HTTP `403 (Access
4527
+ # Denied)` error.
4528
+ #
4248
4529
  # @return [Types::GetBucketVersioningOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4249
4530
  #
4250
4531
  # * {Types::GetBucketVersioningOutput#status #status} => String
@@ -4269,6 +4550,7 @@ module Aws::S3
4269
4550
  #
4270
4551
  # resp = client.get_bucket_versioning({
4271
4552
  # bucket: "BucketName", # required
4553
+ # expected_bucket_owner: "AccountId",
4272
4554
  # })
4273
4555
  #
4274
4556
  # @example Response structure
@@ -4311,6 +4593,11 @@ module Aws::S3
4311
4593
  # @option params [required, String] :bucket
4312
4594
  # The bucket name for which to get the website configuration.
4313
4595
  #
4596
+ # @option params [String] :expected_bucket_owner
4597
+ # The account id of the expected bucket owner. If the bucket is owned by
4598
+ # a different account, the request will fail with an HTTP `403 (Access
4599
+ # Denied)` error.
4600
+ #
4314
4601
  # @return [Types::GetBucketWebsiteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4315
4602
  #
4316
4603
  # * {Types::GetBucketWebsiteOutput#redirect_all_requests_to #redirect_all_requests_to} => Types::RedirectAllRequestsTo
@@ -4341,6 +4628,7 @@ module Aws::S3
4341
4628
  #
4342
4629
  # resp = client.get_bucket_website({
4343
4630
  # bucket: "BucketName", # required
4631
+ # expected_bucket_owner: "AccountId",
4344
4632
  # })
4345
4633
  #
4346
4634
  # @example Response structure
@@ -4626,6 +4914,11 @@ module Aws::S3
4626
4914
  # for the part specified. Useful for downloading just a part of an
4627
4915
  # object.
4628
4916
  #
4917
+ # @option params [String] :expected_bucket_owner
4918
+ # The account id of the expected bucket owner. If the bucket is owned by
4919
+ # a different account, the request will fail with an HTTP `403 (Access
4920
+ # Denied)` error.
4921
+ #
4629
4922
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4630
4923
  #
4631
4924
  # * {Types::GetObjectOutput#body #body} => IO
@@ -4759,6 +5052,7 @@ module Aws::S3
4759
5052
  # sse_customer_key_md5: "SSECustomerKeyMD5",
4760
5053
  # request_payer: "requester", # accepts requester
4761
5054
  # part_number: 1,
5055
+ # expected_bucket_owner: "AccountId",
4762
5056
  # })
4763
5057
  #
4764
5058
  # @example Response structure
@@ -4862,6 +5156,11 @@ module Aws::S3
4862
5156
  #
4863
5157
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4864
5158
  #
5159
+ # @option params [String] :expected_bucket_owner
5160
+ # The account id of the expected bucket owner. If the bucket is owned by
5161
+ # a different account, the request will fail with an HTTP `403 (Access
5162
+ # Denied)` error.
5163
+ #
4865
5164
  # @return [Types::GetObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4866
5165
  #
4867
5166
  # * {Types::GetObjectAclOutput#owner #owner} => Types::Owner
@@ -4927,6 +5226,7 @@ module Aws::S3
4927
5226
  # key: "ObjectKey", # required
4928
5227
  # version_id: "ObjectVersionId",
4929
5228
  # request_payer: "requester", # accepts requester
5229
+ # expected_bucket_owner: "AccountId",
4930
5230
  # })
4931
5231
  #
4932
5232
  # @example Response structure
@@ -4993,6 +5293,11 @@ module Aws::S3
4993
5293
  #
4994
5294
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4995
5295
  #
5296
+ # @option params [String] :expected_bucket_owner
5297
+ # The account id of the expected bucket owner. If the bucket is owned by
5298
+ # a different account, the request will fail with an HTTP `403 (Access
5299
+ # Denied)` error.
5300
+ #
4996
5301
  # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4997
5302
  #
4998
5303
  # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
@@ -5004,6 +5309,7 @@ module Aws::S3
5004
5309
  # key: "ObjectKey", # required
5005
5310
  # version_id: "ObjectVersionId",
5006
5311
  # request_payer: "requester", # accepts requester
5312
+ # expected_bucket_owner: "AccountId",
5007
5313
  # })
5008
5314
  #
5009
5315
  # @example Response structure
@@ -5031,6 +5337,11 @@ module Aws::S3
5031
5337
  # @option params [required, String] :bucket
5032
5338
  # The bucket whose Object Lock configuration you want to retrieve.
5033
5339
  #
5340
+ # @option params [String] :expected_bucket_owner
5341
+ # The account id of the expected bucket owner. If the bucket is owned by
5342
+ # a different account, the request will fail with an HTTP `403 (Access
5343
+ # Denied)` error.
5344
+ #
5034
5345
  # @return [Types::GetObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5035
5346
  #
5036
5347
  # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
@@ -5039,6 +5350,7 @@ module Aws::S3
5039
5350
  #
5040
5351
  # resp = client.get_object_lock_configuration({
5041
5352
  # bucket: "BucketName", # required
5353
+ # expected_bucket_owner: "AccountId",
5042
5354
  # })
5043
5355
  #
5044
5356
  # @example Response structure
@@ -5099,6 +5411,11 @@ module Aws::S3
5099
5411
  #
5100
5412
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5101
5413
  #
5414
+ # @option params [String] :expected_bucket_owner
5415
+ # The account id of the expected bucket owner. If the bucket is owned by
5416
+ # a different account, the request will fail with an HTTP `403 (Access
5417
+ # Denied)` error.
5418
+ #
5102
5419
  # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5103
5420
  #
5104
5421
  # * {Types::GetObjectRetentionOutput#retention #retention} => Types::ObjectLockRetention
@@ -5110,6 +5427,7 @@ module Aws::S3
5110
5427
  # key: "ObjectKey", # required
5111
5428
  # version_id: "ObjectVersionId",
5112
5429
  # request_payer: "requester", # accepts requester
5430
+ # expected_bucket_owner: "AccountId",
5113
5431
  # })
5114
5432
  #
5115
5433
  # @example Response structure
@@ -5175,6 +5493,11 @@ module Aws::S3
5175
5493
  # @option params [String] :version_id
5176
5494
  # The versionId of the object for which to get the tagging information.
5177
5495
  #
5496
+ # @option params [String] :expected_bucket_owner
5497
+ # The account id of the expected bucket owner. If the bucket is owned by
5498
+ # a different account, the request will fail with an HTTP `403 (Access
5499
+ # Denied)` error.
5500
+ #
5178
5501
  # @return [Types::GetObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5179
5502
  #
5180
5503
  # * {Types::GetObjectTaggingOutput#version_id #version_id} => String
@@ -5232,6 +5555,7 @@ module Aws::S3
5232
5555
  # bucket: "BucketName", # required
5233
5556
  # key: "ObjectKey", # required
5234
5557
  # version_id: "ObjectVersionId",
5558
+ # expected_bucket_owner: "AccountId",
5235
5559
  # })
5236
5560
  #
5237
5561
  # @example Response structure
@@ -5294,6 +5618,11 @@ module Aws::S3
5294
5618
  #
5295
5619
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5296
5620
  #
5621
+ # @option params [String] :expected_bucket_owner
5622
+ # The account id of the expected bucket owner. If the bucket is owned by
5623
+ # a different account, the request will fail with an HTTP `403 (Access
5624
+ # Denied)` error.
5625
+ #
5297
5626
  # @return [Types::GetObjectTorrentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5298
5627
  #
5299
5628
  # * {Types::GetObjectTorrentOutput#body #body} => IO
@@ -5319,6 +5648,7 @@ module Aws::S3
5319
5648
  # bucket: "BucketName", # required
5320
5649
  # key: "ObjectKey", # required
5321
5650
  # request_payer: "requester", # accepts requester
5651
+ # expected_bucket_owner: "AccountId",
5322
5652
  # })
5323
5653
  #
5324
5654
  # @example Response structure
@@ -5374,6 +5704,11 @@ module Aws::S3
5374
5704
  # The name of the Amazon S3 bucket whose `PublicAccessBlock`
5375
5705
  # configuration you want to retrieve.
5376
5706
  #
5707
+ # @option params [String] :expected_bucket_owner
5708
+ # The account id of the expected bucket owner. If the bucket is owned by
5709
+ # a different account, the request will fail with an HTTP `403 (Access
5710
+ # Denied)` error.
5711
+ #
5377
5712
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5378
5713
  #
5379
5714
  # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
@@ -5382,6 +5717,7 @@ module Aws::S3
5382
5717
  #
5383
5718
  # resp = client.get_public_access_block({
5384
5719
  # bucket: "BucketName", # required
5720
+ # expected_bucket_owner: "AccountId",
5385
5721
  # })
5386
5722
  #
5387
5723
  # @example Response structure
@@ -5421,6 +5757,11 @@ module Aws::S3
5421
5757
  # @option params [required, String] :bucket
5422
5758
  # The bucket name.
5423
5759
  #
5760
+ # @option params [String] :expected_bucket_owner
5761
+ # The account id of the expected bucket owner. If the bucket is owned by
5762
+ # a different account, the request will fail with an HTTP `403 (Access
5763
+ # Denied)` error.
5764
+ #
5424
5765
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5425
5766
  #
5426
5767
  #
@@ -5436,6 +5777,7 @@ module Aws::S3
5436
5777
  #
5437
5778
  # resp = client.head_bucket({
5438
5779
  # bucket: "BucketName", # required
5780
+ # expected_bucket_owner: "AccountId",
5439
5781
  # })
5440
5782
  #
5441
5783
  #
@@ -5605,6 +5947,11 @@ module Aws::S3
5605
5947
  # for the part specified. Useful querying about the size of the part and
5606
5948
  # the number of parts in this object.
5607
5949
  #
5950
+ # @option params [String] :expected_bucket_owner
5951
+ # The account id of the expected bucket owner. If the bucket is owned by
5952
+ # a different account, the request will fail with an HTTP `403 (Access
5953
+ # Denied)` error.
5954
+ #
5608
5955
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5609
5956
  #
5610
5957
  # * {Types::HeadObjectOutput#delete_marker #delete_marker} => Boolean
@@ -5675,6 +6022,7 @@ module Aws::S3
5675
6022
  # sse_customer_key_md5: "SSECustomerKeyMD5",
5676
6023
  # request_payer: "requester", # accepts requester
5677
6024
  # part_number: 1,
6025
+ # expected_bucket_owner: "AccountId",
5678
6026
  # })
5679
6027
  #
5680
6028
  # @example Response structure
@@ -5774,6 +6122,11 @@ module Aws::S3
5774
6122
  # The ContinuationToken that represents a placeholder from where this
5775
6123
  # request should begin.
5776
6124
  #
6125
+ # @option params [String] :expected_bucket_owner
6126
+ # The account id of the expected bucket owner. If the bucket is owned by
6127
+ # a different account, the request will fail with an HTTP `403 (Access
6128
+ # Denied)` error.
6129
+ #
5777
6130
  # @return [Types::ListBucketAnalyticsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5778
6131
  #
5779
6132
  # * {Types::ListBucketAnalyticsConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -5786,6 +6139,7 @@ module Aws::S3
5786
6139
  # resp = client.list_bucket_analytics_configurations({
5787
6140
  # bucket: "BucketName", # required
5788
6141
  # continuation_token: "Token",
6142
+ # expected_bucket_owner: "AccountId",
5789
6143
  # })
5790
6144
  #
5791
6145
  # @example Response structure
@@ -5867,6 +6221,11 @@ module Aws::S3
5867
6221
  # truncated list response to continue the listing. The continuation
5868
6222
  # token is an opaque value that Amazon S3 understands.
5869
6223
  #
6224
+ # @option params [String] :expected_bucket_owner
6225
+ # The account id of the expected bucket owner. If the bucket is owned by
6226
+ # a different account, the request will fail with an HTTP `403 (Access
6227
+ # Denied)` error.
6228
+ #
5870
6229
  # @return [Types::ListBucketInventoryConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5871
6230
  #
5872
6231
  # * {Types::ListBucketInventoryConfigurationsOutput#continuation_token #continuation_token} => String
@@ -5879,6 +6238,7 @@ module Aws::S3
5879
6238
  # resp = client.list_bucket_inventory_configurations({
5880
6239
  # bucket: "BucketName", # required
5881
6240
  # continuation_token: "Token",
6241
+ # expected_bucket_owner: "AccountId",
5882
6242
  # })
5883
6243
  #
5884
6244
  # @example Response structure
@@ -5961,6 +6321,11 @@ module Aws::S3
5961
6321
  # previously truncated list response to continue the listing. The
5962
6322
  # continuation token is an opaque value that Amazon S3 understands.
5963
6323
  #
6324
+ # @option params [String] :expected_bucket_owner
6325
+ # The account id of the expected bucket owner. If the bucket is owned by
6326
+ # a different account, the request will fail with an HTTP `403 (Access
6327
+ # Denied)` error.
6328
+ #
5964
6329
  # @return [Types::ListBucketMetricsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5965
6330
  #
5966
6331
  # * {Types::ListBucketMetricsConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -5973,6 +6338,7 @@ module Aws::S3
5973
6338
  # resp = client.list_bucket_metrics_configurations({
5974
6339
  # bucket: "BucketName", # required
5975
6340
  # continuation_token: "Token",
6341
+ # expected_bucket_owner: "AccountId",
5976
6342
  # })
5977
6343
  #
5978
6344
  # @example Response structure
@@ -6170,6 +6536,11 @@ module Aws::S3
6170
6536
  # list only if they have an upload ID lexicographically greater than the
6171
6537
  # specified `upload-id-marker`.
6172
6538
  #
6539
+ # @option params [String] :expected_bucket_owner
6540
+ # The account id of the expected bucket owner. If the bucket is owned by
6541
+ # a different account, the request will fail with an HTTP `403 (Access
6542
+ # Denied)` error.
6543
+ #
6173
6544
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6174
6545
  #
6175
6546
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -6188,97 +6559,97 @@ module Aws::S3
6188
6559
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6189
6560
  #
6190
6561
  #
6191
- # @example Example: To list in-progress multipart uploads on a bucket
6562
+ # @example Example: List next set of multipart uploads when previous result is truncated
6192
6563
  #
6193
- # # The following example lists in-progress multipart uploads on a specific bucket.
6564
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
6565
+ # # setup of multipart uploads.
6194
6566
  #
6195
6567
  # resp = client.list_multipart_uploads({
6196
6568
  # bucket: "examplebucket",
6569
+ # key_marker: "nextkeyfrompreviousresponse",
6570
+ # max_uploads: 2,
6571
+ # upload_id_marker: "valuefrompreviousresponse",
6197
6572
  # })
6198
6573
  #
6199
6574
  # resp.to_h outputs the following:
6200
6575
  # {
6576
+ # bucket: "acl1",
6577
+ # is_truncated: true,
6578
+ # key_marker: "",
6579
+ # max_uploads: 2,
6580
+ # next_key_marker: "someobjectkey",
6581
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6582
+ # upload_id_marker: "",
6201
6583
  # uploads: [
6202
6584
  # {
6203
6585
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
6204
6586
  # initiator: {
6205
- # display_name: "display-name",
6587
+ # display_name: "ownder-display-name",
6206
6588
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6207
6589
  # },
6208
6590
  # key: "JavaFile",
6209
6591
  # owner: {
6210
- # display_name: "display-name",
6211
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6592
+ # display_name: "mohanataws",
6593
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6212
6594
  # },
6213
6595
  # storage_class: "STANDARD",
6214
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
6596
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
6215
6597
  # },
6216
6598
  # {
6217
6599
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
6218
6600
  # initiator: {
6219
- # display_name: "display-name",
6601
+ # display_name: "ownder-display-name",
6220
6602
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6221
6603
  # },
6222
6604
  # key: "JavaFile",
6223
6605
  # owner: {
6224
- # display_name: "display-name",
6606
+ # display_name: "ownder-display-name",
6225
6607
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6226
6608
  # },
6227
6609
  # storage_class: "STANDARD",
6228
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6610
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6229
6611
  # },
6230
6612
  # ],
6231
6613
  # }
6232
6614
  #
6233
- # @example Example: List next set of multipart uploads when previous result is truncated
6615
+ # @example Example: To list in-progress multipart uploads on a bucket
6234
6616
  #
6235
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
6236
- # # setup of multipart uploads.
6617
+ # # The following example lists in-progress multipart uploads on a specific bucket.
6237
6618
  #
6238
6619
  # resp = client.list_multipart_uploads({
6239
6620
  # bucket: "examplebucket",
6240
- # key_marker: "nextkeyfrompreviousresponse",
6241
- # max_uploads: 2,
6242
- # upload_id_marker: "valuefrompreviousresponse",
6243
6621
  # })
6244
6622
  #
6245
6623
  # resp.to_h outputs the following:
6246
6624
  # {
6247
- # bucket: "acl1",
6248
- # is_truncated: true,
6249
- # key_marker: "",
6250
- # max_uploads: 2,
6251
- # next_key_marker: "someobjectkey",
6252
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6253
- # upload_id_marker: "",
6254
6625
  # uploads: [
6255
6626
  # {
6256
6627
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
6257
6628
  # initiator: {
6258
- # display_name: "ownder-display-name",
6629
+ # display_name: "display-name",
6259
6630
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6260
6631
  # },
6261
6632
  # key: "JavaFile",
6262
6633
  # owner: {
6263
- # display_name: "mohanataws",
6264
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6634
+ # display_name: "display-name",
6635
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6265
6636
  # },
6266
6637
  # storage_class: "STANDARD",
6267
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
6638
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
6268
6639
  # },
6269
6640
  # {
6270
6641
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
6271
6642
  # initiator: {
6272
- # display_name: "ownder-display-name",
6643
+ # display_name: "display-name",
6273
6644
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6274
6645
  # },
6275
6646
  # key: "JavaFile",
6276
6647
  # owner: {
6277
- # display_name: "ownder-display-name",
6648
+ # display_name: "display-name",
6278
6649
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
6279
6650
  # },
6280
6651
  # storage_class: "STANDARD",
6281
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6652
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
6282
6653
  # },
6283
6654
  # ],
6284
6655
  # }
@@ -6293,6 +6664,7 @@ module Aws::S3
6293
6664
  # max_uploads: 1,
6294
6665
  # prefix: "Prefix",
6295
6666
  # upload_id_marker: "UploadIdMarker",
6667
+ # expected_bucket_owner: "AccountId",
6296
6668
  # })
6297
6669
  #
6298
6670
  # @example Response structure
@@ -6410,6 +6782,11 @@ module Aws::S3
6410
6782
  # @option params [String] :version_id_marker
6411
6783
  # Specifies the object version you want to start listing from.
6412
6784
  #
6785
+ # @option params [String] :expected_bucket_owner
6786
+ # The account id of the expected bucket owner. If the bucket is owned by
6787
+ # a different account, the request will fail with an HTTP `403 (Access
6788
+ # Denied)` error.
6789
+ #
6413
6790
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6414
6791
  #
6415
6792
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -6482,6 +6859,7 @@ module Aws::S3
6482
6859
  # max_keys: 1,
6483
6860
  # prefix: "Prefix",
6484
6861
  # version_id_marker: "VersionIdMarker",
6862
+ # expected_bucket_owner: "AccountId",
6485
6863
  # })
6486
6864
  #
6487
6865
  # @example Response structure
@@ -6585,6 +6963,11 @@ module Aws::S3
6585
6963
  # the list objects request. Bucket owners need not specify this
6586
6964
  # parameter in their requests.
6587
6965
  #
6966
+ # @option params [String] :expected_bucket_owner
6967
+ # The account id of the expected bucket owner. If the bucket is owned by
6968
+ # a different account, the request will fail with an HTTP `403 (Access
6969
+ # Denied)` error.
6970
+ #
6588
6971
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6589
6972
  #
6590
6973
  # * {Types::ListObjectsOutput#is_truncated #is_truncated} => Boolean
@@ -6649,6 +7032,7 @@ module Aws::S3
6649
7032
  # max_keys: 1,
6650
7033
  # prefix: "Prefix",
6651
7034
  # request_payer: "requester", # accepts requester
7035
+ # expected_bucket_owner: "AccountId",
6652
7036
  # })
6653
7037
  #
6654
7038
  # @example Response structure
@@ -6770,6 +7154,11 @@ module Aws::S3
6770
7154
  # the list objects request in V2 style. Bucket owners need not specify
6771
7155
  # this parameter in their requests.
6772
7156
  #
7157
+ # @option params [String] :expected_bucket_owner
7158
+ # The account id of the expected bucket owner. If the bucket is owned by
7159
+ # a different account, the request will fail with an HTTP `403 (Access
7160
+ # Denied)` error.
7161
+ #
6773
7162
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6774
7163
  #
6775
7164
  # * {Types::ListObjectsV2Output#is_truncated #is_truncated} => Boolean
@@ -6836,6 +7225,7 @@ module Aws::S3
6836
7225
  # fetch_owner: false,
6837
7226
  # start_after: "StartAfter",
6838
7227
  # request_payer: "requester", # accepts requester
7228
+ # expected_bucket_owner: "AccountId",
6839
7229
  # })
6840
7230
  #
6841
7231
  # @example Response structure
@@ -6951,6 +7341,11 @@ module Aws::S3
6951
7341
  #
6952
7342
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6953
7343
  #
7344
+ # @option params [String] :expected_bucket_owner
7345
+ # The account id of the expected bucket owner. If the bucket is owned by
7346
+ # a different account, the request will fail with an HTTP `403 (Access
7347
+ # Denied)` error.
7348
+ #
6954
7349
  # @return [Types::ListPartsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6955
7350
  #
6956
7351
  # * {Types::ListPartsOutput#abort_date #abort_date} => Time
@@ -7017,6 +7412,7 @@ module Aws::S3
7017
7412
  # part_number_marker: 1,
7018
7413
  # upload_id: "MultipartUploadId", # required
7019
7414
  # request_payer: "requester", # accepts requester
7415
+ # expected_bucket_owner: "AccountId",
7020
7416
  # })
7021
7417
  #
7022
7418
  # @example Response structure
@@ -7103,6 +7499,11 @@ module Aws::S3
7103
7499
  # @option params [required, Types::AccelerateConfiguration] :accelerate_configuration
7104
7500
  # Container for setting the transfer acceleration state.
7105
7501
  #
7502
+ # @option params [String] :expected_bucket_owner
7503
+ # The account id of the expected bucket owner. If the bucket is owned by
7504
+ # a different account, the request will fail with an HTTP `403 (Access
7505
+ # Denied)` error.
7506
+ #
7106
7507
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7107
7508
  #
7108
7509
  # @example Request syntax with placeholder values
@@ -7112,6 +7513,7 @@ module Aws::S3
7112
7513
  # accelerate_configuration: { # required
7113
7514
  # status: "Enabled", # accepts Enabled, Suspended
7114
7515
  # },
7516
+ # expected_bucket_owner: "AccountId",
7115
7517
  # })
7116
7518
  #
7117
7519
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -7316,6 +7718,11 @@ module Aws::S3
7316
7718
  # @option params [String] :grant_write_acp
7317
7719
  # Allows grantee to write the ACL for the applicable bucket.
7318
7720
  #
7721
+ # @option params [String] :expected_bucket_owner
7722
+ # The account id of the expected bucket owner. If the bucket is owned by
7723
+ # a different account, the request will fail with an HTTP `403 (Access
7724
+ # Denied)` error.
7725
+ #
7319
7726
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7320
7727
  #
7321
7728
  #
@@ -7360,6 +7767,7 @@ module Aws::S3
7360
7767
  # grant_read_acp: "GrantReadACP",
7361
7768
  # grant_write: "GrantWrite",
7362
7769
  # grant_write_acp: "GrantWriteACP",
7770
+ # expected_bucket_owner: "AccountId",
7363
7771
  # })
7364
7772
  #
7365
7773
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl AWS API Documentation
@@ -7448,6 +7856,11 @@ module Aws::S3
7448
7856
  # @option params [required, Types::AnalyticsConfiguration] :analytics_configuration
7449
7857
  # The configuration and any analyses for the analytics filter.
7450
7858
  #
7859
+ # @option params [String] :expected_bucket_owner
7860
+ # The account id of the expected bucket owner. If the bucket is owned by
7861
+ # a different account, the request will fail with an HTTP `403 (Access
7862
+ # Denied)` error.
7863
+ #
7451
7864
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7452
7865
  #
7453
7866
  # @example Request syntax with placeholder values
@@ -7487,6 +7900,7 @@ module Aws::S3
7487
7900
  # },
7488
7901
  # },
7489
7902
  # },
7903
+ # expected_bucket_owner: "AccountId",
7490
7904
  # })
7491
7905
  #
7492
7906
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration AWS API Documentation
@@ -7573,6 +7987,11 @@ module Aws::S3
7573
7987
  #
7574
7988
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
7575
7989
  #
7990
+ # @option params [String] :expected_bucket_owner
7991
+ # The account id of the expected bucket owner. If the bucket is owned by
7992
+ # a different account, the request will fail with an HTTP `403 (Access
7993
+ # Denied)` error.
7994
+ #
7576
7995
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7577
7996
  #
7578
7997
  #
@@ -7635,6 +8054,7 @@ module Aws::S3
7635
8054
  # ],
7636
8055
  # },
7637
8056
  # content_md5: "ContentMD5",
8057
+ # expected_bucket_owner: "AccountId",
7638
8058
  # })
7639
8059
  #
7640
8060
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors AWS API Documentation
@@ -7700,6 +8120,11 @@ module Aws::S3
7700
8120
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
7701
8121
  # Specifies the default server-side-encryption configuration.
7702
8122
  #
8123
+ # @option params [String] :expected_bucket_owner
8124
+ # The account id of the expected bucket owner. If the bucket is owned by
8125
+ # a different account, the request will fail with an HTTP `403 (Access
8126
+ # Denied)` error.
8127
+ #
7703
8128
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7704
8129
  #
7705
8130
  # @example Request syntax with placeholder values
@@ -7717,6 +8142,7 @@ module Aws::S3
7717
8142
  # },
7718
8143
  # ],
7719
8144
  # },
8145
+ # expected_bucket_owner: "AccountId",
7720
8146
  # })
7721
8147
  #
7722
8148
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption AWS API Documentation
@@ -7811,6 +8237,11 @@ module Aws::S3
7811
8237
  # @option params [required, Types::InventoryConfiguration] :inventory_configuration
7812
8238
  # Specifies the inventory configuration.
7813
8239
  #
8240
+ # @option params [String] :expected_bucket_owner
8241
+ # The account id of the expected bucket owner. If the bucket is owned by
8242
+ # a different account, the request will fail with an HTTP `403 (Access
8243
+ # Denied)` error.
8244
+ #
7814
8245
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7815
8246
  #
7816
8247
  # @example Request syntax with placeholder values
@@ -7845,6 +8276,7 @@ module Aws::S3
7845
8276
  # frequency: "Daily", # required, accepts Daily, Weekly
7846
8277
  # },
7847
8278
  # },
8279
+ # expected_bucket_owner: "AccountId",
7848
8280
  # })
7849
8281
  #
7850
8282
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration AWS API Documentation
@@ -7928,6 +8360,11 @@ module Aws::S3
7928
8360
  #
7929
8361
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
7930
8362
  #
8363
+ # @option params [String] :expected_bucket_owner
8364
+ # The account id of the expected bucket owner. If the bucket is owned by
8365
+ # a different account, the request will fail with an HTTP `403 (Access
8366
+ # Denied)` error.
8367
+ #
7931
8368
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7932
8369
  #
7933
8370
  # @example Request syntax with placeholder values
@@ -7964,6 +8401,7 @@ module Aws::S3
7964
8401
  # },
7965
8402
  # ],
7966
8403
  # },
8404
+ # expected_bucket_owner: "AccountId",
7967
8405
  # })
7968
8406
  #
7969
8407
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle AWS API Documentation
@@ -8061,6 +8499,11 @@ module Aws::S3
8061
8499
  # @option params [Types::BucketLifecycleConfiguration] :lifecycle_configuration
8062
8500
  # Container for lifecycle rules. You can add as many as 1,000 rules.
8063
8501
  #
8502
+ # @option params [String] :expected_bucket_owner
8503
+ # The account id of the expected bucket owner. If the bucket is owned by
8504
+ # a different account, the request will fail with an HTTP `403 (Access
8505
+ # Denied)` error.
8506
+ #
8064
8507
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8065
8508
  #
8066
8509
  #
@@ -8145,6 +8588,7 @@ module Aws::S3
8145
8588
  # },
8146
8589
  # ],
8147
8590
  # },
8591
+ # expected_bucket_owner: "AccountId",
8148
8592
  # })
8149
8593
  #
8150
8594
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
@@ -8233,6 +8677,11 @@ module Aws::S3
8233
8677
  # @option params [String] :content_md5
8234
8678
  # The MD5 hash of the `PutBucketLogging` request body.
8235
8679
  #
8680
+ # @option params [String] :expected_bucket_owner
8681
+ # The account id of the expected bucket owner. If the bucket is owned by
8682
+ # a different account, the request will fail with an HTTP `403 (Access
8683
+ # Denied)` error.
8684
+ #
8236
8685
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8237
8686
  #
8238
8687
  #
@@ -8283,6 +8732,7 @@ module Aws::S3
8283
8732
  # },
8284
8733
  # },
8285
8734
  # content_md5: "ContentMD5",
8735
+ # expected_bucket_owner: "AccountId",
8286
8736
  # })
8287
8737
  #
8288
8738
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging AWS API Documentation
@@ -8347,6 +8797,11 @@ module Aws::S3
8347
8797
  # @option params [required, Types::MetricsConfiguration] :metrics_configuration
8348
8798
  # Specifies the metrics configuration.
8349
8799
  #
8800
+ # @option params [String] :expected_bucket_owner
8801
+ # The account id of the expected bucket owner. If the bucket is owned by
8802
+ # a different account, the request will fail with an HTTP `403 (Access
8803
+ # Denied)` error.
8804
+ #
8350
8805
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8351
8806
  #
8352
8807
  # @example Request syntax with placeholder values
@@ -8373,6 +8828,7 @@ module Aws::S3
8373
8828
  # },
8374
8829
  # },
8375
8830
  # },
8831
+ # expected_bucket_owner: "AccountId",
8376
8832
  # })
8377
8833
  #
8378
8834
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration AWS API Documentation
@@ -8400,6 +8856,11 @@ module Aws::S3
8400
8856
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
8401
8857
  # The container for the configuration.
8402
8858
  #
8859
+ # @option params [String] :expected_bucket_owner
8860
+ # The account id of the expected bucket owner. If the bucket is owned by
8861
+ # a different account, the request will fail with an HTTP `403 (Access
8862
+ # Denied)` error.
8863
+ #
8403
8864
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8404
8865
  #
8405
8866
  # @example Request syntax with placeholder values
@@ -8428,6 +8889,7 @@ module Aws::S3
8428
8889
  # invocation_role: "CloudFunctionInvocationRole",
8429
8890
  # },
8430
8891
  # },
8892
+ # expected_bucket_owner: "AccountId",
8431
8893
  # })
8432
8894
  #
8433
8895
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification AWS API Documentation
@@ -8514,6 +8976,11 @@ module Aws::S3
8514
8976
  # bucket. If this element is empty, notifications are turned off for the
8515
8977
  # bucket.
8516
8978
  #
8979
+ # @option params [String] :expected_bucket_owner
8980
+ # The account id of the expected bucket owner. If the bucket is owned by
8981
+ # a different account, the request will fail with an HTTP `403 (Access
8982
+ # Denied)` error.
8983
+ #
8517
8984
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8518
8985
  #
8519
8986
  #
@@ -8592,6 +9059,7 @@ module Aws::S3
8592
9059
  # },
8593
9060
  # ],
8594
9061
  # },
9062
+ # expected_bucket_owner: "AccountId",
8595
9063
  # })
8596
9064
  #
8597
9065
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration AWS API Documentation
@@ -8646,6 +9114,11 @@ module Aws::S3
8646
9114
  # @option params [required, String] :policy
8647
9115
  # The bucket policy as a JSON document.
8648
9116
  #
9117
+ # @option params [String] :expected_bucket_owner
9118
+ # The account id of the expected bucket owner. If the bucket is owned by
9119
+ # a different account, the request will fail with an HTTP `403 (Access
9120
+ # Denied)` error.
9121
+ #
8649
9122
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8650
9123
  #
8651
9124
  #
@@ -8665,6 +9138,7 @@ module Aws::S3
8665
9138
  # content_md5: "ContentMD5",
8666
9139
  # confirm_remove_self_bucket_access: false,
8667
9140
  # policy: "Policy", # required
9141
+ # expected_bucket_owner: "AccountId",
8668
9142
  # })
8669
9143
  #
8670
9144
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy AWS API Documentation
@@ -8774,6 +9248,11 @@ module Aws::S3
8774
9248
  #
8775
9249
  # @option params [String] :token
8776
9250
  #
9251
+ # @option params [String] :expected_bucket_owner
9252
+ # The account id of the expected bucket owner. If the bucket is owned by
9253
+ # a different account, the request will fail with an HTTP `403 (Access
9254
+ # Denied)` error.
9255
+ #
8777
9256
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8778
9257
  #
8779
9258
  #
@@ -8865,6 +9344,7 @@ module Aws::S3
8865
9344
  # ],
8866
9345
  # },
8867
9346
  # token: "ObjectLockToken",
9347
+ # expected_bucket_owner: "AccountId",
8868
9348
  # })
8869
9349
  #
8870
9350
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication AWS API Documentation
@@ -8910,6 +9390,11 @@ module Aws::S3
8910
9390
  # @option params [required, Types::RequestPaymentConfiguration] :request_payment_configuration
8911
9391
  # Container for Payer.
8912
9392
  #
9393
+ # @option params [String] :expected_bucket_owner
9394
+ # The account id of the expected bucket owner. If the bucket is owned by
9395
+ # a different account, the request will fail with an HTTP `403 (Access
9396
+ # Denied)` error.
9397
+ #
8913
9398
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8914
9399
  #
8915
9400
  #
@@ -8932,6 +9417,7 @@ module Aws::S3
8932
9417
  # request_payment_configuration: { # required
8933
9418
  # payer: "Requester", # required, accepts Requester, BucketOwner
8934
9419
  # },
9420
+ # expected_bucket_owner: "AccountId",
8935
9421
  # })
8936
9422
  #
8937
9423
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment AWS API Documentation
@@ -9030,6 +9516,11 @@ module Aws::S3
9030
9516
  # @option params [required, Types::Tagging] :tagging
9031
9517
  # Container for the `TagSet` and `Tag` elements.
9032
9518
  #
9519
+ # @option params [String] :expected_bucket_owner
9520
+ # The account id of the expected bucket owner. If the bucket is owned by
9521
+ # a different account, the request will fail with an HTTP `403 (Access
9522
+ # Denied)` error.
9523
+ #
9033
9524
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9034
9525
  #
9035
9526
  #
@@ -9066,6 +9557,7 @@ module Aws::S3
9066
9557
  # },
9067
9558
  # ],
9068
9559
  # },
9560
+ # expected_bucket_owner: "AccountId",
9069
9561
  # })
9070
9562
  #
9071
9563
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging AWS API Documentation
@@ -9141,6 +9633,11 @@ module Aws::S3
9141
9633
  # @option params [required, Types::VersioningConfiguration] :versioning_configuration
9142
9634
  # Container for setting the versioning state.
9143
9635
  #
9636
+ # @option params [String] :expected_bucket_owner
9637
+ # The account id of the expected bucket owner. If the bucket is owned by
9638
+ # a different account, the request will fail with an HTTP `403 (Access
9639
+ # Denied)` error.
9640
+ #
9144
9641
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9145
9642
  #
9146
9643
  #
@@ -9166,6 +9663,7 @@ module Aws::S3
9166
9663
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
9167
9664
  # status: "Enabled", # accepts Enabled, Suspended
9168
9665
  # },
9666
+ # expected_bucket_owner: "AccountId",
9169
9667
  # })
9170
9668
  #
9171
9669
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning AWS API Documentation
@@ -9265,6 +9763,11 @@ module Aws::S3
9265
9763
  # @option params [required, Types::WebsiteConfiguration] :website_configuration
9266
9764
  # Container for the request.
9267
9765
  #
9766
+ # @option params [String] :expected_bucket_owner
9767
+ # The account id of the expected bucket owner. If the bucket is owned by
9768
+ # a different account, the request will fail with an HTTP `403 (Access
9769
+ # Denied)` error.
9770
+ #
9268
9771
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9269
9772
  #
9270
9773
  #
@@ -9317,6 +9820,7 @@ module Aws::S3
9317
9820
  # },
9318
9821
  # ],
9319
9822
  # },
9823
+ # expected_bucket_owner: "AccountId",
9320
9824
  # })
9321
9825
  #
9322
9826
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite AWS API Documentation
@@ -9625,6 +10129,11 @@ module Aws::S3
9625
10129
  #
9626
10130
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
9627
10131
  #
10132
+ # @option params [String] :expected_bucket_owner
10133
+ # The account id of the expected bucket owner. If the bucket is owned by
10134
+ # a different account, the request will fail with an HTTP `403 (Access
10135
+ # Denied)` error.
10136
+ #
9628
10137
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9629
10138
  #
9630
10139
  # * {Types::PutObjectOutput#expiration #expiration} => String
@@ -9638,134 +10147,134 @@ module Aws::S3
9638
10147
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
9639
10148
  #
9640
10149
  #
9641
- # @example Example: To upload object and specify user-defined metadata
10150
+ # @example Example: To upload an object and specify server-side encryption and object tags
9642
10151
  #
9643
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
9644
- # # enabled, S3 returns version ID in response.
10152
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
10153
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
9645
10154
  #
9646
10155
  # resp = client.put_object({
9647
10156
  # body: "filetoupload",
9648
10157
  # bucket: "examplebucket",
9649
10158
  # key: "exampleobject",
9650
- # metadata: {
9651
- # "metadata1" => "value1",
9652
- # "metadata2" => "value2",
9653
- # },
10159
+ # server_side_encryption: "AES256",
10160
+ # tagging: "key1=value1&key2=value2",
9654
10161
  # })
9655
10162
  #
9656
10163
  # resp.to_h outputs the following:
9657
10164
  # {
9658
10165
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9659
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
10166
+ # server_side_encryption: "AES256",
10167
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9660
10168
  # }
9661
10169
  #
9662
- # @example Example: To upload an object and specify canned ACL.
10170
+ # @example Example: To create an object.
9663
10171
  #
9664
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
9665
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
10172
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
9666
10173
  #
9667
10174
  # resp = client.put_object({
9668
- # acl: "authenticated-read",
9669
10175
  # body: "filetoupload",
9670
10176
  # bucket: "examplebucket",
9671
- # key: "exampleobject",
10177
+ # key: "objectkey",
9672
10178
  # })
9673
10179
  #
9674
10180
  # resp.to_h outputs the following:
9675
10181
  # {
9676
10182
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9677
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10183
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
9678
10184
  # }
9679
10185
  #
9680
- # @example Example: To create an object.
10186
+ # @example Example: To upload an object and specify optional tags
9681
10187
  #
9682
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
10188
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
10189
+ # # S3 returns version ID of the newly created object.
9683
10190
  #
9684
10191
  # resp = client.put_object({
9685
- # body: "filetoupload",
10192
+ # body: "c:\\HappyFace.jpg",
9686
10193
  # bucket: "examplebucket",
9687
- # key: "objectkey",
10194
+ # key: "HappyFace.jpg",
10195
+ # tagging: "key1=value1&key2=value2",
9688
10196
  # })
9689
10197
  #
9690
10198
  # resp.to_h outputs the following:
9691
10199
  # {
9692
10200
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9693
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
10201
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
9694
10202
  # }
9695
10203
  #
9696
- # @example Example: To upload an object
10204
+ # @example Example: To upload an object (specify optional headers)
9697
10205
  #
9698
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9699
- # # syntax. S3 returns VersionId of the newly created object.
10206
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
10207
+ # # storage class and use server-side encryption.
9700
10208
  #
9701
10209
  # resp = client.put_object({
9702
10210
  # body: "HappyFace.jpg",
9703
10211
  # bucket: "examplebucket",
9704
10212
  # key: "HappyFace.jpg",
10213
+ # server_side_encryption: "AES256",
10214
+ # storage_class: "STANDARD_IA",
9705
10215
  # })
9706
10216
  #
9707
10217
  # resp.to_h outputs the following:
9708
10218
  # {
9709
10219
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9710
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10220
+ # server_side_encryption: "AES256",
10221
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
9711
10222
  # }
9712
10223
  #
9713
- # @example Example: To upload an object and specify optional tags
10224
+ # @example Example: To upload object and specify user-defined metadata
9714
10225
  #
9715
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
9716
- # # S3 returns version ID of the newly created object.
10226
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
10227
+ # # enabled, S3 returns version ID in response.
9717
10228
  #
9718
10229
  # resp = client.put_object({
9719
- # body: "c:\\HappyFace.jpg",
10230
+ # body: "filetoupload",
9720
10231
  # bucket: "examplebucket",
9721
- # key: "HappyFace.jpg",
9722
- # tagging: "key1=value1&key2=value2",
10232
+ # key: "exampleobject",
10233
+ # metadata: {
10234
+ # "metadata1" => "value1",
10235
+ # "metadata2" => "value2",
10236
+ # },
9723
10237
  # })
9724
10238
  #
9725
10239
  # resp.to_h outputs the following:
9726
10240
  # {
9727
10241
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9728
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
10242
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9729
10243
  # }
9730
10244
  #
9731
- # @example Example: To upload an object and specify server-side encryption and object tags
10245
+ # @example Example: To upload an object and specify canned ACL.
9732
10246
  #
9733
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9734
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
10247
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
10248
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
9735
10249
  #
9736
10250
  # resp = client.put_object({
10251
+ # acl: "authenticated-read",
9737
10252
  # body: "filetoupload",
9738
10253
  # bucket: "examplebucket",
9739
10254
  # key: "exampleobject",
9740
- # server_side_encryption: "AES256",
9741
- # tagging: "key1=value1&key2=value2",
9742
10255
  # })
9743
10256
  #
9744
10257
  # resp.to_h outputs the following:
9745
10258
  # {
9746
10259
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9747
- # server_side_encryption: "AES256",
9748
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10260
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9749
10261
  # }
9750
10262
  #
9751
- # @example Example: To upload an object (specify optional headers)
10263
+ # @example Example: To upload an object
9752
10264
  #
9753
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
9754
- # # storage class and use server-side encryption.
10265
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
10266
+ # # syntax. S3 returns VersionId of the newly created object.
9755
10267
  #
9756
10268
  # resp = client.put_object({
9757
10269
  # body: "HappyFace.jpg",
9758
10270
  # bucket: "examplebucket",
9759
10271
  # key: "HappyFace.jpg",
9760
- # server_side_encryption: "AES256",
9761
- # storage_class: "STANDARD_IA",
9762
10272
  # })
9763
10273
  #
9764
10274
  # resp.to_h outputs the following:
9765
10275
  # {
9766
10276
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9767
- # server_side_encryption: "AES256",
9768
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
10277
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9769
10278
  # }
9770
10279
  #
9771
10280
  # @example Streaming a file from disk
@@ -9809,6 +10318,7 @@ module Aws::S3
9809
10318
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
9810
10319
  # object_lock_retain_until_date: Time.now,
9811
10320
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
10321
+ # expected_bucket_owner: "AccountId",
9812
10322
  # })
9813
10323
  #
9814
10324
  # @example Response structure
@@ -9833,14 +10343,16 @@ module Aws::S3
9833
10343
  end
9834
10344
 
9835
10345
  # Uses the `acl` subresource to set the access control list (ACL)
9836
- # permissions for an object that already exists in a bucket. You must
9837
- # have `WRITE_ACP` permission to set the ACL of an object.
10346
+ # permissions for an object that already exists in an S3 bucket. You
10347
+ # must have `WRITE_ACP` permission to set the ACL of an object. For more
10348
+ # information, see [What permissions can I grant?][1] in the *Amazon
10349
+ # Simple Storage Service Developer Guide*.
9838
10350
  #
9839
10351
  # Depending on your application needs, you can choose to set the ACL on
9840
10352
  # an object using either the request body or the headers. For example,
9841
10353
  # if you have an existing application that updates a bucket ACL using
9842
10354
  # the request body, you can continue to use that approach. For more
9843
- # information, see [Access Control List (ACL) Overview][1] in the
10355
+ # information, see [Access Control List (ACL) Overview][2] in the
9844
10356
  # *Amazon S3 Developer Guide*.
9845
10357
  #
9846
10358
  # **Access Permissions**
@@ -9852,7 +10364,7 @@ module Aws::S3
9852
10364
  # ACL has a predefined set of grantees and permissions. Specify the
9853
10365
  # canned ACL name as the value of `x-amz-ac`l. If you use this header,
9854
10366
  # you cannot use other access control-specific headers in your
9855
- # request. For more information, see [Canned ACL][2].
10367
+ # request. For more information, see [Canned ACL][3].
9856
10368
  #
9857
10369
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
9858
10370
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
@@ -9862,7 +10374,7 @@ module Aws::S3
9862
10374
  # ACL-specific headers, you cannot use `x-amz-acl` header to set a
9863
10375
  # canned ACL. These parameters map to the set of permissions that
9864
10376
  # Amazon S3 supports in an ACL. For more information, see [Access
9865
- # Control List (ACL) Overview][1].
10377
+ # Control List (ACL) Overview][2].
9866
10378
  #
9867
10379
  # You specify each grantee as a type=value pair, where the type is one
9868
10380
  # of the following:
@@ -9895,7 +10407,7 @@ module Aws::S3
9895
10407
  # * South America (São Paulo)
9896
10408
  #
9897
10409
  # For a list of all the Amazon S3 supported Regions and endpoints,
9898
- # see [Regions and Endpoints][3] in the AWS General Reference.
10410
+ # see [Regions and Endpoints][4] in the AWS General Reference.
9899
10411
  #
9900
10412
  # </note>
9901
10413
  #
@@ -9955,7 +10467,7 @@ module Aws::S3
9955
10467
  # * South America (São Paulo)
9956
10468
  #
9957
10469
  # For a list of all the Amazon S3 supported Regions and endpoints, see
9958
- # [Regions and Endpoints][3] in the AWS General Reference.
10470
+ # [Regions and Endpoints][4] in the AWS General Reference.
9959
10471
  #
9960
10472
  # </note>
9961
10473
  #
@@ -9967,17 +10479,18 @@ module Aws::S3
9967
10479
  #
9968
10480
  # **Related Resources**
9969
10481
  #
9970
- # * [CopyObject][4]
10482
+ # * [CopyObject][5]
9971
10483
  #
9972
- # * [GetObject][5]
10484
+ # * [GetObject][6]
9973
10485
  #
9974
10486
  #
9975
10487
  #
9976
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9977
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9978
- # [3]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
9979
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
9980
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
10488
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions
10489
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10490
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
10491
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
10492
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10493
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9981
10494
  #
9982
10495
  # @option params [String] :acl
9983
10496
  # The canned ACL to apply to the object. For more information, see
@@ -10051,6 +10564,11 @@ module Aws::S3
10051
10564
  # @option params [String] :version_id
10052
10565
  # VersionId used to reference a specific version of the object.
10053
10566
  #
10567
+ # @option params [String] :expected_bucket_owner
10568
+ # The account id of the expected bucket owner. If the bucket is owned by
10569
+ # a different account, the request will fail with an HTTP `403 (Access
10570
+ # Denied)` error.
10571
+ #
10054
10572
  # @return [Types::PutObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10055
10573
  #
10056
10574
  # * {Types::PutObjectAclOutput#request_charged #request_charged} => String
@@ -10106,6 +10624,7 @@ module Aws::S3
10106
10624
  # key: "ObjectKey", # required
10107
10625
  # request_payer: "requester", # accepts requester
10108
10626
  # version_id: "ObjectVersionId",
10627
+ # expected_bucket_owner: "AccountId",
10109
10628
  # })
10110
10629
  #
10111
10630
  # @example Response structure
@@ -10173,6 +10692,11 @@ module Aws::S3
10173
10692
  # @option params [String] :content_md5
10174
10693
  # The MD5 hash for the request body.
10175
10694
  #
10695
+ # @option params [String] :expected_bucket_owner
10696
+ # The account id of the expected bucket owner. If the bucket is owned by
10697
+ # a different account, the request will fail with an HTTP `403 (Access
10698
+ # Denied)` error.
10699
+ #
10176
10700
  # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10177
10701
  #
10178
10702
  # * {Types::PutObjectLegalHoldOutput#request_charged #request_charged} => String
@@ -10188,6 +10712,7 @@ module Aws::S3
10188
10712
  # request_payer: "requester", # accepts requester
10189
10713
  # version_id: "ObjectVersionId",
10190
10714
  # content_md5: "ContentMD5",
10715
+ # expected_bucket_owner: "AccountId",
10191
10716
  # })
10192
10717
  #
10193
10718
  # @example Response structure
@@ -10247,6 +10772,11 @@ module Aws::S3
10247
10772
  # @option params [String] :content_md5
10248
10773
  # The MD5 hash for the request body.
10249
10774
  #
10775
+ # @option params [String] :expected_bucket_owner
10776
+ # The account id of the expected bucket owner. If the bucket is owned by
10777
+ # a different account, the request will fail with an HTTP `403 (Access
10778
+ # Denied)` error.
10779
+ #
10250
10780
  # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10251
10781
  #
10252
10782
  # * {Types::PutObjectLockConfigurationOutput#request_charged #request_charged} => String
@@ -10268,6 +10798,7 @@ module Aws::S3
10268
10798
  # request_payer: "requester", # accepts requester
10269
10799
  # token: "ObjectLockToken",
10270
10800
  # content_md5: "ContentMD5",
10801
+ # expected_bucket_owner: "AccountId",
10271
10802
  # })
10272
10803
  #
10273
10804
  # @example Response structure
@@ -10340,6 +10871,11 @@ module Aws::S3
10340
10871
  # @option params [String] :content_md5
10341
10872
  # The MD5 hash for the request body.
10342
10873
  #
10874
+ # @option params [String] :expected_bucket_owner
10875
+ # The account id of the expected bucket owner. If the bucket is owned by
10876
+ # a different account, the request will fail with an HTTP `403 (Access
10877
+ # Denied)` error.
10878
+ #
10343
10879
  # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10344
10880
  #
10345
10881
  # * {Types::PutObjectRetentionOutput#request_charged #request_charged} => String
@@ -10357,6 +10893,7 @@ module Aws::S3
10357
10893
  # version_id: "ObjectVersionId",
10358
10894
  # bypass_governance_retention: false,
10359
10895
  # content_md5: "ContentMD5",
10896
+ # expected_bucket_owner: "AccountId",
10360
10897
  # })
10361
10898
  #
10362
10899
  # @example Response structure
@@ -10459,6 +10996,11 @@ module Aws::S3
10459
10996
  # @option params [required, Types::Tagging] :tagging
10460
10997
  # Container for the `TagSet` and `Tag` elements
10461
10998
  #
10999
+ # @option params [String] :expected_bucket_owner
11000
+ # The account id of the expected bucket owner. If the bucket is owned by
11001
+ # a different account, the request will fail with an HTTP `403 (Access
11002
+ # Denied)` error.
11003
+ #
10462
11004
  # @return [Types::PutObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10463
11005
  #
10464
11006
  # * {Types::PutObjectTaggingOutput#version_id #version_id} => String
@@ -10505,6 +11047,7 @@ module Aws::S3
10505
11047
  # },
10506
11048
  # ],
10507
11049
  # },
11050
+ # expected_bucket_owner: "AccountId",
10508
11051
  # })
10509
11052
  #
10510
11053
  # @example Response structure
@@ -10573,6 +11116,11 @@ module Aws::S3
10573
11116
  #
10574
11117
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
10575
11118
  #
11119
+ # @option params [String] :expected_bucket_owner
11120
+ # The account id of the expected bucket owner. If the bucket is owned by
11121
+ # a different account, the request will fail with an HTTP `403 (Access
11122
+ # Denied)` error.
11123
+ #
10576
11124
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10577
11125
  #
10578
11126
  # @example Request syntax with placeholder values
@@ -10586,6 +11134,7 @@ module Aws::S3
10586
11134
  # block_public_policy: false,
10587
11135
  # restrict_public_buckets: false,
10588
11136
  # },
11137
+ # expected_bucket_owner: "AccountId",
10589
11138
  # })
10590
11139
  #
10591
11140
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock AWS API Documentation
@@ -10876,6 +11425,11 @@ module Aws::S3
10876
11425
  #
10877
11426
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10878
11427
  #
11428
+ # @option params [String] :expected_bucket_owner
11429
+ # The account id of the expected bucket owner. If the bucket is owned by
11430
+ # a different account, the request will fail with an HTTP `403 (Access
11431
+ # Denied)` error.
11432
+ #
10879
11433
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10880
11434
  #
10881
11435
  # * {Types::RestoreObjectOutput#request_charged #request_charged} => String
@@ -10989,6 +11543,7 @@ module Aws::S3
10989
11543
  # },
10990
11544
  # },
10991
11545
  # request_payer: "requester", # accepts requester
11546
+ # expected_bucket_owner: "AccountId",
10992
11547
  # })
10993
11548
  #
10994
11549
  # @example Response structure
@@ -11188,6 +11743,11 @@ module Aws::S3
11188
11743
  # * `<scanrange><end>50</end></scanrange>` - process only the records
11189
11744
  # within the last 50 bytes of the file.
11190
11745
  #
11746
+ # @option params [String] :expected_bucket_owner
11747
+ # The account id of the expected bucket owner. If the bucket is owned by
11748
+ # a different account, the request will fail with an HTTP `403 (Access
11749
+ # Denied)` error.
11750
+ #
11191
11751
  # @return [Types::SelectObjectContentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11192
11752
  #
11193
11753
  # * {Types::SelectObjectContentOutput#payload #payload} => Types::SelectObjectContentEventStream
@@ -11358,6 +11918,7 @@ module Aws::S3
11358
11918
  # start: 1,
11359
11919
  # end: 1,
11360
11920
  # },
11921
+ # expected_bucket_owner: "AccountId",
11361
11922
  # })
11362
11923
  #
11363
11924
  # @example Response structure
@@ -11574,6 +12135,11 @@ module Aws::S3
11574
12135
  #
11575
12136
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11576
12137
  #
12138
+ # @option params [String] :expected_bucket_owner
12139
+ # The account id of the expected bucket owner. If the bucket is owned by
12140
+ # a different account, the request will fail with an HTTP `403 (Access
12141
+ # Denied)` error.
12142
+ #
11577
12143
  # @return [Types::UploadPartOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11578
12144
  #
11579
12145
  # * {Types::UploadPartOutput#server_side_encryption #server_side_encryption} => String
@@ -11616,6 +12182,7 @@ module Aws::S3
11616
12182
  # sse_customer_key: "SSECustomerKey",
11617
12183
  # sse_customer_key_md5: "SSECustomerKeyMD5",
11618
12184
  # request_payer: "requester", # accepts requester
12185
+ # expected_bucket_owner: "AccountId",
11619
12186
  # })
11620
12187
  #
11621
12188
  # @example Response structure
@@ -11775,8 +12342,41 @@ module Aws::S3
11775
12342
  # The bucket name.
11776
12343
  #
11777
12344
  # @option params [required, String] :copy_source
11778
- # The name of the source bucket and key name of the source object,
11779
- # separated by a slash (/). Must be URL-encoded.
12345
+ # Specifies the source object for the copy operation. You specify the
12346
+ # value in one of two formats, depending on whether you want to access
12347
+ # the source object through an [access point][1]\:
12348
+ #
12349
+ # * For objects not accessed through an access point, specify the name
12350
+ # of the source bucket and key of the source object, separated by a
12351
+ # slash (/). For example, to copy the object `reports/january.pdf`
12352
+ # from the bucket `awsexamplebucket`, use
12353
+ # `awsexamplebucket/reports/january.pdf`. The value must be URL
12354
+ # encoded.
12355
+ #
12356
+ # * For objects accessed through access points, specify the Amazon
12357
+ # Resource Name (ARN) of the object as accessed through the access
12358
+ # point, in the format
12359
+ # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
12360
+ # For example, to copy the object `reports/january.pdf` through the
12361
+ # access point `my-access-point` owned by account `123456789012` in
12362
+ # Region `us-west-2`, use the URL encoding of
12363
+ # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
12364
+ # The value must be URL encoded.
12365
+ #
12366
+ # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
12367
+ # source and destination buckets are in the same AWS Region.
12368
+ #
12369
+ # </note>
12370
+ #
12371
+ # To copy a specific version of an object, append
12372
+ # `?versionId=<version-id>` to the value (for example,
12373
+ # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
12374
+ # If you don't specify a version ID, Amazon S3 copies the latest
12375
+ # version of the source object.
12376
+ #
12377
+ #
12378
+ #
12379
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
11780
12380
  #
11781
12381
  # @option params [String] :copy_source_if_match
11782
12382
  # Copies the object if its entity tag (ETag) matches the specified tag.
@@ -11852,6 +12452,16 @@ module Aws::S3
11852
12452
  #
11853
12453
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11854
12454
  #
12455
+ # @option params [String] :expected_bucket_owner
12456
+ # The account id of the expected destination bucket owner. If the
12457
+ # destination bucket is owned by a different account, the request will
12458
+ # fail with an HTTP `403 (Access Denied)` error.
12459
+ #
12460
+ # @option params [String] :expected_source_bucket_owner
12461
+ # The account id of the expected source bucket owner. If the source
12462
+ # bucket is owned by a different account, the request will fail with an
12463
+ # HTTP `403 (Access Denied)` error.
12464
+ #
11855
12465
  # @return [Types::UploadPartCopyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11856
12466
  #
11857
12467
  # * {Types::UploadPartCopyOutput#copy_source_version_id #copy_source_version_id} => String
@@ -11863,45 +12473,45 @@ module Aws::S3
11863
12473
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
11864
12474
  #
11865
12475
  #
11866
- # @example Example: To upload a part by copying byte range from an existing object as data source
12476
+ # @example Example: To upload a part by copying data from an existing object as data source
11867
12477
  #
11868
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
11869
- # # data source.
12478
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
11870
12479
  #
11871
12480
  # resp = client.upload_part_copy({
11872
12481
  # bucket: "examplebucket",
11873
12482
  # copy_source: "/bucketname/sourceobjectkey",
11874
- # copy_source_range: "bytes=1-100000",
11875
12483
  # key: "examplelargeobject",
11876
- # part_number: 2,
12484
+ # part_number: 1,
11877
12485
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
11878
12486
  # })
11879
12487
  #
11880
12488
  # resp.to_h outputs the following:
11881
12489
  # {
11882
12490
  # copy_part_result: {
11883
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
11884
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
12491
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
12492
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
11885
12493
  # },
11886
12494
  # }
11887
12495
  #
11888
- # @example Example: To upload a part by copying data from an existing object as data source
12496
+ # @example Example: To upload a part by copying byte range from an existing object as data source
11889
12497
  #
11890
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
12498
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
12499
+ # # data source.
11891
12500
  #
11892
12501
  # resp = client.upload_part_copy({
11893
12502
  # bucket: "examplebucket",
11894
12503
  # copy_source: "/bucketname/sourceobjectkey",
12504
+ # copy_source_range: "bytes=1-100000",
11895
12505
  # key: "examplelargeobject",
11896
- # part_number: 1,
12506
+ # part_number: 2,
11897
12507
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
11898
12508
  # })
11899
12509
  #
11900
12510
  # resp.to_h outputs the following:
11901
12511
  # {
11902
12512
  # copy_part_result: {
11903
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
11904
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
12513
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
12514
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
11905
12515
  # },
11906
12516
  # }
11907
12517
  #
@@ -11925,6 +12535,8 @@ module Aws::S3
11925
12535
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
11926
12536
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
11927
12537
  # request_payer: "requester", # accepts requester
12538
+ # expected_bucket_owner: "AccountId",
12539
+ # expected_source_bucket_owner: "AccountId",
11928
12540
  # })
11929
12541
  #
11930
12542
  # @example Response structure
@@ -11960,7 +12572,7 @@ module Aws::S3
11960
12572
  params: params,
11961
12573
  config: config)
11962
12574
  context[:gem_name] = 'aws-sdk-s3'
11963
- context[:gem_version] = '1.76.0'
12575
+ context[:gem_version] = '1.80.0'
11964
12576
  Seahorse::Client::Request.new(handlers, context)
11965
12577
  end
11966
12578