aws-sdk-s3 1.79.1 → 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.
@@ -417,27 +417,32 @@ module Aws::S3
417
417
  # completely free all storage consumed by all parts.
418
418
  #
419
419
  # To verify that all parts have been removed, so you don't get charged
420
- # for the part storage, you should call the ListParts operation and
420
+ # for the part storage, you should call the [ListParts][1] operation and
421
421
  # ensure that the parts list is empty.
422
422
  #
423
423
  # For information about permissions required to use the multipart upload
424
- # API, see [Multipart Upload API and Permissions][1].
424
+ # API, see [Multipart Upload API and Permissions][2].
425
425
  #
426
426
  # The following operations are related to `AbortMultipartUpload`\:
427
427
  #
428
- # * CreateMultipartUpload
428
+ # * [CreateMultipartUpload][3]
429
429
  #
430
- # * UploadPart
430
+ # * [UploadPart][4]
431
431
  #
432
- # * CompleteMultipartUpload
432
+ # * [CompleteMultipartUpload][5]
433
433
  #
434
- # * ListParts
434
+ # * [ListParts][1]
435
435
  #
436
- # * ListMultipartUploads
436
+ # * [ListMultipartUploads][6]
437
437
  #
438
438
  #
439
439
  #
440
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
440
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
441
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
442
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
443
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
444
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
445
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
441
446
  #
442
447
  # @option params [required, String] :bucket
443
448
  # The bucket name to which the upload was taking place.
@@ -471,6 +476,11 @@ module Aws::S3
471
476
  #
472
477
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
473
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
+ #
474
484
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
485
  #
476
486
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -497,6 +507,7 @@ module Aws::S3
497
507
  # key: "ObjectKey", # required
498
508
  # upload_id: "MultipartUploadId", # required
499
509
  # request_payer: "requester", # accepts requester
510
+ # expected_bucket_owner: "AccountId",
500
511
  # })
501
512
  #
502
513
  # @example Response structure
@@ -515,7 +526,7 @@ module Aws::S3
515
526
  # Completes a multipart upload by assembling previously uploaded parts.
516
527
  #
517
528
  # You first initiate the multipart upload and then upload all parts
518
- # using the UploadPart operation. After successfully uploading all
529
+ # using the [UploadPart][1] operation. After successfully uploading all
519
530
  # relevant parts of an upload, you call this operation to complete the
520
531
  # upload. Upon receiving this request, Amazon S3 concatenates all the
521
532
  # parts in ascending order by part number to create a new object. In the
@@ -536,13 +547,13 @@ module Aws::S3
536
547
  #
537
548
  # Note that if `CompleteMultipartUpload` fails, applications should be
538
549
  # prepared to retry the failed requests. For more information, see
539
- # [Amazon S3 Error Best Practices][1].
550
+ # [Amazon S3 Error Best Practices][2].
540
551
  #
541
552
  # For more information about multipart uploads, see [Uploading Objects
542
- # Using Multipart Upload][2].
553
+ # Using Multipart Upload][3].
543
554
  #
544
555
  # For information about permissions required to use the multipart upload
545
- # API, see [Multipart Upload API and Permissions][3].
556
+ # API, see [Multipart Upload API and Permissions][4].
546
557
  #
547
558
  # `CompleteMultipartUpload` has the following special errors:
548
559
  #
@@ -579,21 +590,26 @@ module Aws::S3
579
590
  #
580
591
  # The following operations are related to `CompleteMultipartUpload`\:
581
592
  #
582
- # * CreateMultipartUpload
593
+ # * [CreateMultipartUpload][5]
583
594
  #
584
- # * UploadPart
595
+ # * [UploadPart][1]
585
596
  #
586
- # * AbortMultipartUpload
597
+ # * [AbortMultipartUpload][6]
587
598
  #
588
- # * ListParts
599
+ # * [ListParts][7]
589
600
  #
590
- # * ListMultipartUploads
601
+ # * [ListMultipartUploads][8]
591
602
  #
592
603
  #
593
604
  #
594
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
595
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
596
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
605
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
606
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
607
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
608
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
609
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
610
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
611
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
612
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
597
613
  #
598
614
  # @option params [required, String] :bucket
599
615
  # Name of the bucket to which the multipart upload was initiated.
@@ -618,6 +634,11 @@ module Aws::S3
618
634
  #
619
635
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
620
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
+ #
621
642
  # @return [Types::CompleteMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
622
643
  #
623
644
  # * {Types::CompleteMultipartUploadOutput#location #location} => String
@@ -676,6 +697,7 @@ module Aws::S3
676
697
  # },
677
698
  # upload_id: "MultipartUploadId", # required
678
699
  # request_payer: "requester", # accepts requester
700
+ # expected_bucket_owner: "AccountId",
679
701
  # })
680
702
  #
681
703
  # @example Response structure
@@ -850,15 +872,15 @@ module Aws::S3
850
872
  #
851
873
  # If the source object's storage class is GLACIER, you must restore a
852
874
  # copy of this object before you can use it as a source object for the
853
- # copy operation. For more information, see .
875
+ # copy operation. For more information, see [RestoreObject][12].
854
876
  #
855
877
  # The following operations are related to `CopyObject`\:
856
878
  #
857
- # * PutObject
879
+ # * [PutObject][13]
858
880
  #
859
- # * GetObject
881
+ # * [GetObject][14]
860
882
  #
861
- # For more information, see [Copying Objects][12].
883
+ # For more information, see [Copying Objects][15].
862
884
  #
863
885
  #
864
886
  #
@@ -873,7 +895,10 @@ module Aws::S3
873
895
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
874
896
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
875
897
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
876
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
898
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
899
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
900
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
901
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
877
902
  #
878
903
  # @option params [String] :acl
879
904
  # The canned ACL to apply to the object.
@@ -899,8 +924,41 @@ module Aws::S3
899
924
  # A standard MIME type describing the format of the object data.
900
925
  #
901
926
  # @option params [required, String] :copy_source
902
- # The name of the source bucket and key name of the source object,
903
- # 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
904
962
  #
905
963
  # @option params [String] :copy_source_if_match
906
964
  # Copies the object if its entity tag (ETag) matches the specified tag.
@@ -967,7 +1025,7 @@ module Aws::S3
967
1025
  # encrypting data. This value is used to store the object and then it is
968
1026
  # discarded; Amazon S3 does not store the encryption key. The key must
969
1027
  # be appropriate for use with the algorithm specified in the
970
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
1028
+ # `x-amz-server-side-encryption-customer-algorithm` header.
971
1029
  #
972
1030
  # @option params [String] :sse_customer_key_md5
973
1031
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -1031,6 +1089,16 @@ module Aws::S3
1031
1089
  # @option params [String] :object_lock_legal_hold_status
1032
1090
  # Specifies whether you want to apply a Legal Hold to the copied object.
1033
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
+ #
1034
1102
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1035
1103
  #
1036
1104
  # * {Types::CopyObjectOutput#copy_object_result #copy_object_result} => Types::CopyObjectResult
@@ -1105,6 +1173,8 @@ module Aws::S3
1105
1173
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1106
1174
  # object_lock_retain_until_date: Time.now,
1107
1175
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1176
+ # expected_bucket_owner: "AccountId",
1177
+ # expected_source_bucket_owner: "AccountId",
1108
1178
  # })
1109
1179
  #
1110
1180
  # @example Response structure
@@ -1222,9 +1292,9 @@ module Aws::S3
1222
1292
  #
1223
1293
  # The following operations are related to `CreateBucket`\:
1224
1294
  #
1225
- # * PutObject
1295
+ # * [PutObject][7]
1226
1296
  #
1227
- # * DeleteBucket
1297
+ # * [DeleteBucket][8]
1228
1298
  #
1229
1299
  #
1230
1300
  #
@@ -1234,6 +1304,8 @@ module Aws::S3
1234
1304
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1235
1305
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1236
1306
  # [6]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1307
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1308
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1237
1309
  #
1238
1310
  # @option params [String] :acl
1239
1311
  # The canned ACL to apply to the bucket.
@@ -1331,29 +1403,29 @@ module Aws::S3
1331
1403
  # This operation initiates a multipart upload and returns an upload ID.
1332
1404
  # This upload ID is used to associate all of the parts in the specific
1333
1405
  # multipart upload. You specify this upload ID in each of your
1334
- # subsequent upload part requests (see UploadPart). You also include
1335
- # this upload ID in the final request to either complete or abort the
1336
- # multipart upload request.
1406
+ # subsequent upload part requests (see [UploadPart][1]). You also
1407
+ # include this upload ID in the final request to either complete or
1408
+ # abort the multipart upload request.
1337
1409
  #
1338
1410
  # For more information about multipart uploads, see [Multipart Upload
1339
- # Overview][1].
1411
+ # Overview][2].
1340
1412
  #
1341
1413
  # If you have configured a lifecycle rule to abort incomplete multipart
1342
1414
  # uploads, the upload must complete within the number of days specified
1343
1415
  # in the bucket lifecycle configuration. Otherwise, the incomplete
1344
1416
  # multipart upload becomes eligible for an abort operation and Amazon S3
1345
1417
  # aborts the multipart upload. For more information, see [Aborting
1346
- # Incomplete Multipart Uploads Using a Bucket Lifecycle Policy][2].
1418
+ # Incomplete Multipart Uploads Using a Bucket Lifecycle Policy][3].
1347
1419
  #
1348
1420
  # For information about the permissions required to use the multipart
1349
- # upload API, see [Multipart Upload API and Permissions][3].
1421
+ # upload API, see [Multipart Upload API and Permissions][4].
1350
1422
  #
1351
1423
  # For request signing, multipart upload is just a series of regular
1352
1424
  # requests. You initiate a multipart upload, send one or more requests
1353
1425
  # to upload parts, and then complete the multipart upload process. You
1354
1426
  # sign each request individually. There is nothing special about signing
1355
1427
  # multipart upload requests. For more information about signing, see
1356
- # [Authenticating Requests (AWS Signature Version 4)][4].
1428
+ # [Authenticating Requests (AWS Signature Version 4)][5].
1357
1429
  #
1358
1430
  # <note markdown="1"> After you initiate a multipart upload and upload one or more parts, to
1359
1431
  # stop being charged for storing the uploaded parts, you must either
@@ -1369,9 +1441,9 @@ module Aws::S3
1369
1441
  # your own encryption key, or use AWS Key Management Service (AWS KMS)
1370
1442
  # customer master keys (CMKs) or Amazon S3-managed encryption keys. If
1371
1443
  # you choose to provide your own encryption key, the request headers you
1372
- # provide in UploadPart) and UploadPartCopy) requests must match the
1373
- # headers you used in the request to initiate the upload by using
1374
- # `CreateMultipartUpload`.
1444
+ # provide in [UploadPart](AmazonS3/latest/API/API_UploadPart.html) and
1445
+ # [UploadPartCopy][6] requests must match the headers you used in the
1446
+ # request to initiate the upload by using `CreateMultipartUpload`.
1375
1447
  #
1376
1448
  # To perform a multipart upload with encryption using an AWS KMS CMK,
1377
1449
  # the requester must have permission to the `kms:Encrypt`,
@@ -1387,7 +1459,7 @@ module Aws::S3
1387
1459
  # both the key policy and your IAM user or role.
1388
1460
  #
1389
1461
  # For more information, see [Protecting Data Using Server-Side
1390
- # Encryption][5].
1462
+ # Encryption][7].
1391
1463
  #
1392
1464
  # Access Permissions
1393
1465
  #
@@ -1397,13 +1469,13 @@ module Aws::S3
1397
1469
  # request headers:
1398
1470
  #
1399
1471
  # * Specify a canned ACL with the `x-amz-acl` request header. For more
1400
- # information, see [Canned ACL][6].
1472
+ # information, see [Canned ACL][8].
1401
1473
  #
1402
1474
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
1403
1475
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
1404
1476
  # `x-amz-grant-full-control` headers. These parameters map to the
1405
1477
  # set of permissions that Amazon S3 supports in an ACL. For more
1406
- # information, see [Access Control List (ACL) Overview][7].
1478
+ # information, see [Access Control List (ACL) Overview][9].
1407
1479
  #
1408
1480
  # You can use either a canned ACL or specify access permissions
1409
1481
  # explicitly. You cannot do both.
@@ -1422,7 +1494,7 @@ module Aws::S3
1422
1494
  # want AWS to manage the keys used to encrypt data, specify the
1423
1495
  # following headers in the request.
1424
1496
  #
1425
- # * x-amz-server-side​-encryption
1497
+ # * x-amz-server-side-encryption
1426
1498
  #
1427
1499
  # * x-amz-server-side-encryption-aws-kms-key-id
1428
1500
  #
@@ -1439,21 +1511,21 @@ module Aws::S3
1439
1511
  #
1440
1512
  # For more information about server-side encryption with CMKs stored
1441
1513
  # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
1442
- # Encryption with CMKs stored in AWS KMS][8].
1514
+ # Encryption with CMKs stored in AWS KMS][10].
1443
1515
  #
1444
1516
  # * Use customer-provided encryption keys – If you want to manage your
1445
1517
  # own encryption keys, provide all the following headers in the
1446
1518
  # request.
1447
1519
  #
1448
- # * x-amz-server-side​-encryption​-customer-algorithm
1520
+ # * x-amz-server-side-encryption-customer-algorithm
1449
1521
  #
1450
- # * x-amz-server-side​-encryption​-customer-key
1522
+ # * x-amz-server-side-encryption-customer-key
1451
1523
  #
1452
- # * x-amz-server-side​-encryption​-customer-key-MD5
1524
+ # * x-amz-server-side-encryption-customer-key-MD5
1453
1525
  #
1454
1526
  # For more information about server-side encryption with CMKs stored
1455
1527
  # in AWS KMS (SSE-KMS), see [Protecting Data Using Server-Side
1456
- # Encryption with CMKs stored in AWS KMS][8].
1528
+ # Encryption with CMKs stored in AWS KMS][10].
1457
1529
  #
1458
1530
  # Access-Control-List (ACL)-Specific Request Headers
1459
1531
  #
@@ -1463,19 +1535,19 @@ module Aws::S3
1463
1535
  # permissions to individual AWS accounts or to predefined groups
1464
1536
  # defined by Amazon S3. These permissions are then added to the access
1465
1537
  # control list (ACL) on the object. For more information, see [Using
1466
- # ACLs][9]. With this operation, you can grant access permissions
1538
+ # ACLs][11]. With this operation, you can grant access permissions
1467
1539
  # using one of the following two methods:
1468
1540
  #
1469
1541
  # * Specify a canned ACL (`x-amz-acl`) — Amazon S3 supports a set of
1470
1542
  # predefined ACLs, known as *canned ACLs*. Each canned ACL has a
1471
1543
  # predefined set of grantees and permissions. For more information,
1472
- # see [Canned ACL][6].
1544
+ # see [Canned ACL][8].
1473
1545
  #
1474
1546
  # * Specify access permissions explicitly — To explicitly grant access
1475
1547
  # permissions to specific AWS accounts or groups, use the following
1476
1548
  # headers. Each header maps to specific permissions that Amazon S3
1477
1549
  # supports in an ACL. For more information, see [Access Control List
1478
- # (ACL) Overview][7]. In the header, you specify a list of grantees
1550
+ # (ACL) Overview][9]. In the header, you specify a list of grantees
1479
1551
  # who get the specific permission. To grant permissions explicitly,
1480
1552
  # use:
1481
1553
  #
@@ -1520,7 +1592,7 @@ module Aws::S3
1520
1592
  # * South America (São Paulo)
1521
1593
  #
1522
1594
  # For a list of all the Amazon S3 supported Regions and endpoints,
1523
- # see [Regions and Endpoints][10] in the AWS General Reference.
1595
+ # see [Regions and Endpoints][12] in the AWS General Reference.
1524
1596
  #
1525
1597
  # </note>
1526
1598
  #
@@ -1532,28 +1604,34 @@ module Aws::S3
1532
1604
  #
1533
1605
  # The following operations are related to `CreateMultipartUpload`\:
1534
1606
  #
1535
- # * UploadPart
1607
+ # * [UploadPart][1]
1536
1608
  #
1537
- # * CompleteMultipartUpload
1609
+ # * [CompleteMultipartUpload][13]
1538
1610
  #
1539
- # * AbortMultipartUpload
1611
+ # * [AbortMultipartUpload][14]
1540
1612
  #
1541
- # * ListParts
1613
+ # * [ListParts][15]
1542
1614
  #
1543
- # * ListMultipartUploads
1615
+ # * [ListMultipartUploads][16]
1544
1616
  #
1545
1617
  #
1546
1618
  #
1547
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
1548
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
1549
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
1550
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
1551
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
1552
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1553
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1554
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
1555
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
1556
- # [10]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1619
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
1620
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
1621
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
1622
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
1623
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
1624
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
1625
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
1626
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1627
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1628
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
1629
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
1630
+ # [12]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1631
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
1632
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
1633
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
1634
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
1557
1635
  #
1558
1636
  # @option params [String] :acl
1559
1637
  # The canned ACL to apply to the object.
@@ -1621,7 +1699,7 @@ module Aws::S3
1621
1699
  # encrypting data. This value is used to store the object and then it is
1622
1700
  # discarded; Amazon S3 does not store the encryption key. The key must
1623
1701
  # be appropriate for use with the algorithm specified in the
1624
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
1702
+ # `x-amz-server-side-encryption-customer-algorithm` header.
1625
1703
  #
1626
1704
  # @option params [String] :sse_customer_key_md5
1627
1705
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -1671,6 +1749,11 @@ module Aws::S3
1671
1749
  # Specifies whether you want to apply a Legal Hold to the uploaded
1672
1750
  # object.
1673
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
+ #
1674
1757
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1675
1758
  #
1676
1759
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -1734,6 +1817,7 @@ module Aws::S3
1734
1817
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1735
1818
  # object_lock_retain_until_date: Time.now,
1736
1819
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1820
+ # expected_bucket_owner: "AccountId",
1737
1821
  # })
1738
1822
  #
1739
1823
  # @example Response structure
@@ -1765,12 +1849,23 @@ module Aws::S3
1765
1849
  #
1766
1850
  # **Related Resources**
1767
1851
  #
1768
- # *
1769
- # *
1852
+ # * [CreateBucket][1]
1853
+ #
1854
+ # * [DeleteObject][2]
1855
+ #
1856
+ #
1857
+ #
1858
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
1859
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
1770
1860
  #
1771
1861
  # @option params [required, String] :bucket
1772
1862
  # Specifies the bucket being deleted.
1773
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
+ #
1774
1869
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1775
1870
  #
1776
1871
  #
@@ -1786,6 +1881,7 @@ module Aws::S3
1786
1881
  #
1787
1882
  # resp = client.delete_bucket({
1788
1883
  # bucket: "BucketName", # required
1884
+ # expected_bucket_owner: "AccountId",
1789
1885
  # })
1790
1886
  #
1791
1887
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket AWS API Documentation
@@ -1813,15 +1909,20 @@ module Aws::S3
1813
1909
  # The following operations are related to
1814
1910
  # `DeleteBucketAnalyticsConfiguration`\:
1815
1911
  #
1816
- # *
1817
- # *
1818
- # *
1912
+ # * [GetBucketAnalyticsConfiguration][4]
1913
+ #
1914
+ # * [ListBucketAnalyticsConfigurations][5]
1915
+ #
1916
+ # * [PutBucketAnalyticsConfiguration][6]
1819
1917
  #
1820
1918
  #
1821
1919
  #
1822
1920
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1823
1921
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1824
1922
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
1923
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html
1924
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html
1925
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html
1825
1926
  #
1826
1927
  # @option params [required, String] :bucket
1827
1928
  # The name of the bucket from which an analytics configuration is
@@ -1830,6 +1931,11 @@ module Aws::S3
1830
1931
  # @option params [required, String] :id
1831
1932
  # The ID that identifies the analytics configuration.
1832
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
+ #
1833
1939
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1834
1940
  #
1835
1941
  # @example Request syntax with placeholder values
@@ -1837,6 +1943,7 @@ module Aws::S3
1837
1943
  # resp = client.delete_bucket_analytics_configuration({
1838
1944
  # bucket: "BucketName", # required
1839
1945
  # id: "AnalyticsId", # required
1946
+ # expected_bucket_owner: "AccountId",
1840
1947
  # })
1841
1948
  #
1842
1949
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration AWS API Documentation
@@ -1859,16 +1966,24 @@ module Aws::S3
1859
1966
  #
1860
1967
  # **Related Resources:**
1861
1968
  #
1862
- # *
1863
- # * RESTOPTIONSobject
1969
+ # * [PutBucketCors][2]
1970
+ #
1971
+ # * [RESTOPTIONSobject][3]
1864
1972
  #
1865
1973
  #
1866
1974
  #
1867
1975
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
1976
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
1977
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html
1868
1978
  #
1869
1979
  # @option params [required, String] :bucket
1870
1980
  # Specifies the bucket whose `cors` configuration is being deleted.
1871
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
+ #
1872
1987
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1873
1988
  #
1874
1989
  #
@@ -1884,6 +1999,7 @@ module Aws::S3
1884
1999
  #
1885
2000
  # resp = client.delete_bucket_cors({
1886
2001
  # bucket: "BucketName", # required
2002
+ # expected_bucket_owner: "AccountId",
1887
2003
  # })
1888
2004
  #
1889
2005
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors AWS API Documentation
@@ -1910,26 +2026,34 @@ module Aws::S3
1910
2026
  #
1911
2027
  # **Related Resources**
1912
2028
  #
1913
- # * PutBucketEncryption
2029
+ # * [PutBucketEncryption][4]
1914
2030
  #
1915
- # * GetBucketEncryption
2031
+ # * [GetBucketEncryption][5]
1916
2032
  #
1917
2033
  #
1918
2034
  #
1919
2035
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
1920
2036
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1921
2037
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2038
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
2039
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
1922
2040
  #
1923
2041
  # @option params [required, String] :bucket
1924
2042
  # The name of the bucket containing the server-side encryption
1925
2043
  # configuration to delete.
1926
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
+ #
1927
2050
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1928
2051
  #
1929
2052
  # @example Request syntax with placeholder values
1930
2053
  #
1931
2054
  # resp = client.delete_bucket_encryption({
1932
2055
  # bucket: "BucketName", # required
2056
+ # expected_bucket_owner: "AccountId",
1933
2057
  # })
1934
2058
  #
1935
2059
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption AWS API Documentation
@@ -1956,17 +2080,20 @@ module Aws::S3
1956
2080
  #
1957
2081
  # Operations related to `DeleteBucketInventoryConfiguration` include:
1958
2082
  #
1959
- # * GetBucketInventoryConfiguration
2083
+ # * [GetBucketInventoryConfiguration][4]
1960
2084
  #
1961
- # * PutBucketInventoryConfiguration
2085
+ # * [PutBucketInventoryConfiguration][5]
1962
2086
  #
1963
- # * ListBucketInventoryConfigurations
2087
+ # * [ListBucketInventoryConfigurations][6]
1964
2088
  #
1965
2089
  #
1966
2090
  #
1967
2091
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
1968
2092
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
1969
2093
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
2094
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
2095
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html
2096
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
1970
2097
  #
1971
2098
  # @option params [required, String] :bucket
1972
2099
  # The name of the bucket containing the inventory configuration to
@@ -1975,6 +2102,11 @@ module Aws::S3
1975
2102
  # @option params [required, String] :id
1976
2103
  # The ID used to identify the inventory configuration.
1977
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
+ #
1978
2110
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1979
2111
  #
1980
2112
  # @example Request syntax with placeholder values
@@ -1982,6 +2114,7 @@ module Aws::S3
1982
2114
  # resp = client.delete_bucket_inventory_configuration({
1983
2115
  # bucket: "BucketName", # required
1984
2116
  # id: "InventoryId", # required
2117
+ # expected_bucket_owner: "AccountId",
1985
2118
  # })
1986
2119
  #
1987
2120
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration AWS API Documentation
@@ -2012,17 +2145,24 @@ module Aws::S3
2012
2145
  #
2013
2146
  # Related actions include:
2014
2147
  #
2015
- # * PutBucketLifecycleConfiguration
2148
+ # * [PutBucketLifecycleConfiguration][2]
2016
2149
  #
2017
- # * GetBucketLifecycleConfiguration
2150
+ # * [GetBucketLifecycleConfiguration][3]
2018
2151
  #
2019
2152
  #
2020
2153
  #
2021
2154
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
2155
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
2156
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
2022
2157
  #
2023
2158
  # @option params [required, String] :bucket
2024
2159
  # The bucket name of the lifecycle to delete.
2025
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
+ #
2026
2166
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2027
2167
  #
2028
2168
  #
@@ -2038,6 +2178,7 @@ module Aws::S3
2038
2178
  #
2039
2179
  # resp = client.delete_bucket_lifecycle({
2040
2180
  # bucket: "BucketName", # required
2181
+ # expected_bucket_owner: "AccountId",
2041
2182
  # })
2042
2183
  #
2043
2184
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle AWS API Documentation
@@ -2066,11 +2207,11 @@ module Aws::S3
2066
2207
  # The following operations are related to
2067
2208
  # `DeleteBucketMetricsConfiguration`\:
2068
2209
  #
2069
- # * GetBucketMetricsConfiguration
2210
+ # * [GetBucketMetricsConfiguration][4]
2070
2211
  #
2071
- # * PutBucketMetricsConfiguration
2212
+ # * [PutBucketMetricsConfiguration][5]
2072
2213
  #
2073
- # * ListBucketMetricsConfigurations
2214
+ # * [ListBucketMetricsConfigurations][6]
2074
2215
  #
2075
2216
  # * [Monitoring Metrics with Amazon CloudWatch][3]
2076
2217
  #
@@ -2079,6 +2220,9 @@ module Aws::S3
2079
2220
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2080
2221
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2081
2222
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
2223
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
2224
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
2225
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
2082
2226
  #
2083
2227
  # @option params [required, String] :bucket
2084
2228
  # The name of the bucket containing the metrics configuration to delete.
@@ -2086,6 +2230,11 @@ module Aws::S3
2086
2230
  # @option params [required, String] :id
2087
2231
  # The ID used to identify the metrics configuration.
2088
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
+ #
2089
2238
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2090
2239
  #
2091
2240
  # @example Request syntax with placeholder values
@@ -2093,6 +2242,7 @@ module Aws::S3
2093
2242
  # resp = client.delete_bucket_metrics_configuration({
2094
2243
  # bucket: "BucketName", # required
2095
2244
  # id: "MetricsId", # required
2245
+ # expected_bucket_owner: "AccountId",
2096
2246
  # })
2097
2247
  #
2098
2248
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration AWS API Documentation
@@ -2126,13 +2276,23 @@ module Aws::S3
2126
2276
  #
2127
2277
  # The following operations are related to `DeleteBucketPolicy`
2128
2278
  #
2129
- # * CreateBucket
2279
+ # * [CreateBucket][1]
2280
+ #
2281
+ # * [DeleteObject][2]
2130
2282
  #
2131
- # * DeleteObject
2283
+ #
2284
+ #
2285
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
2286
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
2132
2287
  #
2133
2288
  # @option params [required, String] :bucket
2134
2289
  # The bucket name.
2135
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
+ #
2136
2296
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2137
2297
  #
2138
2298
  #
@@ -2148,6 +2308,7 @@ module Aws::S3
2148
2308
  #
2149
2309
  # resp = client.delete_bucket_policy({
2150
2310
  # bucket: "BucketName", # required
2311
+ # expected_bucket_owner: "AccountId",
2151
2312
  # })
2152
2313
  #
2153
2314
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy AWS API Documentation
@@ -2179,18 +2340,25 @@ module Aws::S3
2179
2340
  #
2180
2341
  # The following operations are related to `DeleteBucketReplication`\:
2181
2342
  #
2182
- # * PutBucketReplication
2343
+ # * [PutBucketReplication][3]
2183
2344
  #
2184
- # * GetBucketReplication
2345
+ # * [GetBucketReplication][4]
2185
2346
  #
2186
2347
  #
2187
2348
  #
2188
2349
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2189
2350
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2351
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html
2352
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
2190
2353
  #
2191
2354
  # @option params [required, String] :bucket
2192
2355
  # The bucket name.
2193
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
+ #
2194
2362
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2195
2363
  #
2196
2364
  #
@@ -2206,6 +2374,7 @@ module Aws::S3
2206
2374
  #
2207
2375
  # resp = client.delete_bucket_replication({
2208
2376
  # bucket: "BucketName", # required
2377
+ # expected_bucket_owner: "AccountId",
2209
2378
  # })
2210
2379
  #
2211
2380
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication AWS API Documentation
@@ -2225,13 +2394,23 @@ module Aws::S3
2225
2394
  #
2226
2395
  # The following operations are related to `DeleteBucketTagging`\:
2227
2396
  #
2228
- # * GetBucketTagging
2397
+ # * [GetBucketTagging][1]
2398
+ #
2399
+ # * [PutBucketTagging][2]
2400
+ #
2229
2401
  #
2230
- # * PutBucketTagging
2402
+ #
2403
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
2404
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
2231
2405
  #
2232
2406
  # @option params [required, String] :bucket
2233
2407
  # The bucket that has the tag set to be removed.
2234
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
+ #
2235
2414
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2236
2415
  #
2237
2416
  #
@@ -2247,6 +2426,7 @@ module Aws::S3
2247
2426
  #
2248
2427
  # resp = client.delete_bucket_tagging({
2249
2428
  # bucket: "BucketName", # required
2429
+ # expected_bucket_owner: "AccountId",
2250
2430
  # })
2251
2431
  #
2252
2432
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging AWS API Documentation
@@ -2276,18 +2456,25 @@ module Aws::S3
2276
2456
  #
2277
2457
  # The following operations are related to `DeleteBucketWebsite`\:
2278
2458
  #
2279
- # * GetBucketWebsite
2459
+ # * [GetBucketWebsite][2]
2280
2460
  #
2281
- # * PutBucketWebsite
2461
+ # * [PutBucketWebsite][3]
2282
2462
  #
2283
2463
  #
2284
2464
  #
2285
2465
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
2466
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html
2467
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html
2286
2468
  #
2287
2469
  # @option params [required, String] :bucket
2288
2470
  # The bucket name for which you want to remove the website
2289
2471
  # configuration.
2290
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
+ #
2291
2478
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2292
2479
  #
2293
2480
  #
@@ -2303,6 +2490,7 @@ module Aws::S3
2303
2490
  #
2304
2491
  # resp = client.delete_bucket_website({
2305
2492
  # bucket: "BucketName", # required
2493
+ # expected_bucket_owner: "AccountId",
2306
2494
  # })
2307
2495
  #
2308
2496
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite AWS API Documentation
@@ -2333,15 +2521,15 @@ module Aws::S3
2333
2521
  # see sample requests that use versioning, see [Sample Request][2].
2334
2522
  #
2335
2523
  # You can delete objects by explicitly calling the DELETE Object API or
2336
- # configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to
2337
- # remove them for you. If you want to block users or accounts from
2524
+ # configure its lifecycle ([PutBucketLifecycle][3]) to enable Amazon S3
2525
+ # to remove them for you. If you want to block users or accounts from
2338
2526
  # removing or deleting objects from your bucket, you must deny them the
2339
2527
  # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
2340
2528
  # `s3:PutLifeCycleConfiguration` actions.
2341
2529
  #
2342
2530
  # The following operation is related to `DeleteObject`\:
2343
2531
  #
2344
- # * PutObject
2532
+ # * [PutObject][4]
2345
2533
  #
2346
2534
  # ^
2347
2535
  #
@@ -2349,6 +2537,8 @@ module Aws::S3
2349
2537
  #
2350
2538
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
2351
2539
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
2540
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
2541
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
2352
2542
  #
2353
2543
  # @option params [required, String] :bucket
2354
2544
  # The bucket name of the bucket containing the object.
@@ -2392,6 +2582,11 @@ module Aws::S3
2392
2582
  # Indicates whether S3 Object Lock should bypass Governance-mode
2393
2583
  # restrictions to process this operation.
2394
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
+ #
2395
2590
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2396
2591
  #
2397
2592
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -2399,15 +2594,6 @@ module Aws::S3
2399
2594
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2400
2595
  #
2401
2596
  #
2402
- # @example Example: To delete an object (from a non-versioned bucket)
2403
- #
2404
- # # The following example deletes an object from a non-versioned bucket.
2405
- #
2406
- # resp = client.delete_object({
2407
- # bucket: "ExampleBucket",
2408
- # key: "HappyFace.jpg",
2409
- # })
2410
- #
2411
2597
  # @example Example: To delete an object
2412
2598
  #
2413
2599
  # # The following example deletes an object from an S3 bucket.
@@ -2421,6 +2607,15 @@ module Aws::S3
2421
2607
  # {
2422
2608
  # }
2423
2609
  #
2610
+ # @example Example: To delete an object (from a non-versioned bucket)
2611
+ #
2612
+ # # The following example deletes an object from a non-versioned bucket.
2613
+ #
2614
+ # resp = client.delete_object({
2615
+ # bucket: "ExampleBucket",
2616
+ # key: "HappyFace.jpg",
2617
+ # })
2618
+ #
2424
2619
  # @example Request syntax with placeholder values
2425
2620
  #
2426
2621
  # resp = client.delete_object({
@@ -2430,6 +2625,7 @@ module Aws::S3
2430
2625
  # version_id: "ObjectVersionId",
2431
2626
  # request_payer: "requester", # accepts requester
2432
2627
  # bypass_governance_retention: false,
2628
+ # expected_bucket_owner: "AccountId",
2433
2629
  # })
2434
2630
  #
2435
2631
  # @example Response structure
@@ -2460,13 +2656,15 @@ module Aws::S3
2460
2656
  # The following operations are related to
2461
2657
  # `DeleteBucketMetricsConfiguration`\:
2462
2658
  #
2463
- # * PutObjectTagging
2659
+ # * [PutObjectTagging][2]
2464
2660
  #
2465
- # * GetObjectTagging
2661
+ # * [GetObjectTagging][3]
2466
2662
  #
2467
2663
  #
2468
2664
  #
2469
2665
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
2666
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
2667
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
2470
2668
  #
2471
2669
  # @option params [required, String] :bucket
2472
2670
  # The bucket name containing the objects from which to remove the tags.
@@ -2489,40 +2687,45 @@ module Aws::S3
2489
2687
  # @option params [String] :version_id
2490
2688
  # The versionId of the object that the tag-set will be removed from.
2491
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
+ #
2492
2695
  # @return [Types::DeleteObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2493
2696
  #
2494
2697
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2495
2698
  #
2496
2699
  #
2497
- # @example Example: To remove tag set from an object
2700
+ # @example Example: To remove tag set from an object version
2498
2701
  #
2499
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2500
- # # 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.
2501
2704
  #
2502
2705
  # resp = client.delete_object_tagging({
2503
2706
  # bucket: "examplebucket",
2504
2707
  # key: "HappyFace.jpg",
2708
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2505
2709
  # })
2506
2710
  #
2507
2711
  # resp.to_h outputs the following:
2508
2712
  # {
2509
- # version_id: "null",
2713
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2510
2714
  # }
2511
2715
  #
2512
- # @example Example: To remove tag set from an object version
2716
+ # @example Example: To remove tag set from an object
2513
2717
  #
2514
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2515
- # # 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.
2516
2720
  #
2517
2721
  # resp = client.delete_object_tagging({
2518
2722
  # bucket: "examplebucket",
2519
2723
  # key: "HappyFace.jpg",
2520
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2521
2724
  # })
2522
2725
  #
2523
2726
  # resp.to_h outputs the following:
2524
2727
  # {
2525
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2728
+ # version_id: "null",
2526
2729
  # }
2527
2730
  #
2528
2731
  # @example Request syntax with placeholder values
@@ -2531,6 +2734,7 @@ module Aws::S3
2531
2734
  # bucket: "BucketName", # required
2532
2735
  # key: "ObjectKey", # required
2533
2736
  # version_id: "ObjectVersionId",
2737
+ # expected_bucket_owner: "AccountId",
2534
2738
  # })
2535
2739
  #
2536
2740
  # @example Response structure
@@ -2580,19 +2784,24 @@ module Aws::S3
2580
2784
  #
2581
2785
  # The following operations are related to `DeleteObjects`\:
2582
2786
  #
2583
- # * CreateMultipartUpload
2787
+ # * [CreateMultipartUpload][2]
2584
2788
  #
2585
- # * UploadPart
2789
+ # * [UploadPart][3]
2586
2790
  #
2587
- # * CompleteMultipartUpload
2791
+ # * [CompleteMultipartUpload][4]
2588
2792
  #
2589
- # * ListParts
2793
+ # * [ListParts][5]
2590
2794
  #
2591
- # * AbortMultipartUpload
2795
+ # * [AbortMultipartUpload][6]
2592
2796
  #
2593
2797
  #
2594
2798
  #
2595
2799
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
2800
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
2801
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
2802
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2803
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2804
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2596
2805
  #
2597
2806
  # @option params [required, String] :bucket
2598
2807
  # The bucket name containing the objects to delete.
@@ -2634,6 +2843,11 @@ module Aws::S3
2634
2843
  # Governance-type Object Lock in place. You must have sufficient
2635
2844
  # permissions to perform this operation.
2636
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
+ #
2637
2851
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2638
2852
  #
2639
2853
  # * {Types::DeleteObjectsOutput#deleted #deleted} => Array&lt;Types::DeletedObject&gt;
@@ -2641,20 +2855,22 @@ module Aws::S3
2641
2855
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
2642
2856
  #
2643
2857
  #
2644
- # @example Example: To delete multiple objects from a versioned bucket
2858
+ # @example Example: To delete multiple object versions from a versioned bucket
2645
2859
  #
2646
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2647
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2860
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2861
+ # # versions and returns the key and versions of deleted objects in the response.
2648
2862
  #
2649
2863
  # resp = client.delete_objects({
2650
2864
  # bucket: "examplebucket",
2651
2865
  # delete: {
2652
2866
  # objects: [
2653
2867
  # {
2654
- # key: "objectkey1",
2868
+ # key: "HappyFace.jpg",
2869
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2655
2870
  # },
2656
2871
  # {
2657
- # key: "objectkey2",
2872
+ # key: "HappyFace.jpg",
2873
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2658
2874
  # },
2659
2875
  # ],
2660
2876
  # quiet: false,
@@ -2665,34 +2881,30 @@ module Aws::S3
2665
2881
  # {
2666
2882
  # deleted: [
2667
2883
  # {
2668
- # delete_marker: true,
2669
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2670
- # key: "objectkey1",
2884
+ # key: "HappyFace.jpg",
2885
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2671
2886
  # },
2672
2887
  # {
2673
- # delete_marker: true,
2674
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2675
- # key: "objectkey2",
2888
+ # key: "HappyFace.jpg",
2889
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2676
2890
  # },
2677
2891
  # ],
2678
2892
  # }
2679
2893
  #
2680
- # @example Example: To delete multiple object versions from a versioned bucket
2894
+ # @example Example: To delete multiple objects from a versioned bucket
2681
2895
  #
2682
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2683
- # # versions and returns the key and versions of deleted objects in the response.
2896
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2897
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2684
2898
  #
2685
2899
  # resp = client.delete_objects({
2686
2900
  # bucket: "examplebucket",
2687
2901
  # delete: {
2688
2902
  # objects: [
2689
2903
  # {
2690
- # key: "HappyFace.jpg",
2691
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2904
+ # key: "objectkey1",
2692
2905
  # },
2693
2906
  # {
2694
- # key: "HappyFace.jpg",
2695
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2907
+ # key: "objectkey2",
2696
2908
  # },
2697
2909
  # ],
2698
2910
  # quiet: false,
@@ -2703,12 +2915,14 @@ module Aws::S3
2703
2915
  # {
2704
2916
  # deleted: [
2705
2917
  # {
2706
- # key: "HappyFace.jpg",
2707
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2918
+ # delete_marker: true,
2919
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2920
+ # key: "objectkey1",
2708
2921
  # },
2709
2922
  # {
2710
- # key: "HappyFace.jpg",
2711
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2923
+ # delete_marker: true,
2924
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2925
+ # key: "objectkey2",
2712
2926
  # },
2713
2927
  # ],
2714
2928
  # }
@@ -2729,6 +2943,7 @@ module Aws::S3
2729
2943
  # mfa: "MFA",
2730
2944
  # request_payer: "requester", # accepts requester
2731
2945
  # bypass_governance_retention: false,
2946
+ # expected_bucket_owner: "AccountId",
2732
2947
  # })
2733
2948
  #
2734
2949
  # @example Response structure
@@ -2765,28 +2980,37 @@ module Aws::S3
2765
2980
  #
2766
2981
  # * [Using Amazon S3 Block Public Access][3]
2767
2982
  #
2768
- # * GetPublicAccessBlock
2983
+ # * [GetPublicAccessBlock][4]
2769
2984
  #
2770
- # * PutPublicAccessBlock
2985
+ # * [PutPublicAccessBlock][5]
2771
2986
  #
2772
- # * GetBucketPolicyStatus
2987
+ # * [GetBucketPolicyStatus][6]
2773
2988
  #
2774
2989
  #
2775
2990
  #
2776
2991
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2777
2992
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2778
2993
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
2994
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
2995
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html
2996
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html
2779
2997
  #
2780
2998
  # @option params [required, String] :bucket
2781
2999
  # The Amazon S3 bucket whose `PublicAccessBlock` configuration you want
2782
3000
  # to delete.
2783
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
+ #
2784
3007
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2785
3008
  #
2786
3009
  # @example Request syntax with placeholder values
2787
3010
  #
2788
3011
  # resp = client.delete_public_access_block({
2789
3012
  # bucket: "BucketName", # required
3013
+ # expected_bucket_owner: "AccountId",
2790
3014
  # })
2791
3015
  #
2792
3016
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock AWS API Documentation
@@ -2813,19 +3037,19 @@ module Aws::S3
2813
3037
  # Storage Service Developer Guide*.
2814
3038
  #
2815
3039
  # You set the Transfer Acceleration state of an existing bucket to
2816
- # `Enabled` or `Suspended` by using the PutBucketAccelerateConfiguration
2817
- # operation.
3040
+ # `Enabled` or `Suspended` by using the
3041
+ # [PutBucketAccelerateConfiguration][3] operation.
2818
3042
  #
2819
3043
  # A GET `accelerate` request does not return a state value for a bucket
2820
3044
  # that has no transfer acceleration state. A bucket has no Transfer
2821
3045
  # Acceleration state if a state has never been set on the bucket.
2822
3046
  #
2823
3047
  # For more information about transfer acceleration, see [Transfer
2824
- # Acceleration][3] in the Amazon Simple Storage Service Developer Guide.
3048
+ # Acceleration][4] in the Amazon Simple Storage Service Developer Guide.
2825
3049
  #
2826
3050
  # **Related Resources**
2827
3051
  #
2828
- # * PutBucketAccelerateConfiguration
3052
+ # * [PutBucketAccelerateConfiguration][3]
2829
3053
  #
2830
3054
  # ^
2831
3055
  #
@@ -2833,12 +3057,18 @@ module Aws::S3
2833
3057
  #
2834
3058
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2835
3059
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2836
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
3060
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html
3061
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
2837
3062
  #
2838
3063
  # @option params [required, String] :bucket
2839
3064
  # Name of the bucket for which the accelerate configuration is
2840
3065
  # retrieved.
2841
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
+ #
2842
3072
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2843
3073
  #
2844
3074
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
@@ -2847,6 +3077,7 @@ module Aws::S3
2847
3077
  #
2848
3078
  # resp = client.get_bucket_accelerate_configuration({
2849
3079
  # bucket: "BucketName", # required
3080
+ # expected_bucket_owner: "AccountId",
2850
3081
  # })
2851
3082
  #
2852
3083
  # @example Response structure
@@ -2871,12 +3102,22 @@ module Aws::S3
2871
3102
  #
2872
3103
  # **Related Resources**
2873
3104
  #
2874
- # *
3105
+ # * [ListObjects][1]
3106
+ #
2875
3107
  # ^
2876
3108
  #
3109
+ #
3110
+ #
3111
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3112
+ #
2877
3113
  # @option params [required, String] :bucket
2878
3114
  # Specifies the S3 bucket whose ACL is being requested.
2879
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
+ #
2880
3121
  # @return [Types::GetBucketAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2881
3122
  #
2882
3123
  # * {Types::GetBucketAclOutput#owner #owner} => Types::Owner
@@ -2886,6 +3127,7 @@ module Aws::S3
2886
3127
  #
2887
3128
  # resp = client.get_bucket_acl({
2888
3129
  # bucket: "BucketName", # required
3130
+ # expected_bucket_owner: "AccountId",
2889
3131
  # })
2890
3132
  #
2891
3133
  # @example Response structure
@@ -2927,15 +3169,20 @@ module Aws::S3
2927
3169
  #
2928
3170
  # **Related Resources**
2929
3171
  #
2930
- # *
2931
- # *
2932
- # *
3172
+ # * [DeleteBucketAnalyticsConfiguration][4]
3173
+ #
3174
+ # * [ListBucketAnalyticsConfigurations][5]
3175
+ #
3176
+ # * [PutBucketAnalyticsConfiguration][6]
2933
3177
  #
2934
3178
  #
2935
3179
  #
2936
3180
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
2937
3181
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
2938
3182
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
3183
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html
3184
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html
3185
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html
2939
3186
  #
2940
3187
  # @option params [required, String] :bucket
2941
3188
  # The name of the bucket from which an analytics configuration is
@@ -2944,6 +3191,11 @@ module Aws::S3
2944
3191
  # @option params [required, String] :id
2945
3192
  # The ID that identifies the analytics configuration.
2946
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
+ #
2947
3199
  # @return [Types::GetBucketAnalyticsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2948
3200
  #
2949
3201
  # * {Types::GetBucketAnalyticsConfigurationOutput#analytics_configuration #analytics_configuration} => Types::AnalyticsConfiguration
@@ -2953,6 +3205,7 @@ module Aws::S3
2953
3205
  # resp = client.get_bucket_analytics_configuration({
2954
3206
  # bucket: "BucketName", # required
2955
3207
  # id: "AnalyticsId", # required
3208
+ # expected_bucket_owner: "AccountId",
2956
3209
  # })
2957
3210
  #
2958
3211
  # @example Response structure
@@ -2991,17 +3244,24 @@ module Aws::S3
2991
3244
  #
2992
3245
  # The following operations are related to `GetBucketCors`\:
2993
3246
  #
2994
- # * PutBucketCors
3247
+ # * [PutBucketCors][2]
2995
3248
  #
2996
- # * DeleteBucketCors
3249
+ # * [DeleteBucketCors][3]
2997
3250
  #
2998
3251
  #
2999
3252
  #
3000
3253
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
3254
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
3255
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
3001
3256
  #
3002
3257
  # @option params [required, String] :bucket
3003
3258
  # The bucket name for which to get the cors configuration.
3004
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
+ #
3005
3265
  # @return [Types::GetBucketCorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3006
3266
  #
3007
3267
  # * {Types::GetBucketCorsOutput#cors_rules #cors_rules} => Array&lt;Types::CORSRule&gt;
@@ -3037,6 +3297,7 @@ module Aws::S3
3037
3297
  #
3038
3298
  # resp = client.get_bucket_cors({
3039
3299
  # bucket: "BucketName", # required
3300
+ # expected_bucket_owner: "AccountId",
3040
3301
  # })
3041
3302
  #
3042
3303
  # @example Response structure
@@ -3074,20 +3335,27 @@ module Aws::S3
3074
3335
  #
3075
3336
  # The following operations are related to `GetBucketEncryption`\:
3076
3337
  #
3077
- # * PutBucketEncryption
3338
+ # * [PutBucketEncryption][4]
3078
3339
  #
3079
- # * DeleteBucketEncryption
3340
+ # * [DeleteBucketEncryption][5]
3080
3341
  #
3081
3342
  #
3082
3343
  #
3083
3344
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
3084
3345
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3085
3346
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3347
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
3348
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
3086
3349
  #
3087
3350
  # @option params [required, String] :bucket
3088
3351
  # The name of the bucket from which the server-side encryption
3089
3352
  # configuration is retrieved.
3090
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
+ #
3091
3359
  # @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3092
3360
  #
3093
3361
  # * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
@@ -3096,6 +3364,7 @@ module Aws::S3
3096
3364
  #
3097
3365
  # resp = client.get_bucket_encryption({
3098
3366
  # bucket: "BucketName", # required
3367
+ # expected_bucket_owner: "AccountId",
3099
3368
  # })
3100
3369
  #
3101
3370
  # @example Response structure
@@ -3129,17 +3398,20 @@ module Aws::S3
3129
3398
  # The following operations are related to
3130
3399
  # `GetBucketInventoryConfiguration`\:
3131
3400
  #
3132
- # * DeleteBucketInventoryConfiguration
3401
+ # * [DeleteBucketInventoryConfiguration][4]
3133
3402
  #
3134
- # * ListBucketInventoryConfigurations
3403
+ # * [ListBucketInventoryConfigurations][5]
3135
3404
  #
3136
- # * PutBucketInventoryConfiguration
3405
+ # * [PutBucketInventoryConfiguration][6]
3137
3406
  #
3138
3407
  #
3139
3408
  #
3140
3409
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3141
3410
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3142
3411
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
3412
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
3413
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
3414
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html
3143
3415
  #
3144
3416
  # @option params [required, String] :bucket
3145
3417
  # The name of the bucket containing the inventory configuration to
@@ -3148,6 +3420,11 @@ module Aws::S3
3148
3420
  # @option params [required, String] :id
3149
3421
  # The ID used to identify the inventory configuration.
3150
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
+ #
3151
3428
  # @return [Types::GetBucketInventoryConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3152
3429
  #
3153
3430
  # * {Types::GetBucketInventoryConfigurationOutput#inventory_configuration #inventory_configuration} => Types::InventoryConfiguration
@@ -3157,6 +3434,7 @@ module Aws::S3
3157
3434
  # resp = client.get_bucket_inventory_configuration({
3158
3435
  # bucket: "BucketName", # required
3159
3436
  # id: "InventoryId", # required
3437
+ # expected_bucket_owner: "AccountId",
3160
3438
  # })
3161
3439
  #
3162
3440
  # @example Response structure
@@ -3184,20 +3462,21 @@ module Aws::S3
3184
3462
  end
3185
3463
 
3186
3464
  # For an updated version of this API, see
3187
- # GetBucketLifecycleConfiguration. If you configured a bucket lifecycle
3188
- # using the `filter` element, you should see the updated version of this
3189
- # topic. This topic is provided for backward compatibility.
3465
+ # [GetBucketLifecycleConfiguration][1]. If you configured a bucket
3466
+ # lifecycle using the `filter` element, you should see the updated
3467
+ # version of this topic. This topic is provided for backward
3468
+ # compatibility.
3190
3469
  #
3191
3470
  # Returns the lifecycle configuration information set on the bucket. For
3192
3471
  # information about lifecycle configuration, see [Object Lifecycle
3193
- # Management][1].
3472
+ # Management][2].
3194
3473
  #
3195
3474
  # To use this operation, you must have permission to perform the
3196
3475
  # `s3:GetLifecycleConfiguration` action. The bucket owner has this
3197
3476
  # permission by default. The bucket owner can grant this permission to
3198
3477
  # others. For more information about permissions, see [Permissions
3199
- # Related to Bucket Subresource Operations][2] and [Managing Access
3200
- # Permissions to Your Amazon S3 Resources][3].
3478
+ # Related to Bucket Subresource Operations][3] and [Managing Access
3479
+ # Permissions to Your Amazon S3 Resources][4].
3201
3480
  #
3202
3481
  # `GetBucketLifecycle` has the following special error:
3203
3482
  #
@@ -3211,21 +3490,29 @@ module Aws::S3
3211
3490
  #
3212
3491
  # The following operations are related to `GetBucketLifecycle`\:
3213
3492
  #
3214
- # * GetBucketLifecycleConfiguration
3493
+ # * [GetBucketLifecycleConfiguration][1]
3215
3494
  #
3216
- # * PutBucketLifecycle
3495
+ # * [PutBucketLifecycle][5]
3217
3496
  #
3218
- # * DeleteBucketLifecycle
3497
+ # * [DeleteBucketLifecycle][6]
3219
3498
  #
3220
3499
  #
3221
3500
  #
3222
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
3223
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3224
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3501
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
3502
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
3503
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3504
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3505
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
3506
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
3225
3507
  #
3226
3508
  # @option params [required, String] :bucket
3227
3509
  # The name of the bucket for which to get the lifecycle information.
3228
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
+ #
3229
3516
  # @return [Types::GetBucketLifecycleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3230
3517
  #
3231
3518
  # * {Types::GetBucketLifecycleOutput#rules #rules} => Array&lt;Types::Rule&gt;
@@ -3257,6 +3544,7 @@ module Aws::S3
3257
3544
  #
3258
3545
  # resp = client.get_bucket_lifecycle({
3259
3546
  # bucket: "BucketName", # required
3547
+ # expected_bucket_owner: "AccountId",
3260
3548
  # })
3261
3549
  #
3262
3550
  # @example Response structure
@@ -3292,20 +3580,20 @@ module Aws::S3
3292
3580
  # specify a filter to select a subset of objects to which the rule
3293
3581
  # applies. If you are still using previous version of the lifecycle
3294
3582
  # configuration, it works. For the earlier API description, see
3295
- # GetBucketLifecycle.
3583
+ # [GetBucketLifecycle][1].
3296
3584
  #
3297
3585
  # </note>
3298
3586
  #
3299
3587
  # Returns the lifecycle configuration information set on the bucket. For
3300
3588
  # information about lifecycle configuration, see [Object Lifecycle
3301
- # Management][1].
3589
+ # Management][2].
3302
3590
  #
3303
3591
  # To use this operation, you must have permission to perform the
3304
3592
  # `s3:GetLifecycleConfiguration` action. The bucket owner has this
3305
3593
  # permission, by default. The bucket owner can grant this permission to
3306
3594
  # others. For more information about permissions, see [Permissions
3307
- # Related to Bucket Subresource Operations][2] and [Managing Access
3308
- # Permissions to Your Amazon S3 Resources][3].
3595
+ # Related to Bucket Subresource Operations][3] and [Managing Access
3596
+ # Permissions to Your Amazon S3 Resources][4].
3309
3597
  #
3310
3598
  # `GetBucketLifecycleConfiguration` has the following special error:
3311
3599
  #
@@ -3320,21 +3608,29 @@ module Aws::S3
3320
3608
  # The following operations are related to
3321
3609
  # `GetBucketLifecycleConfiguration`\:
3322
3610
  #
3323
- # * GetBucketLifecycle
3611
+ # * [GetBucketLifecycle][1]
3324
3612
  #
3325
- # * PutBucketLifecycle
3613
+ # * [PutBucketLifecycle][5]
3326
3614
  #
3327
- # * DeleteBucketLifecycle
3615
+ # * [DeleteBucketLifecycle][6]
3328
3616
  #
3329
3617
  #
3330
3618
  #
3331
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
3332
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3333
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3619
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
3620
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
3621
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3622
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3623
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
3624
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
3334
3625
  #
3335
3626
  # @option params [required, String] :bucket
3336
3627
  # The name of the bucket for which to get the lifecycle information.
3337
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
+ #
3338
3634
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3339
3635
  #
3340
3636
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -3369,6 +3665,7 @@ module Aws::S3
3369
3665
  #
3370
3666
  # resp = client.get_bucket_lifecycle_configuration({
3371
3667
  # bucket: "BucketName", # required
3668
+ # expected_bucket_owner: "AccountId",
3372
3669
  # })
3373
3670
  #
3374
3671
  # @example Response structure
@@ -3408,20 +3705,30 @@ module Aws::S3
3408
3705
 
3409
3706
  # Returns the Region the bucket resides in. You set the bucket's Region
3410
3707
  # using the `LocationConstraint` request parameter in a `CreateBucket`
3411
- # request. For more information, see CreateBucket.
3708
+ # request. For more information, see [CreateBucket][1].
3412
3709
  #
3413
3710
  # To use this implementation of the operation, you must be the bucket
3414
3711
  # owner.
3415
3712
  #
3416
3713
  # The following operations are related to `GetBucketLocation`\:
3417
3714
  #
3418
- # * GetObject
3715
+ # * [GetObject][2]
3716
+ #
3717
+ # * [CreateBucket][1]
3718
+ #
3719
+ #
3419
3720
  #
3420
- # * CreateBucket
3721
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
3722
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
3421
3723
  #
3422
3724
  # @option params [required, String] :bucket
3423
3725
  # The name of the bucket for which to get the location.
3424
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
+ #
3425
3732
  # @return [Types::GetBucketLocationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3426
3733
  #
3427
3734
  # * {Types::GetBucketLocationOutput#location_constraint #location_constraint} => String
@@ -3444,6 +3751,7 @@ module Aws::S3
3444
3751
  #
3445
3752
  # resp = client.get_bucket_location({
3446
3753
  # bucket: "BucketName", # required
3754
+ # expected_bucket_owner: "AccountId",
3447
3755
  # })
3448
3756
  #
3449
3757
  # @example Response structure
@@ -3465,13 +3773,23 @@ module Aws::S3
3465
3773
  #
3466
3774
  # The following operations are related to `GetBucketLogging`\:
3467
3775
  #
3468
- # * CreateBucket
3776
+ # * [CreateBucket][1]
3777
+ #
3778
+ # * [PutBucketLogging][2]
3779
+ #
3469
3780
  #
3470
- # * PutBucketLogging
3781
+ #
3782
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
3783
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html
3471
3784
  #
3472
3785
  # @option params [required, String] :bucket
3473
3786
  # The bucket name for which to get the logging information.
3474
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
+ #
3475
3793
  # @return [Types::GetBucketLoggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3476
3794
  #
3477
3795
  # * {Types::GetBucketLoggingOutput#logging_enabled #logging_enabled} => Types::LoggingEnabled
@@ -3480,6 +3798,7 @@ module Aws::S3
3480
3798
  #
3481
3799
  # resp = client.get_bucket_logging({
3482
3800
  # bucket: "BucketName", # required
3801
+ # expected_bucket_owner: "AccountId",
3483
3802
  # })
3484
3803
  #
3485
3804
  # @example Response structure
@@ -3520,11 +3839,11 @@ module Aws::S3
3520
3839
  # The following operations are related to
3521
3840
  # `GetBucketMetricsConfiguration`\:
3522
3841
  #
3523
- # * PutBucketMetricsConfiguration
3842
+ # * [PutBucketMetricsConfiguration][4]
3524
3843
  #
3525
- # * DeleteBucketMetricsConfiguration
3844
+ # * [DeleteBucketMetricsConfiguration][5]
3526
3845
  #
3527
- # * ListBucketMetricsConfigurations
3846
+ # * [ListBucketMetricsConfigurations][6]
3528
3847
  #
3529
3848
  # * [Monitoring Metrics with Amazon CloudWatch][3]
3530
3849
  #
@@ -3533,6 +3852,9 @@ module Aws::S3
3533
3852
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
3534
3853
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
3535
3854
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
3855
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
3856
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
3857
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
3536
3858
  #
3537
3859
  # @option params [required, String] :bucket
3538
3860
  # The name of the bucket containing the metrics configuration to
@@ -3541,6 +3863,11 @@ module Aws::S3
3541
3863
  # @option params [required, String] :id
3542
3864
  # The ID used to identify the metrics configuration.
3543
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
+ #
3544
3871
  # @return [Types::GetBucketMetricsConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3545
3872
  #
3546
3873
  # * {Types::GetBucketMetricsConfigurationOutput#metrics_configuration #metrics_configuration} => Types::MetricsConfiguration
@@ -3550,6 +3877,7 @@ module Aws::S3
3550
3877
  # resp = client.get_bucket_metrics_configuration({
3551
3878
  # bucket: "BucketName", # required
3552
3879
  # id: "MetricsId", # required
3880
+ # expected_bucket_owner: "AccountId",
3553
3881
  # })
3554
3882
  #
3555
3883
  # @example Response structure
@@ -3572,11 +3900,20 @@ module Aws::S3
3572
3900
  req.send_request(options)
3573
3901
  end
3574
3902
 
3575
- # No longer used, see GetBucketNotificationConfiguration.
3903
+ # No longer used, see [GetBucketNotificationConfiguration][1].
3904
+ #
3905
+ #
3906
+ #
3907
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
3576
3908
  #
3577
3909
  # @option params [required, String] :bucket
3578
3910
  # Name of the bucket for which to get the notification configuration.
3579
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
+ #
3580
3917
  # @return [Types::NotificationConfigurationDeprecated] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3581
3918
  #
3582
3919
  # * {Types::NotificationConfigurationDeprecated#topic_configuration #topic_configuration} => Types::TopicConfigurationDeprecated
@@ -3644,6 +3981,7 @@ module Aws::S3
3644
3981
  #
3645
3982
  # resp = client.get_bucket_notification({
3646
3983
  # bucket: "BucketName", # required
3984
+ # expected_bucket_owner: "AccountId",
3647
3985
  # })
3648
3986
  #
3649
3987
  # @example Response structure
@@ -3691,7 +4029,7 @@ module Aws::S3
3691
4029
  #
3692
4030
  # The following operation is related to `GetBucketNotification`\:
3693
4031
  #
3694
- # * PutBucketNotification
4032
+ # * [PutBucketNotification][3]
3695
4033
  #
3696
4034
  # ^
3697
4035
  #
@@ -3699,10 +4037,16 @@ module Aws::S3
3699
4037
  #
3700
4038
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
3701
4039
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4040
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
3702
4041
  #
3703
4042
  # @option params [required, String] :bucket
3704
4043
  # Name of the bucket for which to get the notification configuration.
3705
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
+ #
3706
4050
  # @return [Types::NotificationConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3707
4051
  #
3708
4052
  # * {Types::NotificationConfiguration#topic_configurations #topic_configurations} => Array&lt;Types::TopicConfiguration&gt;
@@ -3713,6 +4057,7 @@ module Aws::S3
3713
4057
  #
3714
4058
  # resp = client.get_bucket_notification_configuration({
3715
4059
  # bucket: "BucketName", # required
4060
+ # expected_bucket_owner: "AccountId",
3716
4061
  # })
3717
4062
  #
3718
4063
  # @example Response structure
@@ -3771,17 +4116,23 @@ module Aws::S3
3771
4116
  #
3772
4117
  # The following operation is related to `GetBucketPolicy`\:
3773
4118
  #
3774
- # * GetObject
4119
+ # * [GetObject][2]
3775
4120
  #
3776
4121
  # ^
3777
4122
  #
3778
4123
  #
3779
4124
  #
3780
4125
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4126
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
3781
4127
  #
3782
4128
  # @option params [required, String] :bucket
3783
4129
  # The bucket name for which to get the bucket policy.
3784
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
+ #
3785
4136
  # @return [Types::GetBucketPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3786
4137
  #
3787
4138
  # * {Types::GetBucketPolicyOutput#policy #policy} => IO
@@ -3804,6 +4155,7 @@ module Aws::S3
3804
4155
  #
3805
4156
  # resp = client.get_bucket_policy({
3806
4157
  # bucket: "BucketName", # required
4158
+ # expected_bucket_owner: "AccountId",
3807
4159
  # })
3808
4160
  #
3809
4161
  # @example Response structure
@@ -3832,22 +4184,30 @@ module Aws::S3
3832
4184
  #
3833
4185
  # * [Using Amazon S3 Block Public Access][3]
3834
4186
  #
3835
- # * GetPublicAccessBlock
4187
+ # * [GetPublicAccessBlock][4]
3836
4188
  #
3837
- # * PutPublicAccessBlock
4189
+ # * [PutPublicAccessBlock][5]
3838
4190
  #
3839
- # * DeletePublicAccessBlock
4191
+ # * [DeletePublicAccessBlock][6]
3840
4192
  #
3841
4193
  #
3842
4194
  #
3843
4195
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
3844
4196
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
3845
4197
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
4198
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
4199
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html
4200
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
3846
4201
  #
3847
4202
  # @option params [required, String] :bucket
3848
4203
  # The name of the Amazon S3 bucket whose policy status you want to
3849
4204
  # retrieve.
3850
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
+ #
3851
4211
  # @return [Types::GetBucketPolicyStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3852
4212
  #
3853
4213
  # * {Types::GetBucketPolicyStatusOutput#policy_status #policy_status} => Types::PolicyStatus
@@ -3856,6 +4216,7 @@ module Aws::S3
3856
4216
  #
3857
4217
  # resp = client.get_bucket_policy_status({
3858
4218
  # bucket: "BucketName", # required
4219
+ # expected_bucket_owner: "AccountId",
3859
4220
  # })
3860
4221
  #
3861
4222
  # @example Response structure
@@ -3890,23 +4251,31 @@ module Aws::S3
3890
4251
  # you must also include the `DeleteMarkerReplication` and `Priority`
3891
4252
  # elements. The response also returns those elements.
3892
4253
  #
3893
- # For information about `GetBucketReplication` errors, see
3894
- # ReplicationErrorCodeList
4254
+ # For information about `GetBucketReplication` errors, see [List of
4255
+ # replication-related error codes][3]
3895
4256
  #
3896
4257
  # The following operations are related to `GetBucketReplication`\:
3897
4258
  #
3898
- # * PutBucketReplication
4259
+ # * [PutBucketReplication][4]
3899
4260
  #
3900
- # * DeleteBucketReplication
4261
+ # * [DeleteBucketReplication][5]
3901
4262
  #
3902
4263
  #
3903
4264
  #
3904
4265
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
3905
4266
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4267
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
4268
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html
4269
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
3906
4270
  #
3907
4271
  # @option params [required, String] :bucket
3908
4272
  # The bucket name for which to get the replication information.
3909
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
+ #
3910
4279
  # @return [Types::GetBucketReplicationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3911
4280
  #
3912
4281
  # * {Types::GetBucketReplicationOutput#replication_configuration #replication_configuration} => Types::ReplicationConfiguration
@@ -3941,6 +4310,7 @@ module Aws::S3
3941
4310
  #
3942
4311
  # resp = client.get_bucket_replication({
3943
4312
  # bucket: "BucketName", # required
4313
+ # expected_bucket_owner: "AccountId",
3944
4314
  # })
3945
4315
  #
3946
4316
  # @example Response structure
@@ -3986,18 +4356,24 @@ module Aws::S3
3986
4356
  #
3987
4357
  # The following operations are related to `GetBucketRequestPayment`\:
3988
4358
  #
3989
- # * ListObjects
4359
+ # * [ListObjects][2]
3990
4360
  #
3991
4361
  # ^
3992
4362
  #
3993
4363
  #
3994
4364
  #
3995
4365
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
4366
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3996
4367
  #
3997
4368
  # @option params [required, String] :bucket
3998
4369
  # The name of the bucket for which to get the payment request
3999
4370
  # configuration
4000
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
+ #
4001
4377
  # @return [Types::GetBucketRequestPaymentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4002
4378
  #
4003
4379
  # * {Types::GetBucketRequestPaymentOutput#payer #payer} => String
@@ -4020,6 +4396,7 @@ module Aws::S3
4020
4396
  #
4021
4397
  # resp = client.get_bucket_request_payment({
4022
4398
  # bucket: "BucketName", # required
4399
+ # expected_bucket_owner: "AccountId",
4023
4400
  # })
4024
4401
  #
4025
4402
  # @example Response structure
@@ -4051,13 +4428,23 @@ module Aws::S3
4051
4428
  #
4052
4429
  # The following operations are related to `GetBucketTagging`\:
4053
4430
  #
4054
- # * PutBucketTagging
4431
+ # * [PutBucketTagging][1]
4432
+ #
4433
+ # * [DeleteBucketTagging][2]
4055
4434
  #
4056
- # * DeleteBucketTagging
4435
+ #
4436
+ #
4437
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
4438
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
4057
4439
  #
4058
4440
  # @option params [required, String] :bucket
4059
4441
  # The name of the bucket for which to get the tagging information.
4060
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
+ #
4061
4448
  # @return [Types::GetBucketTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4062
4449
  #
4063
4450
  # * {Types::GetBucketTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
@@ -4089,6 +4476,7 @@ module Aws::S3
4089
4476
  #
4090
4477
  # resp = client.get_bucket_tagging({
4091
4478
  # bucket: "BucketName", # required
4479
+ # expected_bucket_owner: "AccountId",
4092
4480
  # })
4093
4481
  #
4094
4482
  # @example Response structure
@@ -4118,15 +4506,26 @@ module Aws::S3
4118
4506
  #
4119
4507
  # The following operations are related to `GetBucketVersioning`\:
4120
4508
  #
4121
- # * GetObject
4509
+ # * [GetObject][1]
4122
4510
  #
4123
- # * PutObject
4511
+ # * [PutObject][2]
4124
4512
  #
4125
- # * DeleteObject
4513
+ # * [DeleteObject][3]
4514
+ #
4515
+ #
4516
+ #
4517
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4518
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4519
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4126
4520
  #
4127
4521
  # @option params [required, String] :bucket
4128
4522
  # The name of the bucket for which to get the versioning information.
4129
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
+ #
4130
4529
  # @return [Types::GetBucketVersioningOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4131
4530
  #
4132
4531
  # * {Types::GetBucketVersioningOutput#status #status} => String
@@ -4151,6 +4550,7 @@ module Aws::S3
4151
4550
  #
4152
4551
  # resp = client.get_bucket_versioning({
4153
4552
  # bucket: "BucketName", # required
4553
+ # expected_bucket_owner: "AccountId",
4154
4554
  # })
4155
4555
  #
4156
4556
  # @example Response structure
@@ -4180,17 +4580,24 @@ module Aws::S3
4180
4580
  #
4181
4581
  # The following operations are related to `DeleteBucketWebsite`\:
4182
4582
  #
4183
- # * DeleteBucketWebsite
4583
+ # * [DeleteBucketWebsite][2]
4184
4584
  #
4185
- # * PutBucketWebsite
4585
+ # * [PutBucketWebsite][3]
4186
4586
  #
4187
4587
  #
4188
4588
  #
4189
4589
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
4590
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html
4591
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html
4190
4592
  #
4191
4593
  # @option params [required, String] :bucket
4192
4594
  # The bucket name for which to get the website configuration.
4193
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
+ #
4194
4601
  # @return [Types::GetBucketWebsiteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4195
4602
  #
4196
4603
  # * {Types::GetBucketWebsiteOutput#redirect_all_requests_to #redirect_all_requests_to} => Types::RedirectAllRequestsTo
@@ -4221,6 +4628,7 @@ module Aws::S3
4221
4628
  #
4222
4629
  # resp = client.get_bucket_website({
4223
4630
  # bucket: "BucketName", # required
4631
+ # expected_bucket_owner: "AccountId",
4224
4632
  # })
4225
4633
  #
4226
4634
  # @example Response structure
@@ -4270,13 +4678,13 @@ module Aws::S3
4270
4678
  # To distribute large files to many people, you can save bandwidth costs
4271
4679
  # by using BitTorrent. For more information, see [Amazon S3 Torrent][2].
4272
4680
  # For more information about returning the ACL of an object, see
4273
- # GetObjectAcl.
4681
+ # [GetObjectAcl][3].
4274
4682
  #
4275
4683
  # If the object you are retrieving is stored in the GLACIER or
4276
4684
  # DEEP\_ARCHIVE storage classes, before you can retrieve the object you
4277
- # must first restore a copy using . Otherwise, this operation returns an
4278
- # `InvalidObjectStateError` error. For information about restoring
4279
- # archived objects, see [Restoring Archived Objects][3].
4685
+ # must first restore a copy using [RestoreObject][4]. Otherwise, this
4686
+ # operation returns an `InvalidObjectStateError` error. For information
4687
+ # about restoring archived objects, see [Restoring Archived Objects][5].
4280
4688
  #
4281
4689
  # Encryption request headers, like `x-amz-server-side-encryption`,
4282
4690
  # should not be sent for GET requests if your object uses server-side
@@ -4290,25 +4698,25 @@ module Aws::S3
4290
4698
  # Amazon S3, then when you GET the object, you must use the following
4291
4699
  # headers:
4292
4700
  #
4293
- # * x-amz-server-side​-encryption​-customer-algorithm
4701
+ # * x-amz-server-side-encryption-customer-algorithm
4294
4702
  #
4295
- # * x-amz-server-side​-encryption​-customer-key
4703
+ # * x-amz-server-side-encryption-customer-key
4296
4704
  #
4297
- # * x-amz-server-side​-encryption​-customer-key-MD5
4705
+ # * x-amz-server-side-encryption-customer-key-MD5
4298
4706
  #
4299
4707
  # For more information about SSE-C, see [Server-Side Encryption (Using
4300
- # Customer-Provided Encryption Keys)][4].
4708
+ # Customer-Provided Encryption Keys)][6].
4301
4709
  #
4302
4710
  # Assuming you have permission to read object tags (permission for the
4303
4711
  # `s3:GetObjectVersionTagging` action), the response also returns the
4304
4712
  # `x-amz-tagging-count` header that provides the count of number of tags
4305
- # associated with the object. You can use GetObjectTagging to retrieve
4306
- # the tag set associated with an object.
4713
+ # associated with the object. You can use [GetObjectTagging][7] to
4714
+ # retrieve the tag set associated with an object.
4307
4715
  #
4308
4716
  # **Permissions**
4309
4717
  #
4310
4718
  # You need the `s3:GetObject` permission for this operation. For more
4311
- # information, see [Specifying Permissions in a Policy][5]. If the
4719
+ # information, see [Specifying Permissions in a Policy][8]. If the
4312
4720
  # object you request does not exist, the error Amazon S3 returns depends
4313
4721
  # on whether you also have the `s3:ListBucket` permission.
4314
4722
  #
@@ -4330,7 +4738,7 @@ module Aws::S3
4330
4738
  #
4331
4739
  # </note>
4332
4740
  #
4333
- # For more information about versioning, see PutBucketVersioning.
4741
+ # For more information about versioning, see [PutBucketVersioning][9].
4334
4742
  #
4335
4743
  # **Overriding Response Header Values**
4336
4744
  #
@@ -4379,22 +4787,27 @@ module Aws::S3
4379
4787
  # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
4380
4788
  # then, S3 returns 304 Not Modified response code.
4381
4789
  #
4382
- # For more information about conditional requests, see [RFC 7232][6].
4790
+ # For more information about conditional requests, see [RFC 7232][10].
4383
4791
  #
4384
4792
  # The following operations are related to `GetObject`\:
4385
4793
  #
4386
- # * ListBuckets
4794
+ # * [ListBuckets][11]
4387
4795
  #
4388
- # * GetObjectAcl
4796
+ # * [GetObjectAcl][3]
4389
4797
  #
4390
4798
  #
4391
4799
  #
4392
4800
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
4393
4801
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
4394
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
4395
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
4396
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
4397
- # [6]: https://tools.ietf.org/html/rfc7232
4802
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
4803
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
4804
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
4805
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
4806
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
4807
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
4808
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
4809
+ # [10]: https://tools.ietf.org/html/rfc7232
4810
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
4398
4811
  #
4399
4812
  # @option params [String, IO] :response_target
4400
4813
  # Where to write response data, file path, or IO object.
@@ -4477,7 +4890,7 @@ module Aws::S3
4477
4890
  # encrypting data. This value is used to store the object and then it is
4478
4891
  # discarded; Amazon S3 does not store the encryption key. The key must
4479
4892
  # be appropriate for use with the algorithm specified in the
4480
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
4893
+ # `x-amz-server-side-encryption-customer-algorithm` header.
4481
4894
  #
4482
4895
  # @option params [String] :sse_customer_key_md5
4483
4896
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -4501,6 +4914,11 @@ module Aws::S3
4501
4914
  # for the part specified. Useful for downloading just a part of an
4502
4915
  # object.
4503
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
+ #
4504
4922
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4505
4923
  #
4506
4924
  # * {Types::GetObjectOutput#body #body} => IO
@@ -4537,49 +4955,49 @@ module Aws::S3
4537
4955
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
4538
4956
  #
4539
4957
  #
4540
- # @example Example: To retrieve an object
4958
+ # @example Example: To retrieve a byte range of an object
4541
4959
  #
4542
- # # The following example retrieves an object for an S3 bucket.
4960
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4961
+ # # specific byte range.
4543
4962
  #
4544
4963
  # resp = client.get_object({
4545
4964
  # bucket: "examplebucket",
4546
- # key: "HappyFace.jpg",
4965
+ # key: "SampleFile.txt",
4966
+ # range: "bytes=0-9",
4547
4967
  # })
4548
4968
  #
4549
4969
  # resp.to_h outputs the following:
4550
4970
  # {
4551
4971
  # accept_ranges: "bytes",
4552
- # content_length: 3191,
4553
- # content_type: "image/jpeg",
4554
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4555
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4972
+ # content_length: 10,
4973
+ # content_range: "bytes 0-9/43",
4974
+ # content_type: "text/plain",
4975
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4976
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4556
4977
  # metadata: {
4557
4978
  # },
4558
- # tag_count: 2,
4559
4979
  # version_id: "null",
4560
4980
  # }
4561
4981
  #
4562
- # @example Example: To retrieve a byte range of an object
4982
+ # @example Example: To retrieve an object
4563
4983
  #
4564
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4565
- # # specific byte range.
4984
+ # # The following example retrieves an object for an S3 bucket.
4566
4985
  #
4567
4986
  # resp = client.get_object({
4568
4987
  # bucket: "examplebucket",
4569
- # key: "SampleFile.txt",
4570
- # range: "bytes=0-9",
4988
+ # key: "HappyFace.jpg",
4571
4989
  # })
4572
4990
  #
4573
4991
  # resp.to_h outputs the following:
4574
4992
  # {
4575
4993
  # accept_ranges: "bytes",
4576
- # content_length: 10,
4577
- # content_range: "bytes 0-9/43",
4578
- # content_type: "text/plain",
4579
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4580
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4994
+ # content_length: 3191,
4995
+ # content_type: "image/jpeg",
4996
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4997
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4581
4998
  # metadata: {
4582
4999
  # },
5000
+ # tag_count: 2,
4583
5001
  # version_id: "null",
4584
5002
  # }
4585
5003
  #
@@ -4634,6 +5052,7 @@ module Aws::S3
4634
5052
  # sse_customer_key_md5: "SSECustomerKeyMD5",
4635
5053
  # request_payer: "requester", # accepts requester
4636
5054
  # part_number: 1,
5055
+ # expected_bucket_owner: "AccountId",
4637
5056
  # })
4638
5057
  #
4639
5058
  # @example Response structure
@@ -4692,11 +5111,17 @@ module Aws::S3
4692
5111
  #
4693
5112
  # The following operations are related to `GetObjectAcl`\:
4694
5113
  #
4695
- # * GetObject
5114
+ # * [GetObject][1]
5115
+ #
5116
+ # * [DeleteObject][2]
5117
+ #
5118
+ # * [PutObject][3]
4696
5119
  #
4697
- # * DeleteObject
4698
5120
  #
4699
- # * PutObject
5121
+ #
5122
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5123
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5124
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4700
5125
  #
4701
5126
  # @option params [required, String] :bucket
4702
5127
  # The bucket name that contains the object for which to get the ACL
@@ -4731,6 +5156,11 @@ module Aws::S3
4731
5156
  #
4732
5157
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4733
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
+ #
4734
5164
  # @return [Types::GetObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4735
5165
  #
4736
5166
  # * {Types::GetObjectAclOutput#owner #owner} => Types::Owner
@@ -4796,6 +5226,7 @@ module Aws::S3
4796
5226
  # key: "ObjectKey", # required
4797
5227
  # version_id: "ObjectVersionId",
4798
5228
  # request_payer: "requester", # accepts requester
5229
+ # expected_bucket_owner: "AccountId",
4799
5230
  # })
4800
5231
  #
4801
5232
  # @example Response structure
@@ -4862,6 +5293,11 @@ module Aws::S3
4862
5293
  #
4863
5294
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4864
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
+ #
4865
5301
  # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4866
5302
  #
4867
5303
  # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
@@ -4873,6 +5309,7 @@ module Aws::S3
4873
5309
  # key: "ObjectKey", # required
4874
5310
  # version_id: "ObjectVersionId",
4875
5311
  # request_payer: "requester", # accepts requester
5312
+ # expected_bucket_owner: "AccountId",
4876
5313
  # })
4877
5314
  #
4878
5315
  # @example Response structure
@@ -4900,6 +5337,11 @@ module Aws::S3
4900
5337
  # @option params [required, String] :bucket
4901
5338
  # The bucket whose Object Lock configuration you want to retrieve.
4902
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
+ #
4903
5345
  # @return [Types::GetObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4904
5346
  #
4905
5347
  # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
@@ -4908,6 +5350,7 @@ module Aws::S3
4908
5350
  #
4909
5351
  # resp = client.get_object_lock_configuration({
4910
5352
  # bucket: "BucketName", # required
5353
+ # expected_bucket_owner: "AccountId",
4911
5354
  # })
4912
5355
  #
4913
5356
  # @example Response structure
@@ -4968,6 +5411,11 @@ module Aws::S3
4968
5411
  #
4969
5412
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4970
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
+ #
4971
5419
  # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4972
5420
  #
4973
5421
  # * {Types::GetObjectRetentionOutput#retention #retention} => Types::ObjectLockRetention
@@ -4979,6 +5427,7 @@ module Aws::S3
4979
5427
  # key: "ObjectKey", # required
4980
5428
  # version_id: "ObjectVersionId",
4981
5429
  # request_payer: "requester", # accepts requester
5430
+ # expected_bucket_owner: "AccountId",
4982
5431
  # })
4983
5432
  #
4984
5433
  # @example Response structure
@@ -5013,13 +5462,14 @@ module Aws::S3
5013
5462
  #
5014
5463
  # The following operation is related to `GetObjectTagging`\:
5015
5464
  #
5016
- # * PutObjectTagging
5465
+ # * [PutObjectTagging][2]
5017
5466
  #
5018
5467
  # ^
5019
5468
  #
5020
5469
  #
5021
5470
  #
5022
5471
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
5472
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
5023
5473
  #
5024
5474
  # @option params [required, String] :bucket
5025
5475
  # The bucket name containing the object for which to get the tagging
@@ -5043,55 +5493,60 @@ module Aws::S3
5043
5493
  # @option params [String] :version_id
5044
5494
  # The versionId of the object for which to get the tagging information.
5045
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
+ #
5046
5501
  # @return [Types::GetObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5047
5502
  #
5048
5503
  # * {Types::GetObjectTaggingOutput#version_id #version_id} => String
5049
5504
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
5050
5505
  #
5051
5506
  #
5052
- # @example Example: To retrieve tag set of a specific object version
5507
+ # @example Example: To retrieve tag set of an object
5053
5508
  #
5054
- # # The following example retrieves tag set of an object. The request specifies object version.
5509
+ # # The following example retrieves tag set of an object.
5055
5510
  #
5056
5511
  # resp = client.get_object_tagging({
5057
5512
  # bucket: "examplebucket",
5058
- # key: "exampleobject",
5059
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5513
+ # key: "HappyFace.jpg",
5060
5514
  # })
5061
5515
  #
5062
5516
  # resp.to_h outputs the following:
5063
5517
  # {
5064
5518
  # tag_set: [
5065
5519
  # {
5066
- # key: "Key1",
5067
- # value: "Value1",
5520
+ # key: "Key4",
5521
+ # value: "Value4",
5522
+ # },
5523
+ # {
5524
+ # key: "Key3",
5525
+ # value: "Value3",
5068
5526
  # },
5069
5527
  # ],
5070
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5528
+ # version_id: "null",
5071
5529
  # }
5072
5530
  #
5073
- # @example Example: To retrieve tag set of an object
5531
+ # @example Example: To retrieve tag set of a specific object version
5074
5532
  #
5075
- # # The following example retrieves tag set of an object.
5533
+ # # The following example retrieves tag set of an object. The request specifies object version.
5076
5534
  #
5077
5535
  # resp = client.get_object_tagging({
5078
5536
  # bucket: "examplebucket",
5079
- # key: "HappyFace.jpg",
5537
+ # key: "exampleobject",
5538
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5080
5539
  # })
5081
5540
  #
5082
5541
  # resp.to_h outputs the following:
5083
5542
  # {
5084
5543
  # tag_set: [
5085
5544
  # {
5086
- # key: "Key4",
5087
- # value: "Value4",
5088
- # },
5089
- # {
5090
- # key: "Key3",
5091
- # value: "Value3",
5545
+ # key: "Key1",
5546
+ # value: "Value1",
5092
5547
  # },
5093
5548
  # ],
5094
- # version_id: "null",
5549
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5095
5550
  # }
5096
5551
  #
5097
5552
  # @example Request syntax with placeholder values
@@ -5100,6 +5555,7 @@ module Aws::S3
5100
5555
  # bucket: "BucketName", # required
5101
5556
  # key: "ObjectKey", # required
5102
5557
  # version_id: "ObjectVersionId",
5558
+ # expected_bucket_owner: "AccountId",
5103
5559
  # })
5104
5560
  #
5105
5561
  # @example Response structure
@@ -5132,13 +5588,14 @@ module Aws::S3
5132
5588
  #
5133
5589
  # The following operation is related to `GetObjectTorrent`\:
5134
5590
  #
5135
- # * GetObject
5591
+ # * [GetObject][2]
5136
5592
  #
5137
5593
  # ^
5138
5594
  #
5139
5595
  #
5140
5596
  #
5141
5597
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
5598
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5142
5599
  #
5143
5600
  # @option params [String, IO] :response_target
5144
5601
  # Where to write response data, file path, or IO object.
@@ -5161,6 +5618,11 @@ module Aws::S3
5161
5618
  #
5162
5619
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5163
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
+ #
5164
5626
  # @return [Types::GetObjectTorrentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5165
5627
  #
5166
5628
  # * {Types::GetObjectTorrentOutput#body #body} => IO
@@ -5186,6 +5648,7 @@ module Aws::S3
5186
5648
  # bucket: "BucketName", # required
5187
5649
  # key: "ObjectKey", # required
5188
5650
  # request_payer: "requester", # accepts requester
5651
+ # expected_bucket_owner: "AccountId",
5189
5652
  # })
5190
5653
  #
5191
5654
  # @example Response structure
@@ -5222,22 +5685,30 @@ module Aws::S3
5222
5685
  #
5223
5686
  # * [Using Amazon S3 Block Public Access][3]
5224
5687
  #
5225
- # * PutPublicAccessBlock
5688
+ # * [PutPublicAccessBlock][4]
5226
5689
  #
5227
- # * GetPublicAccessBlock
5690
+ # * [GetPublicAccessBlock][5]
5228
5691
  #
5229
- # * DeletePublicAccessBlock
5692
+ # * [DeletePublicAccessBlock][6]
5230
5693
  #
5231
5694
  #
5232
5695
  #
5233
5696
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5234
5697
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
5235
5698
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
5699
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html
5700
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
5701
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
5236
5702
  #
5237
5703
  # @option params [required, String] :bucket
5238
5704
  # The name of the Amazon S3 bucket whose `PublicAccessBlock`
5239
5705
  # configuration you want to retrieve.
5240
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
+ #
5241
5712
  # @return [Types::GetPublicAccessBlockOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5242
5713
  #
5243
5714
  # * {Types::GetPublicAccessBlockOutput#public_access_block_configuration #public_access_block_configuration} => Types::PublicAccessBlockConfiguration
@@ -5246,6 +5717,7 @@ module Aws::S3
5246
5717
  #
5247
5718
  # resp = client.get_public_access_block({
5248
5719
  # bucket: "BucketName", # required
5720
+ # expected_bucket_owner: "AccountId",
5249
5721
  # })
5250
5722
  #
5251
5723
  # @example Response structure
@@ -5285,6 +5757,11 @@ module Aws::S3
5285
5757
  # @option params [required, String] :bucket
5286
5758
  # The bucket name.
5287
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
+ #
5288
5765
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5289
5766
  #
5290
5767
  #
@@ -5300,6 +5777,7 @@ module Aws::S3
5300
5777
  #
5301
5778
  # resp = client.head_bucket({
5302
5779
  # bucket: "BucketName", # required
5780
+ # expected_bucket_owner: "AccountId",
5303
5781
  # })
5304
5782
  #
5305
5783
  #
@@ -5331,11 +5809,11 @@ module Aws::S3
5331
5809
  # Amazon S3, then when you retrieve the metadata from the object, you
5332
5810
  # must use the following headers:
5333
5811
  #
5334
- # * x-amz-server-side​-encryption​-customer-algorithm
5812
+ # * x-amz-server-side-encryption-customer-algorithm
5335
5813
  #
5336
- # * x-amz-server-side​-encryption​-customer-key
5814
+ # * x-amz-server-side-encryption-customer-key
5337
5815
  #
5338
- # * x-amz-server-side​-encryption​-customer-key-MD5
5816
+ # * x-amz-server-side-encryption-customer-key-MD5
5339
5817
  #
5340
5818
  # For more information about SSE-C, see [Server-Side Encryption (Using
5341
5819
  # Customer-Provided Encryption Keys)][1].
@@ -5389,7 +5867,7 @@ module Aws::S3
5389
5867
  #
5390
5868
  # The following operation is related to `HeadObject`\:
5391
5869
  #
5392
- # * GetObject
5870
+ # * [GetObject][5]
5393
5871
  #
5394
5872
  # ^
5395
5873
  #
@@ -5399,6 +5877,7 @@ module Aws::S3
5399
5877
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
5400
5878
  # [3]: https://tools.ietf.org/html/rfc7232
5401
5879
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
5880
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5402
5881
  #
5403
5882
  # @option params [required, String] :bucket
5404
5883
  # The name of the bucket containing the object.
@@ -5444,7 +5923,7 @@ module Aws::S3
5444
5923
  # encrypting data. This value is used to store the object and then it is
5445
5924
  # discarded; Amazon S3 does not store the encryption key. The key must
5446
5925
  # be appropriate for use with the algorithm specified in the
5447
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
5926
+ # `x-amz-server-side-encryption-customer-algorithm` header.
5448
5927
  #
5449
5928
  # @option params [String] :sse_customer_key_md5
5450
5929
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -5468,6 +5947,11 @@ module Aws::S3
5468
5947
  # for the part specified. Useful querying about the size of the part and
5469
5948
  # the number of parts in this object.
5470
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
+ #
5471
5955
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5472
5956
  #
5473
5957
  # * {Types::HeadObjectOutput#delete_marker #delete_marker} => Boolean
@@ -5538,6 +6022,7 @@ module Aws::S3
5538
6022
  # sse_customer_key_md5: "SSECustomerKeyMD5",
5539
6023
  # request_payer: "requester", # accepts requester
5540
6024
  # part_number: 1,
6025
+ # expected_bucket_owner: "AccountId",
5541
6026
  # })
5542
6027
  #
5543
6028
  # @example Response structure
@@ -5614,17 +6099,20 @@ module Aws::S3
5614
6099
  # The following operations are related to
5615
6100
  # `ListBucketAnalyticsConfigurations`\:
5616
6101
  #
5617
- # * GetBucketAnalyticsConfiguration
6102
+ # * [GetBucketAnalyticsConfiguration][4]
5618
6103
  #
5619
- # * DeleteBucketAnalyticsConfiguration
6104
+ # * [DeleteBucketAnalyticsConfiguration][5]
5620
6105
  #
5621
- # * PutBucketAnalyticsConfiguration
6106
+ # * [PutBucketAnalyticsConfiguration][6]
5622
6107
  #
5623
6108
  #
5624
6109
  #
5625
6110
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
5626
6111
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5627
6112
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
6113
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html
6114
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html
6115
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html
5628
6116
  #
5629
6117
  # @option params [required, String] :bucket
5630
6118
  # The name of the bucket from which analytics configurations are
@@ -5634,6 +6122,11 @@ module Aws::S3
5634
6122
  # The ContinuationToken that represents a placeholder from where this
5635
6123
  # request should begin.
5636
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
+ #
5637
6130
  # @return [Types::ListBucketAnalyticsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5638
6131
  #
5639
6132
  # * {Types::ListBucketAnalyticsConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -5646,6 +6139,7 @@ module Aws::S3
5646
6139
  # resp = client.list_bucket_analytics_configurations({
5647
6140
  # bucket: "BucketName", # required
5648
6141
  # continuation_token: "Token",
6142
+ # expected_bucket_owner: "AccountId",
5649
6143
  # })
5650
6144
  #
5651
6145
  # @example Response structure
@@ -5702,17 +6196,20 @@ module Aws::S3
5702
6196
  # The following operations are related to
5703
6197
  # `ListBucketInventoryConfigurations`\:
5704
6198
  #
5705
- # * GetBucketInventoryConfiguration
6199
+ # * [GetBucketInventoryConfiguration][4]
5706
6200
  #
5707
- # * DeleteBucketInventoryConfiguration
6201
+ # * [DeleteBucketInventoryConfiguration][5]
5708
6202
  #
5709
- # * PutBucketInventoryConfiguration
6203
+ # * [PutBucketInventoryConfiguration][6]
5710
6204
  #
5711
6205
  #
5712
6206
  #
5713
6207
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
5714
6208
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5715
6209
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
6210
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
6211
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
6212
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html
5716
6213
  #
5717
6214
  # @option params [required, String] :bucket
5718
6215
  # The name of the bucket containing the inventory configurations to
@@ -5724,6 +6221,11 @@ module Aws::S3
5724
6221
  # truncated list response to continue the listing. The continuation
5725
6222
  # token is an opaque value that Amazon S3 understands.
5726
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
+ #
5727
6229
  # @return [Types::ListBucketInventoryConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5728
6230
  #
5729
6231
  # * {Types::ListBucketInventoryConfigurationsOutput#continuation_token #continuation_token} => String
@@ -5736,6 +6238,7 @@ module Aws::S3
5736
6238
  # resp = client.list_bucket_inventory_configurations({
5737
6239
  # bucket: "BucketName", # required
5738
6240
  # continuation_token: "Token",
6241
+ # expected_bucket_owner: "AccountId",
5739
6242
  # })
5740
6243
  #
5741
6244
  # @example Response structure
@@ -5793,17 +6296,20 @@ module Aws::S3
5793
6296
  # The following operations are related to
5794
6297
  # `ListBucketMetricsConfigurations`\:
5795
6298
  #
5796
- # * PutBucketMetricsConfiguration
6299
+ # * [PutBucketMetricsConfiguration][4]
5797
6300
  #
5798
- # * GetBucketMetricsConfiguration
6301
+ # * [GetBucketMetricsConfiguration][5]
5799
6302
  #
5800
- # * DeleteBucketMetricsConfiguration
6303
+ # * [DeleteBucketMetricsConfiguration][6]
5801
6304
  #
5802
6305
  #
5803
6306
  #
5804
6307
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
5805
6308
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5806
6309
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
6310
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
6311
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
6312
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
5807
6313
  #
5808
6314
  # @option params [required, String] :bucket
5809
6315
  # The name of the bucket containing the metrics configurations to
@@ -5815,6 +6321,11 @@ module Aws::S3
5815
6321
  # previously truncated list response to continue the listing. The
5816
6322
  # continuation token is an opaque value that Amazon S3 understands.
5817
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
+ #
5818
6329
  # @return [Types::ListBucketMetricsConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5819
6330
  #
5820
6331
  # * {Types::ListBucketMetricsConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -5827,6 +6338,7 @@ module Aws::S3
5827
6338
  # resp = client.list_bucket_metrics_configurations({
5828
6339
  # bucket: "BucketName", # required
5829
6340
  # continuation_token: "Token",
6341
+ # expected_bucket_owner: "AccountId",
5830
6342
  # })
5831
6343
  #
5832
6344
  # @example Response structure
@@ -5939,20 +6451,25 @@ module Aws::S3
5939
6451
  #
5940
6452
  # The following operations are related to `ListMultipartUploads`\:
5941
6453
  #
5942
- # * CreateMultipartUpload
6454
+ # * [CreateMultipartUpload][3]
5943
6455
  #
5944
- # * UploadPart
6456
+ # * [UploadPart][4]
5945
6457
  #
5946
- # * CompleteMultipartUpload
6458
+ # * [CompleteMultipartUpload][5]
5947
6459
  #
5948
- # * ListParts
6460
+ # * [ListParts][6]
5949
6461
  #
5950
- # * AbortMultipartUpload
6462
+ # * [AbortMultipartUpload][7]
5951
6463
  #
5952
6464
  #
5953
6465
  #
5954
6466
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
5955
6467
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
6468
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
6469
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
6470
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
6471
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
6472
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
5956
6473
  #
5957
6474
  # @option params [required, String] :bucket
5958
6475
  # Name of the bucket to which the multipart upload was initiated.
@@ -6019,6 +6536,11 @@ module Aws::S3
6019
6536
  # list only if they have an upload ID lexicographically greater than the
6020
6537
  # specified `upload-id-marker`.
6021
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
+ #
6022
6544
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6023
6545
  #
6024
6546
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -6142,6 +6664,7 @@ module Aws::S3
6142
6664
  # max_uploads: 1,
6143
6665
  # prefix: "Prefix",
6144
6666
  # upload_id_marker: "UploadIdMarker",
6667
+ # expected_bucket_owner: "AccountId",
6145
6668
  # })
6146
6669
  #
6147
6670
  # @example Response structure
@@ -6191,13 +6714,20 @@ module Aws::S3
6191
6714
  #
6192
6715
  # The following operations are related to `ListObjectVersions`\:
6193
6716
  #
6194
- # * ListObjectsV2
6717
+ # * [ListObjectsV2][1]
6195
6718
  #
6196
- # * GetObject
6719
+ # * [GetObject][2]
6197
6720
  #
6198
- # * PutObject
6721
+ # * [PutObject][3]
6199
6722
  #
6200
- # * DeleteObject
6723
+ # * [DeleteObject][4]
6724
+ #
6725
+ #
6726
+ #
6727
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
6728
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6729
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
6730
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
6201
6731
  #
6202
6732
  # @option params [required, String] :bucket
6203
6733
  # The bucket name that contains the objects.
@@ -6252,6 +6782,11 @@ module Aws::S3
6252
6782
  # @option params [String] :version_id_marker
6253
6783
  # Specifies the object version you want to start listing from.
6254
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
+ #
6255
6790
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6256
6791
  #
6257
6792
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -6324,6 +6859,7 @@ module Aws::S3
6324
6859
  # max_keys: 1,
6325
6860
  # prefix: "Prefix",
6326
6861
  # version_id_marker: "VersionIdMarker",
6862
+ # expected_bucket_owner: "AccountId",
6327
6863
  # })
6328
6864
  #
6329
6865
  # @example Response structure
@@ -6374,20 +6910,28 @@ module Aws::S3
6374
6910
  # of the response and handle it appropriately.
6375
6911
  #
6376
6912
  # This API has been revised. We recommend that you use the newer
6377
- # version, ListObjectsV2, when developing applications. For backward
6378
- # compatibility, Amazon S3 continues to support `ListObjects`.
6913
+ # version, [ListObjectsV2][1], when developing applications. For
6914
+ # backward compatibility, Amazon S3 continues to support `ListObjects`.
6379
6915
  #
6380
6916
  # The following operations are related to `ListObjects`\:
6381
6917
  #
6382
- # * ListObjectsV2
6918
+ # * [ListObjectsV2][1]
6919
+ #
6920
+ # * [GetObject][2]
6921
+ #
6922
+ # * [PutObject][3]
6923
+ #
6924
+ # * [CreateBucket][4]
6383
6925
  #
6384
- # * GetObject
6926
+ # * [ListBuckets][5]
6385
6927
  #
6386
- # * PutObject
6387
6928
  #
6388
- # * CreateBucket
6389
6929
  #
6390
- # * ListBuckets
6930
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
6931
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6932
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
6933
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
6934
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
6391
6935
  #
6392
6936
  # @option params [required, String] :bucket
6393
6937
  # The name of the bucket containing the objects.
@@ -6419,6 +6963,11 @@ module Aws::S3
6419
6963
  # the list objects request. Bucket owners need not specify this
6420
6964
  # parameter in their requests.
6421
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
+ #
6422
6971
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6423
6972
  #
6424
6973
  # * {Types::ListObjectsOutput#is_truncated #is_truncated} => Boolean
@@ -6483,6 +7032,7 @@ module Aws::S3
6483
7032
  # max_keys: 1,
6484
7033
  # prefix: "Prefix",
6485
7034
  # request_payer: "requester", # accepts requester
7035
+ # expected_bucket_owner: "AccountId",
6486
7036
  # })
6487
7037
  #
6488
7038
  # @example Response structure
@@ -6533,22 +7083,27 @@ module Aws::S3
6533
7083
  # This section describes the latest revision of the API. We recommend
6534
7084
  # that you use this revised API for application development. For
6535
7085
  # backward compatibility, Amazon S3 continues to support the prior
6536
- # version of this API, ListObjects.
7086
+ # version of this API, [ListObjects][3].
6537
7087
  #
6538
- # To get a list of your buckets, see ListBuckets.
7088
+ # To get a list of your buckets, see [ListBuckets][4].
6539
7089
  #
6540
7090
  # The following operations are related to `ListObjectsV2`\:
6541
7091
  #
6542
- # * GetObject
7092
+ # * [GetObject][5]
6543
7093
  #
6544
- # * PutObject
7094
+ # * [PutObject][6]
6545
7095
  #
6546
- # * CreateBucket
7096
+ # * [CreateBucket][7]
6547
7097
  #
6548
7098
  #
6549
7099
  #
6550
7100
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6551
7101
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7102
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
7103
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
7104
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7105
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
7106
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
6552
7107
  #
6553
7108
  # @option params [required, String] :bucket
6554
7109
  # Bucket name to list.
@@ -6599,6 +7154,11 @@ module Aws::S3
6599
7154
  # the list objects request in V2 style. Bucket owners need not specify
6600
7155
  # this parameter in their requests.
6601
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
+ #
6602
7162
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6603
7163
  #
6604
7164
  # * {Types::ListObjectsV2Output#is_truncated #is_truncated} => Boolean
@@ -6665,6 +7225,7 @@ module Aws::S3
6665
7225
  # fetch_owner: false,
6666
7226
  # start_after: "StartAfter",
6667
7227
  # request_payer: "requester", # accepts requester
7228
+ # expected_bucket_owner: "AccountId",
6668
7229
  # })
6669
7230
  #
6670
7231
  # @example Response structure
@@ -6702,7 +7263,7 @@ module Aws::S3
6702
7263
  # Lists the parts that have been uploaded for a specific multipart
6703
7264
  # upload. This operation must include the upload ID, which you obtain by
6704
7265
  # sending the initiate multipart upload request (see
6705
- # CreateMultipartUpload). This request returns a maximum of 1,000
7266
+ # [CreateMultipartUpload][1]). This request returns a maximum of 1,000
6706
7267
  # uploaded parts. The default number of parts returned is 1,000 parts.
6707
7268
  # You can restrict the number of parts returned by specifying the
6708
7269
  # `max-parts` request parameter. If your multipart upload consists of
@@ -6713,27 +7274,32 @@ module Aws::S3
6713
7274
  # field value from the previous response.
6714
7275
  #
6715
7276
  # For more information on multipart uploads, see [Uploading Objects
6716
- # Using Multipart Upload][1].
7277
+ # Using Multipart Upload][2].
6717
7278
  #
6718
7279
  # For information on permissions required to use the multipart upload
6719
- # API, see [Multipart Upload API and Permissions][2].
7280
+ # API, see [Multipart Upload API and Permissions][3].
6720
7281
  #
6721
7282
  # The following operations are related to `ListParts`\:
6722
7283
  #
6723
- # * CreateMultipartUpload
7284
+ # * [CreateMultipartUpload][1]
6724
7285
  #
6725
- # * UploadPart
7286
+ # * [UploadPart][4]
6726
7287
  #
6727
- # * CompleteMultipartUpload
7288
+ # * [CompleteMultipartUpload][5]
6728
7289
  #
6729
- # * AbortMultipartUpload
7290
+ # * [AbortMultipartUpload][6]
6730
7291
  #
6731
- # * ListMultipartUploads
7292
+ # * [ListMultipartUploads][7]
6732
7293
  #
6733
7294
  #
6734
7295
  #
6735
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
6736
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
7296
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
7297
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
7298
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
7299
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
7300
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
7301
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
7302
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
6737
7303
  #
6738
7304
  # @option params [required, String] :bucket
6739
7305
  # Name of the bucket to which the parts are being uploaded.
@@ -6775,6 +7341,11 @@ module Aws::S3
6775
7341
  #
6776
7342
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6777
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
+ #
6778
7349
  # @return [Types::ListPartsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6779
7350
  #
6780
7351
  # * {Types::ListPartsOutput#abort_date #abort_date} => Time
@@ -6841,6 +7412,7 @@ module Aws::S3
6841
7412
  # part_number_marker: 1,
6842
7413
  # upload_id: "MultipartUploadId", # required
6843
7414
  # request_payer: "requester", # accepts requester
7415
+ # expected_bucket_owner: "AccountId",
6844
7416
  # })
6845
7417
  #
6846
7418
  # @example Response structure
@@ -6893,8 +7465,8 @@ module Aws::S3
6893
7465
  #
6894
7466
  # * Suspended – Disables accelerated data transfers to the bucket.
6895
7467
  #
6896
- # The GetBucketAccelerateConfiguration operation returns the transfer
6897
- # acceleration state of a bucket.
7468
+ # The [GetBucketAccelerateConfiguration][3] operation returns the
7469
+ # transfer acceleration state of a bucket.
6898
7470
  #
6899
7471
  # After setting the Transfer Acceleration state of a bucket to Enabled,
6900
7472
  # it might take up to thirty minutes before the data transfer rates to
@@ -6904,20 +7476,22 @@ module Aws::S3
6904
7476
  # DNS-compliant and must not contain periods (".").
6905
7477
  #
6906
7478
  # For more information about transfer acceleration, see [Transfer
6907
- # Acceleration][3].
7479
+ # Acceleration][4].
6908
7480
  #
6909
7481
  # The following operations are related to
6910
7482
  # `PutBucketAccelerateConfiguration`\:
6911
7483
  #
6912
- # * GetBucketAccelerateConfiguration
7484
+ # * [GetBucketAccelerateConfiguration][3]
6913
7485
  #
6914
- # * CreateBucket
7486
+ # * [CreateBucket][5]
6915
7487
  #
6916
7488
  #
6917
7489
  #
6918
7490
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6919
7491
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
6920
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
7492
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html
7493
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
7494
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
6921
7495
  #
6922
7496
  # @option params [required, String] :bucket
6923
7497
  # Name of the bucket for which the accelerate configuration is set.
@@ -6925,6 +7499,11 @@ module Aws::S3
6925
7499
  # @option params [required, Types::AccelerateConfiguration] :accelerate_configuration
6926
7500
  # Container for setting the transfer acceleration state.
6927
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
+ #
6928
7507
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6929
7508
  #
6930
7509
  # @example Request syntax with placeholder values
@@ -6934,6 +7513,7 @@ module Aws::S3
6934
7513
  # accelerate_configuration: { # required
6935
7514
  # status: "Enabled", # accepts Enabled, Suspended
6936
7515
  # },
7516
+ # expected_bucket_owner: "AccountId",
6937
7517
  # })
6938
7518
  #
6939
7519
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -7086,11 +7666,11 @@ module Aws::S3
7086
7666
  #
7087
7667
  # **Related Resources**
7088
7668
  #
7089
- # * CreateBucket
7669
+ # * [CreateBucket][5]
7090
7670
  #
7091
- # * DeleteBucket
7671
+ # * [DeleteBucket][6]
7092
7672
  #
7093
- # * GetObjectAcl
7673
+ # * [GetObjectAcl][7]
7094
7674
  #
7095
7675
  #
7096
7676
  #
@@ -7098,6 +7678,9 @@ module Aws::S3
7098
7678
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
7099
7679
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
7100
7680
  # [4]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
7681
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7682
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
7683
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
7101
7684
  #
7102
7685
  # @option params [String] :acl
7103
7686
  # The canned ACL to apply to the bucket.
@@ -7135,6 +7718,11 @@ module Aws::S3
7135
7718
  # @option params [String] :grant_write_acp
7136
7719
  # Allows grantee to write the ACL for the applicable bucket.
7137
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
+ #
7138
7726
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7139
7727
  #
7140
7728
  #
@@ -7179,6 +7767,7 @@ module Aws::S3
7179
7767
  # grant_read_acp: "GrantReadACP",
7180
7768
  # grant_write: "GrantWrite",
7181
7769
  # grant_write_acp: "GrantWriteACP",
7770
+ # expected_bucket_owner: "AccountId",
7182
7771
  # })
7183
7772
  #
7184
7773
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl AWS API Documentation
@@ -7242,9 +7831,11 @@ module Aws::S3
7242
7831
  #
7243
7832
  # **Related Resources**
7244
7833
  #
7245
- # *
7246
- # *
7247
- # *
7834
+ # * [GetBucketAnalyticsConfiguration][5]
7835
+ #
7836
+ # * [DeleteBucketAnalyticsConfiguration][6]
7837
+ #
7838
+ # * [ListBucketAnalyticsConfigurations][7]
7248
7839
  #
7249
7840
  #
7250
7841
  #
@@ -7252,6 +7843,9 @@ module Aws::S3
7252
7843
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
7253
7844
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7254
7845
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7846
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html
7847
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html
7848
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html
7255
7849
  #
7256
7850
  # @option params [required, String] :bucket
7257
7851
  # The name of the bucket to which an analytics configuration is stored.
@@ -7262,6 +7856,11 @@ module Aws::S3
7262
7856
  # @option params [required, Types::AnalyticsConfiguration] :analytics_configuration
7263
7857
  # The configuration and any analyses for the analytics filter.
7264
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
+ #
7265
7864
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7266
7865
  #
7267
7866
  # @example Request syntax with placeholder values
@@ -7301,6 +7900,7 @@ module Aws::S3
7301
7900
  # },
7302
7901
  # },
7303
7902
  # },
7903
+ # expected_bucket_owner: "AccountId",
7304
7904
  # })
7305
7905
  #
7306
7906
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration AWS API Documentation
@@ -7352,15 +7952,18 @@ module Aws::S3
7352
7952
  #
7353
7953
  # **Related Resources**
7354
7954
  #
7355
- # * GetBucketCors
7955
+ # * [GetBucketCors][2]
7356
7956
  #
7357
- # * DeleteBucketCors
7957
+ # * [DeleteBucketCors][3]
7358
7958
  #
7359
- # * RESTOPTIONSobject
7959
+ # * [RESTOPTIONSobject][4]
7360
7960
  #
7361
7961
  #
7362
7962
  #
7363
7963
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
7964
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html
7965
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
7966
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html
7364
7967
  #
7365
7968
  # @option params [required, String] :bucket
7366
7969
  # Specifies the bucket impacted by the `cors`configuration.
@@ -7384,6 +7987,11 @@ module Aws::S3
7384
7987
  #
7385
7988
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
7386
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
+ #
7387
7995
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7388
7996
  #
7389
7997
  #
@@ -7446,6 +8054,7 @@ module Aws::S3
7446
8054
  # ],
7447
8055
  # },
7448
8056
  # content_md5: "ContentMD5",
8057
+ # expected_bucket_owner: "AccountId",
7449
8058
  # })
7450
8059
  #
7451
8060
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors AWS API Documentation
@@ -7480,15 +8089,17 @@ module Aws::S3
7480
8089
  #
7481
8090
  # **Related Resources**
7482
8091
  #
7483
- # * GetBucketEncryption
8092
+ # * [GetBucketEncryption][4]
7484
8093
  #
7485
- # * DeleteBucketEncryption
8094
+ # * [DeleteBucketEncryption][5]
7486
8095
  #
7487
8096
  #
7488
8097
  #
7489
8098
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
7490
8099
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7491
8100
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8101
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
8102
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
7492
8103
  #
7493
8104
  # @option params [required, String] :bucket
7494
8105
  # Specifies default encryption for a bucket using server-side encryption
@@ -7509,6 +8120,11 @@ module Aws::S3
7509
8120
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
7510
8121
  # Specifies the default server-side-encryption configuration.
7511
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
+ #
7512
8128
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7513
8129
  #
7514
8130
  # @example Request syntax with placeholder values
@@ -7526,6 +8142,7 @@ module Aws::S3
7526
8142
  # },
7527
8143
  # ],
7528
8144
  # },
8145
+ # expected_bucket_owner: "AccountId",
7529
8146
  # })
7530
8147
  #
7531
8148
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption AWS API Documentation
@@ -7594,11 +8211,11 @@ module Aws::S3
7594
8211
  #
7595
8212
  # **Related Resources**
7596
8213
  #
7597
- # * GetBucketInventoryConfiguration
8214
+ # * [GetBucketInventoryConfiguration][5]
7598
8215
  #
7599
- # * DeleteBucketInventoryConfiguration
8216
+ # * [DeleteBucketInventoryConfiguration][6]
7600
8217
  #
7601
- # * ListBucketInventoryConfigurations
8218
+ # * [ListBucketInventoryConfigurations][7]
7602
8219
  #
7603
8220
  #
7604
8221
  #
@@ -7606,6 +8223,9 @@ module Aws::S3
7606
8223
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
7607
8224
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
7608
8225
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8226
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
8227
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
8228
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
7609
8229
  #
7610
8230
  # @option params [required, String] :bucket
7611
8231
  # The name of the bucket where the inventory configuration will be
@@ -7617,6 +8237,11 @@ module Aws::S3
7617
8237
  # @option params [required, Types::InventoryConfiguration] :inventory_configuration
7618
8238
  # Specifies the inventory configuration.
7619
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
+ #
7620
8245
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7621
8246
  #
7622
8247
  # @example Request syntax with placeholder values
@@ -7651,6 +8276,7 @@ module Aws::S3
7651
8276
  # frequency: "Daily", # required, accepts Daily, Weekly
7652
8277
  # },
7653
8278
  # },
8279
+ # expected_bucket_owner: "AccountId",
7654
8280
  # })
7655
8281
  #
7656
8282
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration AWS API Documentation
@@ -7663,13 +8289,13 @@ module Aws::S3
7663
8289
  end
7664
8290
 
7665
8291
  # For an updated version of this API, see
7666
- # PutBucketLifecycleConfiguration. This version has been deprecated.
7667
- # Existing lifecycle configurations will work. For new lifecycle
7668
- # configurations, use the updated API.
8292
+ # [PutBucketLifecycleConfiguration][1]. This version has been
8293
+ # deprecated. Existing lifecycle configurations will work. For new
8294
+ # lifecycle configurations, use the updated API.
7669
8295
  #
7670
8296
  # Creates a new lifecycle configuration for the bucket or replaces an
7671
8297
  # existing lifecycle configuration. For information about lifecycle
7672
- # configuration, see [Object Lifecycle Management][1] in the *Amazon
8298
+ # configuration, see [Object Lifecycle Management][2] in the *Amazon
7673
8299
  # Simple Storage Service Developer Guide*.
7674
8300
  #
7675
8301
  # By default, all Amazon S3 resources, including buckets, objects, and
@@ -7692,36 +8318,41 @@ module Aws::S3
7692
8318
  # * `s3:PutLifecycleConfiguration`
7693
8319
  #
7694
8320
  # For more information about permissions, see [Managing Access
7695
- # Permissions to your Amazon S3 Resources][2] in the *Amazon Simple
8321
+ # Permissions to your Amazon S3 Resources][3] in the *Amazon Simple
7696
8322
  # Storage Service Developer Guide*.
7697
8323
  #
7698
8324
  # For more examples of transitioning objects to storage classes such as
7699
8325
  # STANDARD\_IA or ONEZONE\_IA, see [Examples of Lifecycle
7700
- # Configuration][3].
8326
+ # Configuration][4].
7701
8327
  #
7702
8328
  # **Related Resources**
7703
8329
  #
7704
- # * GetBucketLifecycle(Deprecated)
8330
+ # * [GetBucketLifecycle][5](Deprecated)
8331
+ #
8332
+ # * [GetBucketLifecycleConfiguration][6]
7705
8333
  #
7706
- # * GetBucketLifecycleConfiguration
8334
+ # * [RestoreObject][7]
7707
8335
  #
7708
- # *
7709
8336
  # * By default, a resource owner—in this case, a bucket owner, which is
7710
8337
  # the AWS account that created the bucket—can perform any of the
7711
8338
  # operations. A resource owner can also grant others permission to
7712
8339
  # perform the operation. For more information, see the following
7713
8340
  # topics in the Amazon Simple Storage Service Developer Guide:
7714
8341
  #
7715
- # * [Specifying Permissions in a Policy][4]
8342
+ # * [Specifying Permissions in a Policy][8]
7716
8343
  #
7717
- # * [Managing Access Permissions to your Amazon S3 Resources][2]
8344
+ # * [Managing Access Permissions to your Amazon S3 Resources][3]
7718
8345
  #
7719
8346
  #
7720
8347
  #
7721
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
7722
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7723
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples
7724
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8348
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
8349
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
8350
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8351
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples
8352
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
8353
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
8354
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
8355
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
7725
8356
  #
7726
8357
  # @option params [required, String] :bucket
7727
8358
  #
@@ -7729,6 +8360,11 @@ module Aws::S3
7729
8360
  #
7730
8361
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
7731
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
+ #
7732
8368
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7733
8369
  #
7734
8370
  # @example Request syntax with placeholder values
@@ -7765,6 +8401,7 @@ module Aws::S3
7765
8401
  # },
7766
8402
  # ],
7767
8403
  # },
8404
+ # expected_bucket_owner: "AccountId",
7768
8405
  # })
7769
8406
  #
7770
8407
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle AWS API Documentation
@@ -7787,7 +8424,7 @@ module Aws::S3
7787
8424
  # API. The previous version of the API supported filtering based only on
7788
8425
  # an object key name prefix, which is supported for backward
7789
8426
  # compatibility. For the related API description, see
7790
- # PutBucketLifecycle.
8427
+ # [PutBucketLifecycle][2].
7791
8428
  #
7792
8429
  # </note>
7793
8430
  #
@@ -7811,8 +8448,8 @@ module Aws::S3
7811
8448
  # S3 provides predefined actions that you can specify for current and
7812
8449
  # noncurrent object versions.
7813
8450
  #
7814
- # For more information, see [Object Lifecycle Management][2] and
7815
- # [Lifecycle Configuration Elements][3].
8451
+ # For more information, see [Object Lifecycle Management][3] and
8452
+ # [Lifecycle Configuration Elements][4].
7816
8453
  #
7817
8454
  # **Permissions**
7818
8455
  #
@@ -7840,18 +8477,21 @@ module Aws::S3
7840
8477
  #
7841
8478
  # The following are related to `PutBucketLifecycleConfiguration`\:
7842
8479
  #
7843
- # * [Examples of Lifecycle Configuration][4]
8480
+ # * [Examples of Lifecycle Configuration][5]
7844
8481
  #
7845
- # * GetBucketLifecycleConfiguration
8482
+ # * [GetBucketLifecycleConfiguration][6]
7846
8483
  #
7847
- # * DeleteBucketLifecycle
8484
+ # * [DeleteBucketLifecycle][7]
7848
8485
  #
7849
8486
  #
7850
8487
  #
7851
8488
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
7852
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
7853
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
7854
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
8489
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
8490
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
8491
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
8492
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
8493
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
8494
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
7855
8495
  #
7856
8496
  # @option params [required, String] :bucket
7857
8497
  # The name of the bucket for which to set the configuration.
@@ -7859,6 +8499,11 @@ module Aws::S3
7859
8499
  # @option params [Types::BucketLifecycleConfiguration] :lifecycle_configuration
7860
8500
  # Container for lifecycle rules. You can add as many as 1,000 rules.
7861
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
+ #
7862
8507
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7863
8508
  #
7864
8509
  #
@@ -7943,6 +8588,7 @@ module Aws::S3
7943
8588
  # },
7944
8589
  # ],
7945
8590
  # },
8591
+ # expected_bucket_owner: "AccountId",
7946
8592
  # })
7947
8593
  #
7948
8594
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
@@ -8000,23 +8646,27 @@ module Aws::S3
8000
8646
  # For more information about server access logging, see [Server Access
8001
8647
  # Logging][1].
8002
8648
  #
8003
- # For more information about creating a bucket, see CreateBucket. For
8004
- # more information about returning the logging status of a bucket, see
8005
- # GetBucketLogging.
8649
+ # For more information about creating a bucket, see [CreateBucket][2].
8650
+ # For more information about returning the logging status of a bucket,
8651
+ # see [GetBucketLogging][3].
8006
8652
  #
8007
8653
  # The following operations are related to `PutBucketLogging`\:
8008
8654
  #
8009
- # * PutObject
8655
+ # * [PutObject][4]
8010
8656
  #
8011
- # * DeleteBucket
8657
+ # * [DeleteBucket][5]
8012
8658
  #
8013
- # * CreateBucket
8659
+ # * [CreateBucket][2]
8014
8660
  #
8015
- # * GetBucketLogging
8661
+ # * [GetBucketLogging][3]
8016
8662
  #
8017
8663
  #
8018
8664
  #
8019
8665
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html
8666
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
8667
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
8668
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
8669
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
8020
8670
  #
8021
8671
  # @option params [required, String] :bucket
8022
8672
  # The name of the bucket for which to set the logging parameters.
@@ -8027,6 +8677,11 @@ module Aws::S3
8027
8677
  # @option params [String] :content_md5
8028
8678
  # The MD5 hash of the `PutBucketLogging` request body.
8029
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
+ #
8030
8685
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8031
8686
  #
8032
8687
  #
@@ -8077,6 +8732,7 @@ module Aws::S3
8077
8732
  # },
8078
8733
  # },
8079
8734
  # content_md5: "ContentMD5",
8735
+ # expected_bucket_owner: "AccountId",
8080
8736
  # })
8081
8737
  #
8082
8738
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging AWS API Documentation
@@ -8108,11 +8764,11 @@ module Aws::S3
8108
8764
  # The following operations are related to
8109
8765
  # `PutBucketMetricsConfiguration`\:
8110
8766
  #
8111
- # * DeleteBucketMetricsConfiguration
8767
+ # * [DeleteBucketMetricsConfiguration][4]
8112
8768
  #
8113
- # * PutBucketMetricsConfiguration
8769
+ # * [PutBucketMetricsConfiguration][5]
8114
8770
  #
8115
- # * ListBucketMetricsConfigurations
8771
+ # * [ListBucketMetricsConfigurations][6]
8116
8772
  #
8117
8773
  # `GetBucketLifecycle` has the following special error:
8118
8774
  #
@@ -8128,6 +8784,9 @@ module Aws::S3
8128
8784
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8129
8785
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8130
8786
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
8787
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
8788
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
8789
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
8131
8790
  #
8132
8791
  # @option params [required, String] :bucket
8133
8792
  # The name of the bucket for which the metrics configuration is set.
@@ -8138,6 +8797,11 @@ module Aws::S3
8138
8797
  # @option params [required, Types::MetricsConfiguration] :metrics_configuration
8139
8798
  # Specifies the metrics configuration.
8140
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
+ #
8141
8805
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8142
8806
  #
8143
8807
  # @example Request syntax with placeholder values
@@ -8164,6 +8828,7 @@ module Aws::S3
8164
8828
  # },
8165
8829
  # },
8166
8830
  # },
8831
+ # expected_bucket_owner: "AccountId",
8167
8832
  # })
8168
8833
  #
8169
8834
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration AWS API Documentation
@@ -8175,7 +8840,12 @@ module Aws::S3
8175
8840
  req.send_request(options)
8176
8841
  end
8177
8842
 
8178
- # No longer used, see the PutBucketNotificationConfiguration operation.
8843
+ # No longer used, see the [PutBucketNotificationConfiguration][1]
8844
+ # operation.
8845
+ #
8846
+ #
8847
+ #
8848
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html
8179
8849
  #
8180
8850
  # @option params [required, String] :bucket
8181
8851
  # The name of the bucket.
@@ -8186,6 +8856,11 @@ module Aws::S3
8186
8856
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
8187
8857
  # The container for the configuration.
8188
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
+ #
8189
8864
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8190
8865
  #
8191
8866
  # @example Request syntax with placeholder values
@@ -8214,6 +8889,7 @@ module Aws::S3
8214
8889
  # invocation_role: "CloudFunctionInvocationRole",
8215
8890
  # },
8216
8891
  # },
8892
+ # expected_bucket_owner: "AccountId",
8217
8893
  # })
8218
8894
  #
8219
8895
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification AWS API Documentation
@@ -8283,13 +8959,14 @@ module Aws::S3
8283
8959
  # The following operation is related to
8284
8960
  # `PutBucketNotificationConfiguration`\:
8285
8961
  #
8286
- # * GetBucketNotificationConfiguration
8962
+ # * [GetBucketNotificationConfiguration][2]
8287
8963
  #
8288
8964
  # ^
8289
8965
  #
8290
8966
  #
8291
8967
  #
8292
8968
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
8969
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
8293
8970
  #
8294
8971
  # @option params [required, String] :bucket
8295
8972
  # The name of the bucket.
@@ -8299,6 +8976,11 @@ module Aws::S3
8299
8976
  # bucket. If this element is empty, notifications are turned off for the
8300
8977
  # bucket.
8301
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
+ #
8302
8984
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8303
8985
  #
8304
8986
  #
@@ -8377,6 +9059,7 @@ module Aws::S3
8377
9059
  # },
8378
9060
  # ],
8379
9061
  # },
9062
+ # expected_bucket_owner: "AccountId",
8380
9063
  # })
8381
9064
  #
8382
9065
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration AWS API Documentation
@@ -8408,13 +9091,15 @@ module Aws::S3
8408
9091
  #
8409
9092
  # The following operations are related to `PutBucketPolicy`\:
8410
9093
  #
8411
- # * CreateBucket
9094
+ # * [CreateBucket][2]
8412
9095
  #
8413
- # * DeleteBucket
9096
+ # * [DeleteBucket][3]
8414
9097
  #
8415
9098
  #
8416
9099
  #
8417
9100
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
9101
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
9102
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
8418
9103
  #
8419
9104
  # @option params [required, String] :bucket
8420
9105
  # The name of the bucket.
@@ -8429,6 +9114,11 @@ module Aws::S3
8429
9114
  # @option params [required, String] :policy
8430
9115
  # The bucket policy as a JSON document.
8431
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
+ #
8432
9122
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8433
9123
  #
8434
9124
  #
@@ -8448,6 +9138,7 @@ module Aws::S3
8448
9138
  # content_md5: "ContentMD5",
8449
9139
  # confirm_remove_self_bucket_access: false,
8450
9140
  # policy: "Policy", # required
9141
+ # expected_bucket_owner: "AccountId",
8451
9142
  # })
8452
9143
  #
8453
9144
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy AWS API Documentation
@@ -8518,14 +9209,14 @@ module Aws::S3
8518
9209
  # about replication configuration, see [Replicating Objects Created with
8519
9210
  # SSE Using CMKs stored in AWS KMS][6].
8520
9211
  #
8521
- # For information on `PutBucketReplication` errors, see
8522
- # ReplicationErrorCodeList
9212
+ # For information on `PutBucketReplication` errors, see [List of
9213
+ # replication-related error codes][7]
8523
9214
  #
8524
9215
  # The following operations are related to `PutBucketReplication`\:
8525
9216
  #
8526
- # * GetBucketReplication
9217
+ # * [GetBucketReplication][8]
8527
9218
  #
8528
- # * DeleteBucketReplication
9219
+ # * [DeleteBucketReplication][9]
8529
9220
  #
8530
9221
  #
8531
9222
  #
@@ -8535,6 +9226,9 @@ module Aws::S3
8535
9226
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8536
9227
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8537
9228
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html
9229
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
9230
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
9231
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
8538
9232
  #
8539
9233
  # @option params [required, String] :bucket
8540
9234
  # The name of the bucket
@@ -8554,6 +9248,11 @@ module Aws::S3
8554
9248
  #
8555
9249
  # @option params [String] :token
8556
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
+ #
8557
9256
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8558
9257
  #
8559
9258
  #
@@ -8645,6 +9344,7 @@ module Aws::S3
8645
9344
  # ],
8646
9345
  # },
8647
9346
  # token: "ObjectLockToken",
9347
+ # expected_bucket_owner: "AccountId",
8648
9348
  # })
8649
9349
  #
8650
9350
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication AWS API Documentation
@@ -8664,13 +9364,15 @@ module Aws::S3
8664
9364
  #
8665
9365
  # The following operations are related to `PutBucketRequestPayment`\:
8666
9366
  #
8667
- # * CreateBucket
9367
+ # * [CreateBucket][2]
8668
9368
  #
8669
- # * GetBucketRequestPayment
9369
+ # * [GetBucketRequestPayment][3]
8670
9370
  #
8671
9371
  #
8672
9372
  #
8673
9373
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
9374
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
9375
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html
8674
9376
  #
8675
9377
  # @option params [required, String] :bucket
8676
9378
  # The bucket name.
@@ -8688,6 +9390,11 @@ module Aws::S3
8688
9390
  # @option params [required, Types::RequestPaymentConfiguration] :request_payment_configuration
8689
9391
  # Container for Payer.
8690
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
+ #
8691
9398
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8692
9399
  #
8693
9400
  #
@@ -8710,6 +9417,7 @@ module Aws::S3
8710
9417
  # request_payment_configuration: { # required
8711
9418
  # payer: "Requester", # required, accepts Requester, BucketOwner
8712
9419
  # },
9420
+ # expected_bucket_owner: "AccountId",
8713
9421
  # })
8714
9422
  #
8715
9423
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment AWS API Documentation
@@ -8778,9 +9486,9 @@ module Aws::S3
8778
9486
  #
8779
9487
  # The following operations are related to `PutBucketTagging`\:
8780
9488
  #
8781
- # * GetBucketTagging
9489
+ # * [GetBucketTagging][7]
8782
9490
  #
8783
- # * DeleteBucketTagging
9491
+ # * [DeleteBucketTagging][8]
8784
9492
  #
8785
9493
  #
8786
9494
  #
@@ -8790,6 +9498,8 @@ module Aws::S3
8790
9498
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8791
9499
  # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
8792
9500
  # [6]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
9501
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
9502
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8793
9503
  #
8794
9504
  # @option params [required, String] :bucket
8795
9505
  # The bucket name.
@@ -8806,6 +9516,11 @@ module Aws::S3
8806
9516
  # @option params [required, Types::Tagging] :tagging
8807
9517
  # Container for the `TagSet` and `Tag` elements.
8808
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
+ #
8809
9524
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8810
9525
  #
8811
9526
  #
@@ -8842,6 +9557,7 @@ module Aws::S3
8842
9557
  # },
8843
9558
  # ],
8844
9559
  # },
9560
+ # expected_bucket_owner: "AccountId",
8845
9561
  # })
8846
9562
  #
8847
9563
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging AWS API Documentation
@@ -8865,7 +9581,7 @@ module Aws::S3
8865
9581
  # objects added to the bucket receive the version ID null.
8866
9582
  #
8867
9583
  # If the versioning state has never been set on a bucket, it has no
8868
- # versioning state; a GetBucketVersioning request does not return a
9584
+ # versioning state; a [GetBucketVersioning][1] request does not return a
8869
9585
  # versioning state value.
8870
9586
  #
8871
9587
  # If the bucket owner enables MFA Delete in the bucket versioning
@@ -8880,19 +9596,22 @@ module Aws::S3
8880
9596
  # manage the deletes of the noncurrent object versions in the
8881
9597
  # version-enabled bucket. (A version-enabled bucket maintains one
8882
9598
  # current and zero or more noncurrent object versions.) For more
8883
- # information, see [Lifecycle and Versioning][1].
9599
+ # information, see [Lifecycle and Versioning][2].
8884
9600
  #
8885
9601
  # **Related Resources**
8886
9602
  #
8887
- # * CreateBucket
9603
+ # * [CreateBucket][3]
8888
9604
  #
8889
- # * DeleteBucket
9605
+ # * [DeleteBucket][4]
8890
9606
  #
8891
- # * GetBucketVersioning
9607
+ # * [GetBucketVersioning][1]
8892
9608
  #
8893
9609
  #
8894
9610
  #
8895
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config
9611
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
9612
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config
9613
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
9614
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
8896
9615
  #
8897
9616
  # @option params [required, String] :bucket
8898
9617
  # The bucket name.
@@ -8914,6 +9633,11 @@ module Aws::S3
8914
9633
  # @option params [required, Types::VersioningConfiguration] :versioning_configuration
8915
9634
  # Container for setting the versioning state.
8916
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
+ #
8917
9641
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8918
9642
  #
8919
9643
  #
@@ -8939,6 +9663,7 @@ module Aws::S3
8939
9663
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
8940
9664
  # status: "Enabled", # accepts Enabled, Suspended
8941
9665
  # },
9666
+ # expected_bucket_owner: "AccountId",
8942
9667
  # })
8943
9668
  #
8944
9669
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning AWS API Documentation
@@ -9038,6 +9763,11 @@ module Aws::S3
9038
9763
  # @option params [required, Types::WebsiteConfiguration] :website_configuration
9039
9764
  # Container for the request.
9040
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
+ #
9041
9771
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9042
9772
  #
9043
9773
  #
@@ -9090,6 +9820,7 @@ module Aws::S3
9090
9820
  # },
9091
9821
  # ],
9092
9822
  # },
9823
+ # expected_bucket_owner: "AccountId",
9093
9824
  # })
9094
9825
  #
9095
9826
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite AWS API Documentation
@@ -9165,13 +9896,13 @@ module Aws::S3
9165
9896
  #
9166
9897
  # For more information about versioning, see [Adding Objects to
9167
9898
  # Versioning Enabled Buckets][6]. For information about returning the
9168
- # versioning state of a bucket, see GetBucketVersioning.
9899
+ # versioning state of a bucket, see [GetBucketVersioning][7].
9169
9900
  #
9170
9901
  # **Related Resources**
9171
9902
  #
9172
- # * CopyObject
9903
+ # * [CopyObject][8]
9173
9904
  #
9174
- # * DeleteObject
9905
+ # * [DeleteObject][9]
9175
9906
  #
9176
9907
  #
9177
9908
  #
@@ -9181,6 +9912,9 @@ module Aws::S3
9181
9912
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
9182
9913
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
9183
9914
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
9915
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
9916
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
9917
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
9184
9918
  #
9185
9919
  # @option params [String] :acl
9186
9920
  # The canned ACL to apply to the object. For more information, see
@@ -9341,7 +10075,7 @@ module Aws::S3
9341
10075
  # encrypting data. This value is used to store the object and then it is
9342
10076
  # discarded; Amazon S3 does not store the encryption key. The key must
9343
10077
  # be appropriate for use with the algorithm specified in the
9344
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
10078
+ # `x-amz-server-side-encryption-customer-algorithm` header.
9345
10079
  #
9346
10080
  # @option params [String] :sse_customer_key_md5
9347
10081
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -9395,6 +10129,11 @@ module Aws::S3
9395
10129
  #
9396
10130
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
9397
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
+ #
9398
10137
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9399
10138
  #
9400
10139
  # * {Types::PutObjectOutput#expiration #expiration} => String
@@ -9408,39 +10147,24 @@ module Aws::S3
9408
10147
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
9409
10148
  #
9410
10149
  #
9411
- # @example Example: To upload an object and specify canned ACL.
10150
+ # @example Example: To upload an object and specify server-side encryption and object tags
9412
10151
  #
9413
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
9414
- # # access to authenticated users. If the bucket is versioning 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.
9415
10154
  #
9416
10155
  # resp = client.put_object({
9417
- # acl: "authenticated-read",
9418
10156
  # body: "filetoupload",
9419
10157
  # bucket: "examplebucket",
9420
10158
  # key: "exampleobject",
10159
+ # server_side_encryption: "AES256",
10160
+ # tagging: "key1=value1&key2=value2",
9421
10161
  # })
9422
10162
  #
9423
10163
  # resp.to_h outputs the following:
9424
10164
  # {
9425
10165
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9426
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
9427
- # }
9428
- #
9429
- # @example Example: To upload an object
9430
- #
9431
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
9432
- # # syntax. S3 returns VersionId of the newly created object.
9433
- #
9434
- # resp = client.put_object({
9435
- # body: "HappyFace.jpg",
9436
- # bucket: "examplebucket",
9437
- # key: "HappyFace.jpg",
9438
- # })
9439
- #
9440
- # resp.to_h outputs the following:
9441
- # {
9442
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9443
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10166
+ # server_side_encryption: "AES256",
10167
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
9444
10168
  # }
9445
10169
  #
9446
10170
  # @example Example: To create an object.
@@ -9518,24 +10242,39 @@ module Aws::S3
9518
10242
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
9519
10243
  # }
9520
10244
  #
9521
- # @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.
9522
10246
  #
9523
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
9524
- # # 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.
9525
10249
  #
9526
10250
  # resp = client.put_object({
10251
+ # acl: "authenticated-read",
9527
10252
  # body: "filetoupload",
9528
10253
  # bucket: "examplebucket",
9529
10254
  # key: "exampleobject",
9530
- # server_side_encryption: "AES256",
9531
- # tagging: "key1=value1&key2=value2",
9532
10255
  # })
9533
10256
  #
9534
10257
  # resp.to_h outputs the following:
9535
10258
  # {
9536
10259
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9537
- # server_side_encryption: "AES256",
9538
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10260
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10261
+ # }
10262
+ #
10263
+ # @example Example: To upload an object
10264
+ #
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.
10267
+ #
10268
+ # resp = client.put_object({
10269
+ # body: "HappyFace.jpg",
10270
+ # bucket: "examplebucket",
10271
+ # key: "HappyFace.jpg",
10272
+ # })
10273
+ #
10274
+ # resp.to_h outputs the following:
10275
+ # {
10276
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10277
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
9539
10278
  # }
9540
10279
  #
9541
10280
  # @example Streaming a file from disk
@@ -9579,6 +10318,7 @@ module Aws::S3
9579
10318
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
9580
10319
  # object_lock_retain_until_date: Time.now,
9581
10320
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
10321
+ # expected_bucket_owner: "AccountId",
9582
10322
  # })
9583
10323
  #
9584
10324
  # @example Response structure
@@ -9603,14 +10343,16 @@ module Aws::S3
9603
10343
  end
9604
10344
 
9605
10345
  # Uses the `acl` subresource to set the access control list (ACL)
9606
- # permissions for an object that already exists in a bucket. You must
9607
- # 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*.
9608
10350
  #
9609
10351
  # Depending on your application needs, you can choose to set the ACL on
9610
10352
  # an object using either the request body or the headers. For example,
9611
10353
  # if you have an existing application that updates a bucket ACL using
9612
10354
  # the request body, you can continue to use that approach. For more
9613
- # information, see [Access Control List (ACL) Overview][1] in the
10355
+ # information, see [Access Control List (ACL) Overview][2] in the
9614
10356
  # *Amazon S3 Developer Guide*.
9615
10357
  #
9616
10358
  # **Access Permissions**
@@ -9622,7 +10364,7 @@ module Aws::S3
9622
10364
  # ACL has a predefined set of grantees and permissions. Specify the
9623
10365
  # canned ACL name as the value of `x-amz-ac`l. If you use this header,
9624
10366
  # you cannot use other access control-specific headers in your
9625
- # request. For more information, see [Canned ACL][2].
10367
+ # request. For more information, see [Canned ACL][3].
9626
10368
  #
9627
10369
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
9628
10370
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
@@ -9632,7 +10374,7 @@ module Aws::S3
9632
10374
  # ACL-specific headers, you cannot use `x-amz-acl` header to set a
9633
10375
  # canned ACL. These parameters map to the set of permissions that
9634
10376
  # Amazon S3 supports in an ACL. For more information, see [Access
9635
- # Control List (ACL) Overview][1].
10377
+ # Control List (ACL) Overview][2].
9636
10378
  #
9637
10379
  # You specify each grantee as a type=value pair, where the type is one
9638
10380
  # of the following:
@@ -9665,7 +10407,7 @@ module Aws::S3
9665
10407
  # * South America (São Paulo)
9666
10408
  #
9667
10409
  # For a list of all the Amazon S3 supported Regions and endpoints,
9668
- # see [Regions and Endpoints][3] in the AWS General Reference.
10410
+ # see [Regions and Endpoints][4] in the AWS General Reference.
9669
10411
  #
9670
10412
  # </note>
9671
10413
  #
@@ -9725,7 +10467,7 @@ module Aws::S3
9725
10467
  # * South America (São Paulo)
9726
10468
  #
9727
10469
  # For a list of all the Amazon S3 supported Regions and endpoints, see
9728
- # [Regions and Endpoints][3] in the AWS General Reference.
10470
+ # [Regions and Endpoints][4] in the AWS General Reference.
9729
10471
  #
9730
10472
  # </note>
9731
10473
  #
@@ -9737,15 +10479,18 @@ module Aws::S3
9737
10479
  #
9738
10480
  # **Related Resources**
9739
10481
  #
9740
- # * CopyObject
10482
+ # * [CopyObject][5]
9741
10483
  #
9742
- # * GetObject
10484
+ # * [GetObject][6]
9743
10485
  #
9744
10486
  #
9745
10487
  #
9746
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
9747
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
9748
- # [3]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
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
9749
10494
  #
9750
10495
  # @option params [String] :acl
9751
10496
  # The canned ACL to apply to the object. For more information, see
@@ -9819,6 +10564,11 @@ module Aws::S3
9819
10564
  # @option params [String] :version_id
9820
10565
  # VersionId used to reference a specific version of the object.
9821
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
+ #
9822
10572
  # @return [Types::PutObjectAclOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9823
10573
  #
9824
10574
  # * {Types::PutObjectAclOutput#request_charged #request_charged} => String
@@ -9874,6 +10624,7 @@ module Aws::S3
9874
10624
  # key: "ObjectKey", # required
9875
10625
  # request_payer: "requester", # accepts requester
9876
10626
  # version_id: "ObjectVersionId",
10627
+ # expected_bucket_owner: "AccountId",
9877
10628
  # })
9878
10629
  #
9879
10630
  # @example Response structure
@@ -9941,6 +10692,11 @@ module Aws::S3
9941
10692
  # @option params [String] :content_md5
9942
10693
  # The MD5 hash for the request body.
9943
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
+ #
9944
10700
  # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9945
10701
  #
9946
10702
  # * {Types::PutObjectLegalHoldOutput#request_charged #request_charged} => String
@@ -9956,6 +10712,7 @@ module Aws::S3
9956
10712
  # request_payer: "requester", # accepts requester
9957
10713
  # version_id: "ObjectVersionId",
9958
10714
  # content_md5: "ContentMD5",
10715
+ # expected_bucket_owner: "AccountId",
9959
10716
  # })
9960
10717
  #
9961
10718
  # @example Response structure
@@ -10015,6 +10772,11 @@ module Aws::S3
10015
10772
  # @option params [String] :content_md5
10016
10773
  # The MD5 hash for the request body.
10017
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
+ #
10018
10780
  # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10019
10781
  #
10020
10782
  # * {Types::PutObjectLockConfigurationOutput#request_charged #request_charged} => String
@@ -10036,6 +10798,7 @@ module Aws::S3
10036
10798
  # request_payer: "requester", # accepts requester
10037
10799
  # token: "ObjectLockToken",
10038
10800
  # content_md5: "ContentMD5",
10801
+ # expected_bucket_owner: "AccountId",
10039
10802
  # })
10040
10803
  #
10041
10804
  # @example Response structure
@@ -10108,6 +10871,11 @@ module Aws::S3
10108
10871
  # @option params [String] :content_md5
10109
10872
  # The MD5 hash for the request body.
10110
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
+ #
10111
10879
  # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10112
10880
  #
10113
10881
  # * {Types::PutObjectRetentionOutput#request_charged #request_charged} => String
@@ -10125,6 +10893,7 @@ module Aws::S3
10125
10893
  # version_id: "ObjectVersionId",
10126
10894
  # bypass_governance_retention: false,
10127
10895
  # content_md5: "ContentMD5",
10896
+ # expected_bucket_owner: "AccountId",
10128
10897
  # })
10129
10898
  #
10130
10899
  # @example Response structure
@@ -10146,10 +10915,10 @@ module Aws::S3
10146
10915
  # A tag is a key-value pair. You can associate tags with an object by
10147
10916
  # sending a PUT request against the tagging subresource that is
10148
10917
  # associated with the object. You can retrieve tags by sending a GET
10149
- # request. For more information, see GetObjectTagging.
10918
+ # request. For more information, see [GetObjectTagging][1].
10150
10919
  #
10151
10920
  # For tagging-related restrictions related to characters and encodings,
10152
- # see [Tag Restrictions][1]. Note that Amazon S3 limits the maximum
10921
+ # see [Tag Restrictions][2]. Note that Amazon S3 limits the maximum
10153
10922
  # number of tags to 10 tags per object.
10154
10923
  #
10155
10924
  # To use this operation, you must have permission to perform the
@@ -10160,7 +10929,7 @@ module Aws::S3
10160
10929
  # You also need permission for the `s3:PutObjectVersionTagging` action.
10161
10930
  #
10162
10931
  # For information about the Amazon S3 object tagging feature, see
10163
- # [Object Tagging][2].
10932
+ # [Object Tagging][3].
10164
10933
  #
10165
10934
  # **Special Errors**
10166
10935
  #
@@ -10170,7 +10939,7 @@ module Aws::S3
10170
10939
  #
10171
10940
  # * *Cause: The tag provided was not a valid tag. This error can occur
10172
10941
  # if the tag did not pass input validation. For more information,
10173
- # see [Object Tagging][2].*
10942
+ # see [Object Tagging][3].*
10174
10943
  #
10175
10944
  # * ****
10176
10945
  #
@@ -10190,14 +10959,15 @@ module Aws::S3
10190
10959
  #
10191
10960
  # **Related Resources**
10192
10961
  #
10193
- # * GetObjectTagging
10962
+ # * [GetObjectTagging][1]
10194
10963
  #
10195
10964
  # ^
10196
10965
  #
10197
10966
  #
10198
10967
  #
10199
- # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
10200
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
10968
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
10969
+ # [2]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
10970
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
10201
10971
  #
10202
10972
  # @option params [required, String] :bucket
10203
10973
  # The bucket name containing the object.
@@ -10226,6 +10996,11 @@ module Aws::S3
10226
10996
  # @option params [required, Types::Tagging] :tagging
10227
10997
  # Container for the `TagSet` and `Tag` elements
10228
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
+ #
10229
11004
  # @return [Types::PutObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10230
11005
  #
10231
11006
  # * {Types::PutObjectTaggingOutput#version_id #version_id} => String
@@ -10272,6 +11047,7 @@ module Aws::S3
10272
11047
  # },
10273
11048
  # ],
10274
11049
  # },
11050
+ # expected_bucket_owner: "AccountId",
10275
11051
  # })
10276
11052
  #
10277
11053
  # @example Response structure
@@ -10305,19 +11081,22 @@ module Aws::S3
10305
11081
  #
10306
11082
  # **Related Resources**
10307
11083
  #
10308
- # * GetPublicAccessBlock
11084
+ # * [GetPublicAccessBlock][3]
10309
11085
  #
10310
- # * DeletePublicAccessBlock
11086
+ # * [DeletePublicAccessBlock][4]
10311
11087
  #
10312
- # * GetBucketPolicyStatus
11088
+ # * [GetBucketPolicyStatus][5]
10313
11089
  #
10314
- # * [Using Amazon S3 Block Public Access][3]
11090
+ # * [Using Amazon S3 Block Public Access][6]
10315
11091
  #
10316
11092
  #
10317
11093
  #
10318
11094
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
10319
11095
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
10320
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
11096
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
11097
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
11098
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html
11099
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
10321
11100
  #
10322
11101
  # @option params [required, String] :bucket
10323
11102
  # The name of the Amazon S3 bucket whose `PublicAccessBlock`
@@ -10337,6 +11116,11 @@ module Aws::S3
10337
11116
  #
10338
11117
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
10339
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
+ #
10340
11124
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10341
11125
  #
10342
11126
  # @example Request syntax with placeholder values
@@ -10350,6 +11134,7 @@ module Aws::S3
10350
11134
  # block_public_policy: false,
10351
11135
  # restrict_public_buckets: false,
10352
11136
  # },
11137
+ # expected_bucket_owner: "AccountId",
10353
11138
  # })
10354
11139
  #
10355
11140
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock AWS API Documentation
@@ -10400,12 +11185,12 @@ module Aws::S3
10400
11185
  # For more information about the `S3` structure in the request body,
10401
11186
  # see the following:
10402
11187
  #
10403
- # * PutObject
11188
+ # * [PutObject][4]
10404
11189
  #
10405
- # * [Managing Access with ACLs][4] in the *Amazon Simple Storage
11190
+ # * [Managing Access with ACLs][5] in the *Amazon Simple Storage
10406
11191
  # Service Developer Guide*
10407
11192
  #
10408
- # * [Protecting Data Using Server-Side Encryption][5] in the *Amazon
11193
+ # * [Protecting Data Using Server-Side Encryption][6] in the *Amazon
10409
11194
  # Simple Storage Service Developer Guide*
10410
11195
  #
10411
11196
  # * Define the SQL expression for the `SELECT` type of restoration for
@@ -10431,7 +11216,7 @@ module Aws::S3
10431
11216
  # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
10432
11217
  #
10433
11218
  # For more information about using SQL with S3 Glacier Select restore,
10434
- # see [SQL Reference for Amazon S3 Select and S3 Glacier Select][6] in
11219
+ # see [SQL Reference for Amazon S3 Select and S3 Glacier Select][7] in
10435
11220
  # the *Amazon Simple Storage Service Developer Guide*.
10436
11221
  #
10437
11222
  # When making a select request, you can also do the following:
@@ -10506,7 +11291,7 @@ module Aws::S3
10506
11291
  #
10507
11292
  # For more information about archive retrieval options and provisioned
10508
11293
  # capacity for `Expedited` data access, see [Restoring Archived
10509
- # Objects][7] in the *Amazon Simple Storage Service Developer Guide*.
11294
+ # Objects][8] in the *Amazon Simple Storage Service Developer Guide*.
10510
11295
  #
10511
11296
  # You can use Amazon S3 restore speed upgrade to change the restore
10512
11297
  # speed to a faster speed while it is in progress. You upgrade the speed
@@ -10516,14 +11301,14 @@ module Aws::S3
10516
11301
  # faster than the tier that the in-progress restore is using. You must
10517
11302
  # not change any other parameters, such as the `Days` request element.
10518
11303
  # For more information, see [ Upgrading the Speed of an In-Progress
10519
- # Restore][8] in the *Amazon Simple Storage Service Developer Guide*.
11304
+ # Restore][9] in the *Amazon Simple Storage Service Developer Guide*.
10520
11305
  #
10521
11306
  # To get the status of object restoration, you can send a `HEAD`
10522
11307
  # request. Operations return the `x-amz-restore` header, which provides
10523
11308
  # information about the restoration status, in the response. You can use
10524
11309
  # Amazon S3 event notifications to notify you when a restore is
10525
11310
  # initiated or completed. For more information, see [Configuring Amazon
10526
- # S3 Event Notifications][9] in the *Amazon Simple Storage Service
11311
+ # S3 Event Notifications][10] in the *Amazon Simple Storage Service
10527
11312
  # Developer Guide*.
10528
11313
  #
10529
11314
  # After restoring an archived object, you can update the restoration
@@ -10538,9 +11323,9 @@ module Aws::S3
10538
11323
  # that you specify in a restore request. For example, if you restore an
10539
11324
  # object copy for 10 days, but the object is scheduled to expire in 3
10540
11325
  # days, Amazon S3 deletes the object in 3 days. For more information
10541
- # about lifecycle configuration, see PutBucketLifecycleConfiguration and
10542
- # [Object Lifecycle Management][10] in *Amazon Simple Storage Service
10543
- # Developer Guide*.
11326
+ # about lifecycle configuration, see
11327
+ # [PutBucketLifecycleConfiguration][11] and [Object Lifecycle
11328
+ # Management][12] in *Amazon Simple Storage Service Developer Guide*.
10544
11329
  #
10545
11330
  # **Responses**
10546
11331
  #
@@ -10582,11 +11367,11 @@ module Aws::S3
10582
11367
  #
10583
11368
  # **Related Resources**
10584
11369
  #
10585
- # * PutBucketLifecycleConfiguration
11370
+ # * [PutBucketLifecycleConfiguration][11]
10586
11371
  #
10587
- # * GetBucketNotificationConfiguration
11372
+ # * [GetBucketNotificationConfiguration][13]
10588
11373
  #
10589
- # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][6] in
11374
+ # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][7] in
10590
11375
  # the *Amazon Simple Storage Service Developer Guide*
10591
11376
  #
10592
11377
  #
@@ -10594,13 +11379,16 @@ module Aws::S3
10594
11379
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
10595
11380
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
10596
11381
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html
10597
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
10598
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
10599
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
10600
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
10601
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
10602
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
10603
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
11382
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
11383
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
11384
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
11385
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
11386
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
11387
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
11388
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
11389
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
11390
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
11391
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
10604
11392
  #
10605
11393
  # @option params [required, String] :bucket
10606
11394
  # The bucket name or containing the object to restore.
@@ -10637,6 +11425,11 @@ module Aws::S3
10637
11425
  #
10638
11426
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
10639
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
+ #
10640
11433
  # @return [Types::RestoreObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10641
11434
  #
10642
11435
  # * {Types::RestoreObjectOutput#request_charged #request_charged} => String
@@ -10750,6 +11543,7 @@ module Aws::S3
10750
11543
  # },
10751
11544
  # },
10752
11545
  # request_payer: "requester", # accepts requester
11546
+ # expected_bucket_owner: "AccountId",
10753
11547
  # })
10754
11548
  #
10755
11549
  # @example Response structure
@@ -10815,16 +11609,17 @@ module Aws::S3
10815
11609
  #
10816
11610
  # For objects that are encrypted with customer-provided encryption
10817
11611
  # keys (SSE-C), you must use HTTPS, and you must use the headers that
10818
- # are documented in the GetObject. For more information about SSE-C,
10819
- # see [Server-Side Encryption (Using Customer-Provided Encryption
10820
- # Keys)][4] in the *Amazon Simple Storage Service Developer Guide*.
11612
+ # are documented in the [GetObject][4]. For more information about
11613
+ # SSE-C, see [Server-Side Encryption (Using Customer-Provided
11614
+ # Encryption Keys)][5] in the *Amazon Simple Storage Service Developer
11615
+ # Guide*.
10821
11616
  #
10822
11617
  # For objects that are encrypted with Amazon S3 managed encryption
10823
11618
  # keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key
10824
11619
  # Management Service (SSE-KMS), server-side encryption is handled
10825
11620
  # transparently, so you don't need to specify anything. For more
10826
11621
  # information about server-side encryption, including SSE-S3 and
10827
- # SSE-KMS, see [Protecting Data Using Server-Side Encryption][5] in
11622
+ # SSE-KMS, see [Protecting Data Using Server-Side Encryption][6] in
10828
11623
  # the *Amazon Simple Storage Service Developer Guide*.
10829
11624
  #
10830
11625
  # **Working with the Response Body**
@@ -10832,49 +11627,55 @@ module Aws::S3
10832
11627
  # Given the response size is unknown, Amazon S3 Select streams the
10833
11628
  # response as a series of messages and includes a `Transfer-Encoding`
10834
11629
  # header with `chunked` as its value in the response. For more
10835
- # information, see RESTSelectObjectAppendix .
11630
+ # information, see [Appendix: SelectObjectContent Response][7] .
10836
11631
  #
10837
11632
  #
10838
11633
  #
10839
11634
  # **GetObject Support**
10840
11635
  #
10841
11636
  # The `SelectObjectContent` operation does not support the following
10842
- # `GetObject` functionality. For more information, see GetObject.
11637
+ # `GetObject` functionality. For more information, see [GetObject][4].
10843
11638
  #
10844
11639
  # * `Range`\: Although you can specify a scan range for an Amazon S3
10845
- # Select request (see SelectObjectContentRequest$ScanRange in the
10846
- # request parameters), you cannot specify the range of bytes of an
11640
+ # Select request (see [SelectObjectContentRequest - ScanRange][8] in
11641
+ # the request parameters), you cannot specify the range of bytes of an
10847
11642
  # object to return.
10848
11643
  #
10849
11644
  # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
10850
11645
  # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
10851
11646
  # storage classes. For more information, about storage classes see
10852
- # [Storage Classes][6] in the *Amazon Simple Storage Service Developer
11647
+ # [Storage Classes][9] in the *Amazon Simple Storage Service Developer
10853
11648
  # Guide*.
10854
11649
  #
10855
11650
  #
10856
11651
  #
10857
11652
  # **Special Errors**
10858
11653
  #
10859
- # For a list of special errors for this operation, see
10860
- # SelectObjectContentErrorCodeList
11654
+ # For a list of special errors for this operation, see [List of SELECT
11655
+ # Object Content Error Codes][10]
10861
11656
  #
10862
11657
  # **Related Resources**
10863
11658
  #
10864
- # * GetObject
11659
+ # * [GetObject][4]
10865
11660
  #
10866
- # * GetBucketLifecycleConfiguration
11661
+ # * [GetBucketLifecycleConfiguration][11]
10867
11662
  #
10868
- # * PutBucketLifecycleConfiguration
11663
+ # * [PutBucketLifecycleConfiguration][12]
10869
11664
  #
10870
11665
  #
10871
11666
  #
10872
11667
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
10873
11668
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
10874
11669
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
10875
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
10876
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
10877
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
11670
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
11671
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
11672
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
11673
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
11674
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
11675
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
11676
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
11677
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
11678
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
10878
11679
  #
10879
11680
  # @option params [required, String] :bucket
10880
11681
  # The S3 bucket.
@@ -10942,6 +11743,11 @@ module Aws::S3
10942
11743
  # * `<scanrange><end>50</end></scanrange>` - process only the records
10943
11744
  # within the last 50 bytes of the file.
10944
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
+ #
10945
11751
  # @return [Types::SelectObjectContentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10946
11752
  #
10947
11753
  # * {Types::SelectObjectContentOutput#payload #payload} => Types::SelectObjectContentEventStream
@@ -11112,6 +11918,7 @@ module Aws::S3
11112
11918
  # start: 1,
11113
11919
  # end: 1,
11114
11920
  # },
11921
+ # expected_bucket_owner: "AccountId",
11115
11922
  # })
11116
11923
  #
11117
11924
  # @example Response structure
@@ -11170,11 +11977,11 @@ module Aws::S3
11170
11977
  # <note markdown="1"> In this operation, you provide part data in your request. However, you
11171
11978
  # have an option to specify your existing Amazon S3 object as a data
11172
11979
  # source for the part you are uploading. To upload a part from an
11173
- # existing object, you use the UploadPartCopy operation.
11980
+ # existing object, you use the [UploadPartCopy][1] operation.
11174
11981
  #
11175
11982
  # </note>
11176
11983
  #
11177
- # You must initiate a multipart upload (see CreateMultipartUpload)
11984
+ # You must initiate a multipart upload (see [CreateMultipartUpload][2])
11178
11985
  # before you can upload any part. In response to your initiate request,
11179
11986
  # Amazon S3 returns an upload ID, a unique identifier, that you must
11180
11987
  # include in your upload part request.
@@ -11199,11 +12006,11 @@ module Aws::S3
11199
12006
  # parts storage and stops charging you for the parts storage.
11200
12007
  #
11201
12008
  # For more information on multipart uploads, go to [Multipart Upload
11202
- # Overview][1] in the <i>Amazon Simple Storage Service Developer Guide
12009
+ # Overview][3] in the <i>Amazon Simple Storage Service Developer Guide
11203
12010
  # </i>.
11204
12011
  #
11205
12012
  # For information on the permissions required to use the multipart
11206
- # upload API, go to [Multipart Upload API and Permissions][2] in the
12013
+ # upload API, go to [Multipart Upload API and Permissions][4] in the
11207
12014
  # *Amazon Simple Storage Service Developer Guide*.
11208
12015
  #
11209
12016
  # You can optionally request server-side encryption where Amazon S3
@@ -11213,26 +12020,27 @@ module Aws::S3
11213
12020
  # encryption keys. If you choose to provide your own encryption key, the
11214
12021
  # request headers you provide in the request must match the headers you
11215
12022
  # used in the request to initiate the upload by using
11216
- # CreateMultipartUpload. For more information, go to [Using Server-Side
11217
- # Encryption][3] in the *Amazon Simple Storage Service Developer Guide*.
12023
+ # [CreateMultipartUpload][2]. For more information, go to [Using
12024
+ # Server-Side Encryption][5] in the *Amazon Simple Storage Service
12025
+ # Developer Guide*.
11218
12026
  #
11219
12027
  # Server-side encryption is supported by the S3 Multipart Upload
11220
12028
  # actions. Unless you are using a customer-provided encryption key, you
11221
12029
  # don't need to specify the encryption parameters in each UploadPart
11222
12030
  # request. Instead, you only need to specify the server-side encryption
11223
12031
  # parameters in the initial Initiate Multipart request. For more
11224
- # information, see CreateMultipartUpload.
12032
+ # information, see [CreateMultipartUpload][2].
11225
12033
  #
11226
12034
  # If you requested server-side encryption using a customer-provided
11227
12035
  # encryption key in your initiate multipart upload request, you must
11228
12036
  # provide identical encryption information in each part upload using the
11229
12037
  # following headers.
11230
12038
  #
11231
- # * x-amz-server-side​-encryption​-customer-algorithm
12039
+ # * x-amz-server-side-encryption-customer-algorithm
11232
12040
  #
11233
- # * x-amz-server-side​-encryption​-customer-key
12041
+ # * x-amz-server-side-encryption-customer-key
11234
12042
  #
11235
- # * x-amz-server-side​-encryption​-customer-key-MD5
12043
+ # * x-amz-server-side-encryption-customer-key-MD5
11236
12044
  #
11237
12045
  # **Special Errors**
11238
12046
  #
@@ -11250,21 +12058,27 @@ module Aws::S3
11250
12058
  #
11251
12059
  # **Related Resources**
11252
12060
  #
11253
- # * CreateMultipartUpload
12061
+ # * [CreateMultipartUpload][2]
11254
12062
  #
11255
- # * CompleteMultipartUpload
12063
+ # * [CompleteMultipartUpload][6]
11256
12064
  #
11257
- # * AbortMultipartUpload
12065
+ # * [AbortMultipartUpload][7]
11258
12066
  #
11259
- # * ListParts
12067
+ # * [ListParts][8]
11260
12068
  #
11261
- # * ListMultipartUploads
12069
+ # * [ListMultipartUploads][9]
11262
12070
  #
11263
12071
  #
11264
12072
  #
11265
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
11266
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11267
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
12073
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
12074
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12075
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
12076
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12077
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
12078
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12079
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12080
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
12081
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
11268
12082
  #
11269
12083
  # @option params [String, StringIO, File] :body
11270
12084
  # Object data.
@@ -11301,8 +12115,8 @@ module Aws::S3
11301
12115
  # encrypting data. This value is used to store the object and then it is
11302
12116
  # discarded; Amazon S3 does not store the encryption key. The key must
11303
12117
  # be appropriate for use with the algorithm specified in the
11304
- # `x-amz-server-side​-encryption​-customer-algorithm header`. This must
11305
- # be the same encryption key specified in the initiate multipart upload
12118
+ # `x-amz-server-side-encryption-customer-algorithm header`. This must be
12119
+ # the same encryption key specified in the initiate multipart upload
11306
12120
  # request.
11307
12121
  #
11308
12122
  # @option params [String] :sse_customer_key_md5
@@ -11321,6 +12135,11 @@ module Aws::S3
11321
12135
  #
11322
12136
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11323
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
+ #
11324
12143
  # @return [Types::UploadPartOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11325
12144
  #
11326
12145
  # * {Types::UploadPartOutput#server_side_encryption #server_side_encryption} => String
@@ -11363,6 +12182,7 @@ module Aws::S3
11363
12182
  # sse_customer_key: "SSECustomerKey",
11364
12183
  # sse_customer_key_md5: "SSECustomerKeyMD5",
11365
12184
  # request_payer: "requester", # accepts requester
12185
+ # expected_bucket_owner: "AccountId",
11366
12186
  # })
11367
12187
  #
11368
12188
  # @example Response structure
@@ -11393,7 +12213,7 @@ module Aws::S3
11393
12213
  # in the *Amazon Simple Storage Service Developer Guide*.
11394
12214
  #
11395
12215
  # <note markdown="1"> Instead of using an existing object as part data, you might use the
11396
- # UploadPart operation and provide data in your request.
12216
+ # [UploadPart][2] operation and provide data in your request.
11397
12217
  #
11398
12218
  # </note>
11399
12219
  #
@@ -11406,20 +12226,20 @@ module Aws::S3
11406
12226
  # the following:
11407
12227
  #
11408
12228
  # * For conceptual information about multipart uploads, see [Uploading
11409
- # Objects Using Multipart Upload][2] in the *Amazon Simple Storage
12229
+ # Objects Using Multipart Upload][3] in the *Amazon Simple Storage
11410
12230
  # Service Developer Guide*.
11411
12231
  #
11412
12232
  # * For information about permissions required to use the multipart
11413
- # upload API, see [Multipart Upload API and Permissions][3] in the
12233
+ # upload API, see [Multipart Upload API and Permissions][4] in the
11414
12234
  # *Amazon Simple Storage Service Developer Guide*.
11415
12235
  #
11416
12236
  # * For information about copying objects using a single atomic
11417
- # operation vs. the multipart upload, see [Operations on Objects][4]
12237
+ # operation vs. the multipart upload, see [Operations on Objects][5]
11418
12238
  # in the *Amazon Simple Storage Service Developer Guide*.
11419
12239
  #
11420
12240
  # * For information about using server-side encryption with
11421
12241
  # customer-provided encryption keys with the UploadPartCopy operation,
11422
- # see CopyObject and UploadPart.
12242
+ # see [CopyObject][6] and [UploadPart][2].
11423
12243
  #
11424
12244
  # Note the following additional considerations about the request headers
11425
12245
  # `x-amz-copy-source-if-match`, `x-amz-copy-source-if-none-match`,
@@ -11492,31 +12312,71 @@ module Aws::S3
11492
12312
  #
11493
12313
  # **Related Resources**
11494
12314
  #
11495
- # * CreateMultipartUpload
12315
+ # * [CreateMultipartUpload][7]
11496
12316
  #
11497
- # * UploadPart
12317
+ # * [UploadPart][2]
11498
12318
  #
11499
- # * CompleteMultipartUpload
12319
+ # * [CompleteMultipartUpload][8]
11500
12320
  #
11501
- # * AbortMultipartUpload
12321
+ # * [AbortMultipartUpload][9]
11502
12322
  #
11503
- # * ListParts
12323
+ # * [ListParts][10]
11504
12324
  #
11505
- # * ListMultipartUploads
12325
+ # * [ListMultipartUploads][11]
11506
12326
  #
11507
12327
  #
11508
12328
  #
11509
12329
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html
11510
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
11511
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11512
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
12330
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
12331
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
12332
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12333
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
12334
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
12335
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12336
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12337
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12338
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
12339
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
11513
12340
  #
11514
12341
  # @option params [required, String] :bucket
11515
12342
  # The bucket name.
11516
12343
  #
11517
12344
  # @option params [required, String] :copy_source
11518
- # The name of the source bucket and key name of the source object,
11519
- # 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
11520
12380
  #
11521
12381
  # @option params [String] :copy_source_if_match
11522
12382
  # Copies the object if its entity tag (ETag) matches the specified tag.
@@ -11558,8 +12418,8 @@ module Aws::S3
11558
12418
  # encrypting data. This value is used to store the object and then it is
11559
12419
  # discarded; Amazon S3 does not store the encryption key. The key must
11560
12420
  # be appropriate for use with the algorithm specified in the
11561
- # `x-amz-server-side​-encryption​-customer-algorithm` header. This must
11562
- # be the same encryption key specified in the initiate multipart upload
12421
+ # `x-amz-server-side-encryption-customer-algorithm` header. This must be
12422
+ # the same encryption key specified in the initiate multipart upload
11563
12423
  # request.
11564
12424
  #
11565
12425
  # @option params [String] :sse_customer_key_md5
@@ -11592,6 +12452,16 @@ module Aws::S3
11592
12452
  #
11593
12453
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11594
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
+ #
11595
12465
  # @return [Types::UploadPartCopyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11596
12466
  #
11597
12467
  # * {Types::UploadPartCopyOutput#copy_source_version_id #copy_source_version_id} => String
@@ -11665,6 +12535,8 @@ module Aws::S3
11665
12535
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
11666
12536
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
11667
12537
  # request_payer: "requester", # accepts requester
12538
+ # expected_bucket_owner: "AccountId",
12539
+ # expected_source_bucket_owner: "AccountId",
11668
12540
  # })
11669
12541
  #
11670
12542
  # @example Response structure
@@ -11700,7 +12572,7 @@ module Aws::S3
11700
12572
  params: params,
11701
12573
  config: config)
11702
12574
  context[:gem_name] = 'aws-sdk-s3'
11703
- context[:gem_version] = '1.79.1'
12575
+ context[:gem_version] = '1.80.0'
11704
12576
  Seahorse::Client::Request.new(handlers, context)
11705
12577
  end
11706
12578