@aws-sdk/client-s3 3.669.0 → 3.673.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.
@@ -27,87 +27,78 @@ declare const DeleteObjectCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Removes an object from a bucket. The behavior depends on the bucket's versioning state: </p>
31
- * <ul>
32
- * <li>
33
- * <p>If bucket versioning is not enabled, the operation permanently deletes the object.</p>
34
- * </li>
35
- * <li>
36
- * <p>If bucket versioning is enabled, the operation inserts a delete marker, which becomes the current version of the object. To permanently delete an object in a versioned bucket, you must include the object’s <code>versionId</code> in the request. For more information about versioning-enabled buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html">Deleting object versions from a versioning-enabled bucket</a>.</p>
37
- * </li>
38
- * <li>
39
- * <p>If bucket versioning is suspended, the operation removes the object that has a null <code>versionId</code>, if there is one, and inserts a delete marker that becomes the current version of the object. If there isn't an object with a null <code>versionId</code>, and all versions of the object have a <code>versionId</code>, Amazon S3 does not remove the object and only inserts a delete marker. To permanently delete an object that has a <code>versionId</code>, you must include the object’s <code>versionId</code> in the request. For more information about versioning-suspended buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html">Deleting objects from versioning-suspended buckets</a>.</p>
40
- * </li>
41
- * </ul>
30
+ * <p>Removes an object from a bucket. The behavior depends on the bucket's versioning state.
31
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html#DeletingObjects-best-practices">Best
32
+ * practices to consider before deleting an object</a>.</p>
33
+ * <p>To remove a specific version, you must use the <code>versionId</code> query parameter.
34
+ * Using this query parameter permanently deletes the version. If the object deleted is a
35
+ * delete marker, Amazon S3 sets the response header <code>x-amz-delete-marker</code> to true. If
36
+ * the object you want to delete is in a bucket where the bucket versioning configuration is
37
+ * MFA delete enabled, you must include the <code>x-amz-mfa</code> request header in the
38
+ * DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code> must
39
+ * use HTTPS. For more information about MFA delete and to see example requests, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using MFA
40
+ * delete</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
41
+ * request</a> in the <i>Amazon S3 User Guide</i>.</p>
42
42
  * <note>
43
43
  * <ul>
44
44
  * <li>
45
- * <p>
46
- * <b>Directory buckets</b> - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the <code>null</code> value of the version ID is supported by directory buckets. You can only specify <code>null</code>
47
- * to the <code>versionId</code> query parameter in the request.</p>
45
+ * <p>S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the <code>null</code> value of the version ID is supported by directory buckets. You can only specify <code>null</code> to the
46
+ * <code>versionId</code> query parameter in the request.</p>
48
47
  * </li>
49
48
  * <li>
50
- * <p>
51
- * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
49
+ * <p>For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
52
50
  * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
53
51
  * <i>Amazon S3 User Guide</i>.</p>
54
52
  * </li>
53
+ * <li>
54
+ * <p>MFA delete is not supported by directory buckets.</p>
55
+ * </li>
55
56
  * </ul>
56
57
  * </note>
57
- * <p>To remove a specific version, you must use the <code>versionId</code> query parameter. Using this
58
- * query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3
59
- * sets the response header <code>x-amz-delete-marker</code> to true. </p>
60
- * <p>If the object you want to delete is in a bucket where the bucket versioning
61
- * configuration is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request
62
- * header in the DELETE <code>versionId</code> request. Requests that include
63
- * <code>x-amz-mfa</code> must use HTTPS. For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using MFA Delete</a> in the <i>Amazon S3
64
- * User Guide</i>. To see sample
65
- * requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
66
- * Request</a>. </p>
67
- * <note>
68
- * <p>
69
- * <b>Directory buckets</b> - MFA delete is not supported by directory buckets.</p>
70
- * </note>
71
- * <p>You can delete objects by explicitly calling DELETE Object or calling
72
- * (<a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html">PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you. If you want to block
73
- * users or accounts from removing or deleting objects from your bucket, you must deny them
74
- * the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>, and
75
- * <code>s3:PutLifeCycleConfiguration</code> actions. </p>
76
- * <note>
77
- * <p>
78
- * <b>Directory buckets</b> - S3 Lifecycle is not supported by directory buckets.</p>
79
- * </note>
80
58
  * <dl>
81
59
  * <dt>Permissions</dt>
82
60
  * <dd>
83
61
  * <ul>
84
62
  * <li>
85
63
  * <p>
86
- * <b>General purpose bucket permissions</b> - The following permissions are required in your policies when your
87
- * <code>DeleteObjects</code> request includes specific headers.</p>
64
+ * <b>General purpose bucket permissions</b> - The
65
+ * following permissions are required in your policies when your
66
+ * <code>DeleteObjects</code> request includes specific headers.</p>
88
67
  * <ul>
89
68
  * <li>
90
69
  * <p>
91
70
  * <b>
92
71
  * <code>s3:DeleteObject</code>
93
- * </b> - To delete an object from a bucket, you must always have the <code>s3:DeleteObject</code> permission.</p>
72
+ * </b>
73
+ * - To delete an object from a bucket, you must always have the
74
+ * <code>s3:DeleteObject</code> permission.</p>
75
+ * <note>
76
+ * <p>You can also use <a>PutBucketLifecycle</a> to delete
77
+ * objects in Amazon S3.</p>
78
+ * </note>
94
79
  * </li>
95
80
  * <li>
96
81
  * <p>
97
82
  * <b>
98
83
  * <code>s3:DeleteObjectVersion</code>
99
- * </b> - To delete a specific version of an object from a versioning-enabled bucket, you must have the <code>s3:DeleteObjectVersion</code> permission.</p>
84
+ * </b> - To delete a specific version of an object from a
85
+ * versioning-enabled bucket, you must have the
86
+ * <code>s3:DeleteObjectVersion</code> permission.</p>
87
+ * </li>
88
+ * <li>
89
+ * <p>If you want to block users or accounts from removing or deleting
90
+ * objects from your bucket, you must deny them the
91
+ * <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
92
+ * and <code>s3:PutLifeCycleConfiguration</code> permissions.</p>
100
93
  * </li>
101
94
  * </ul>
102
95
  * </li>
103
96
  * <li>
104
97
  * <p>
105
- * <b>Directory bucket permissions</b> - To grant access to this API operation on a directory bucket, we recommend that you use the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html">
106
- * <code>CreateSession</code>
107
- * </a> API operation for session-based authorization. Specifically, you grant the <code>s3express:CreateSession</code> permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the <code>CreateSession</code> API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another <code>CreateSession</code> API call to generate a new session token for use.
108
- * Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html">
109
- * <code>CreateSession</code>
110
- * </a>.</p>
98
+ * <b>Directory buckets permissions</b> -
99
+ * To grant access to this API operation on a directory bucket, we recommend
100
+ * that you use the <a>CreateSession</a> API operation for
101
+ * session-based authorization.</p>
111
102
  * </li>
112
103
  * </ul>
113
104
  * </dd>
@@ -106,7 +106,7 @@ declare const GetBucketLifecycleConfigurationCommand_base: {
106
106
  * // },
107
107
  * // ID: "STRING_VALUE",
108
108
  * // Prefix: "STRING_VALUE",
109
- * // Filter: { // LifecycleRuleFilter Union: only one key present
109
+ * // Filter: { // LifecycleRuleFilter
110
110
  * // Prefix: "STRING_VALUE",
111
111
  * // Tag: { // Tag
112
112
  * // Key: "STRING_VALUE", // required
@@ -80,7 +80,7 @@ declare const GetBucketReplicationCommand_base: {
80
80
  * // ID: "STRING_VALUE",
81
81
  * // Priority: Number("int"),
82
82
  * // Prefix: "STRING_VALUE",
83
- * // Filter: { // ReplicationRuleFilter Union: only one key present
83
+ * // Filter: { // ReplicationRuleFilter
84
84
  * // Prefix: "STRING_VALUE",
85
85
  * // Tag: { // Tag
86
86
  * // Key: "STRING_VALUE", // required
@@ -43,6 +43,8 @@ declare const ListBucketsCommand_base: {
43
43
  * const input = { // ListBucketsRequest
44
44
  * MaxBuckets: Number("int"),
45
45
  * ContinuationToken: "STRING_VALUE",
46
+ * Prefix: "STRING_VALUE",
47
+ * BucketRegion: "STRING_VALUE",
46
48
  * };
47
49
  * const command = new ListBucketsCommand(input);
48
50
  * const response = await client.send(command);
@@ -51,6 +53,7 @@ declare const ListBucketsCommand_base: {
51
53
  * // { // Bucket
52
54
  * // Name: "STRING_VALUE",
53
55
  * // CreationDate: new Date("TIMESTAMP"),
56
+ * // BucketRegion: "STRING_VALUE",
54
57
  * // },
55
58
  * // ],
56
59
  * // Owner: { // Owner
@@ -58,6 +61,7 @@ declare const ListBucketsCommand_base: {
58
61
  * // ID: "STRING_VALUE",
59
62
  * // },
60
63
  * // ContinuationToken: "STRING_VALUE",
64
+ * // Prefix: "STRING_VALUE",
61
65
  * // };
62
66
  *
63
67
  * ```
@@ -63,6 +63,7 @@ declare const ListDirectoryBucketsCommand_base: {
63
63
  * // { // Bucket
64
64
  * // Name: "STRING_VALUE",
65
65
  * // CreationDate: new Date("TIMESTAMP"),
66
+ * // BucketRegion: "STRING_VALUE",
66
67
  * // },
67
68
  * // ],
68
69
  * // ContinuationToken: "STRING_VALUE",
@@ -73,7 +73,7 @@ declare const PutBucketEncryptionCommand_base: {
73
73
  * </li>
74
74
  * <li>
75
75
  * <p>Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
76
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
76
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
77
77
  * </p>
78
78
  * </li>
79
79
  * <li>
@@ -136,7 +136,7 @@ declare const PutBucketLifecycleConfigurationCommand_base: {
136
136
  * },
137
137
  * ID: "STRING_VALUE",
138
138
  * Prefix: "STRING_VALUE",
139
- * Filter: { // LifecycleRuleFilter Union: only one key present
139
+ * Filter: { // LifecycleRuleFilter
140
140
  * Prefix: "STRING_VALUE",
141
141
  * Tag: { // Tag
142
142
  * Key: "STRING_VALUE", // required
@@ -118,7 +118,7 @@ declare const PutBucketReplicationCommand_base: {
118
118
  * ID: "STRING_VALUE",
119
119
  * Priority: Number("int"),
120
120
  * Prefix: "STRING_VALUE",
121
- * Filter: { // ReplicationRuleFilter Union: only one key present
121
+ * Filter: { // ReplicationRuleFilter
122
122
  * Prefix: "STRING_VALUE",
123
123
  * Tag: { // Tag
124
124
  * Key: "STRING_VALUE", // required
@@ -30,10 +30,6 @@ declare const RestoreObjectCommand_base: {
30
30
  * <note>
31
31
  * <p>This operation is not supported by directory buckets.</p>
32
32
  * </note>
33
- * <important>
34
- * <p>The <code>SELECT</code> job type for the RestoreObject operation is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
35
- * </p>
36
- * </important>
37
33
  * <p>Restores an archived copy of an object back into Amazon S3</p>
38
34
  * <p>This functionality is not supported for Amazon S3 on Outposts.</p>
39
35
  * <p>This action performs the following types of requests: </p>
@@ -30,10 +30,6 @@ declare const SelectObjectContentCommand_base: {
30
30
  * <note>
31
31
  * <p>This operation is not supported by directory buckets.</p>
32
32
  * </note>
33
- * <important>
34
- * <p>The SelectObjectContent operation is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the operation as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
35
- * </p>
36
- * </important>
37
33
  * <p>This action filters the contents of an Amazon S3 object based on a simple structured query
38
34
  * language (SQL) statement. In the request, along with the SQL expression, you must also
39
35
  * specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses
@@ -1321,7 +1321,7 @@ export interface CopyObjectRequest {
1321
1321
  * </li>
1322
1322
  * <li>
1323
1323
  * <p>To encrypt new object copies to a directory bucket with SSE-KMS, we recommend you specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>).
1324
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS, you can't override the customer managed key for the bucket's SSE-KMS configuration.
1324
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS, you can't override the customer managed key for the bucket's SSE-KMS configuration.
1325
1325
  * Then, when you perform a <code>CopyObject</code> operation and want to specify server-side encryption settings for new object copies with SSE-KMS in the encryption-related request headers, you must ensure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration.
1326
1326
  * </p>
1327
1327
  * </li>
@@ -1427,10 +1427,13 @@ export interface CopyObjectRequest {
1427
1427
  * Signature Version in Request Authentication</a> in the
1428
1428
  * <i>Amazon S3 User Guide</i>.</p>
1429
1429
  * <p>
1430
- * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code>
1431
- * x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS
1432
- * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
1433
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
1430
+ * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, the <code>
1431
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header is implicitly assigned the ID of the KMS
1432
+ * symmetric encryption customer managed key that's configured for your directory bucket's default encryption setting.
1433
+ * If you want to specify the <code>
1434
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header explicitly, you can only specify it with the ID (Key ID or Key ARN) of the KMS
1435
+ * customer managed key that's configured for your directory bucket's default encryption setting. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
1436
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
1434
1437
  * </p>
1435
1438
  * @public
1436
1439
  */
@@ -2526,10 +2529,13 @@ export interface CreateMultipartUploadRequest {
2526
2529
  * <code>x-amz-server-side-encryption:aws:kms:dsse</code>, but do not provide <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon Web Services managed key
2527
2530
  * (<code>aws/s3</code>) to protect the data.</p>
2528
2531
  * <p>
2529
- * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code>
2530
- * x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS
2531
- * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
2532
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2532
+ * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, the <code>
2533
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header is implicitly assigned the ID of the KMS
2534
+ * symmetric encryption customer managed key that's configured for your directory bucket's default encryption setting.
2535
+ * If you want to specify the <code>
2536
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header explicitly, you can only specify it with the ID (Key ID or Key ARN) of the KMS
2537
+ * customer managed key that's configured for your directory bucket's default encryption setting. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
2538
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2533
2539
  * </p>
2534
2540
  * @public
2535
2541
  */
@@ -2732,7 +2738,7 @@ export interface CreateSessionRequest {
2732
2738
  * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Also, if the KMS key doesn't exist in the same
2733
2739
  * account that't issuing the command, you must use the full Key ARN not the Key ID. </p>
2734
2740
  * <p>Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
2735
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2741
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2736
2742
  * </p>
2737
2743
  * @public
2738
2744
  */
@@ -5759,7 +5765,7 @@ export interface GetBucketCorsRequest {
5759
5765
  * <li>
5760
5766
  * <p>
5761
5767
  * <b>Directory buckets</b> - Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
5762
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
5768
+ * The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
5763
5769
  * </p>
5764
5770
  * </li>
5765
5771
  * <li>
@@ -6407,11 +6413,7 @@ export interface LifecycleRuleAndOperator {
6407
6413
  * <code>And</code> specified. If the <code>Filter</code> element is left empty, the Lifecycle Rule applies to all objects in the bucket.</p>
6408
6414
  * @public
6409
6415
  */
6410
- export type LifecycleRuleFilter = LifecycleRuleFilter.AndMember | LifecycleRuleFilter.ObjectSizeGreaterThanMember | LifecycleRuleFilter.ObjectSizeLessThanMember | LifecycleRuleFilter.PrefixMember | LifecycleRuleFilter.TagMember | LifecycleRuleFilter.$UnknownMember;
6411
- /**
6412
- * @public
6413
- */
6414
- export declare namespace LifecycleRuleFilter {
6416
+ export interface LifecycleRuleFilter {
6415
6417
  /**
6416
6418
  * <p>Prefix identifying one or more objects to which the rule applies.</p>
6417
6419
  * <important>
@@ -6421,84 +6423,29 @@ export declare namespace LifecycleRuleFilter {
6421
6423
  * </important>
6422
6424
  * @public
6423
6425
  */
6424
- interface PrefixMember {
6425
- Prefix: string;
6426
- Tag?: never;
6427
- ObjectSizeGreaterThan?: never;
6428
- ObjectSizeLessThan?: never;
6429
- And?: never;
6430
- $unknown?: never;
6431
- }
6426
+ Prefix?: string;
6432
6427
  /**
6433
6428
  * <p>This tag must exist in the object's tag set in order for the rule to apply.</p>
6434
6429
  * @public
6435
6430
  */
6436
- interface TagMember {
6437
- Prefix?: never;
6438
- Tag: Tag;
6439
- ObjectSizeGreaterThan?: never;
6440
- ObjectSizeLessThan?: never;
6441
- And?: never;
6442
- $unknown?: never;
6443
- }
6431
+ Tag?: Tag;
6444
6432
  /**
6445
6433
  * <p>Minimum object size to which the rule applies.</p>
6446
6434
  * @public
6447
6435
  */
6448
- interface ObjectSizeGreaterThanMember {
6449
- Prefix?: never;
6450
- Tag?: never;
6451
- ObjectSizeGreaterThan: number;
6452
- ObjectSizeLessThan?: never;
6453
- And?: never;
6454
- $unknown?: never;
6455
- }
6436
+ ObjectSizeGreaterThan?: number;
6456
6437
  /**
6457
6438
  * <p>Maximum object size to which the rule applies.</p>
6458
6439
  * @public
6459
6440
  */
6460
- interface ObjectSizeLessThanMember {
6461
- Prefix?: never;
6462
- Tag?: never;
6463
- ObjectSizeGreaterThan?: never;
6464
- ObjectSizeLessThan: number;
6465
- And?: never;
6466
- $unknown?: never;
6467
- }
6441
+ ObjectSizeLessThan?: number;
6468
6442
  /**
6469
6443
  * <p>This is used in a Lifecycle Rule Filter to apply a logical AND to two or more
6470
6444
  * predicates. The Lifecycle Rule will apply to any object matching all of the predicates
6471
6445
  * configured inside the And operator.</p>
6472
6446
  * @public
6473
6447
  */
6474
- interface AndMember {
6475
- Prefix?: never;
6476
- Tag?: never;
6477
- ObjectSizeGreaterThan?: never;
6478
- ObjectSizeLessThan?: never;
6479
- And: LifecycleRuleAndOperator;
6480
- $unknown?: never;
6481
- }
6482
- /**
6483
- * @public
6484
- */
6485
- interface $UnknownMember {
6486
- Prefix?: never;
6487
- Tag?: never;
6488
- ObjectSizeGreaterThan?: never;
6489
- ObjectSizeLessThan?: never;
6490
- And?: never;
6491
- $unknown: [string, any];
6492
- }
6493
- interface Visitor<T> {
6494
- Prefix: (value: string) => T;
6495
- Tag: (value: Tag) => T;
6496
- ObjectSizeGreaterThan: (value: number) => T;
6497
- ObjectSizeLessThan: (value: number) => T;
6498
- And: (value: LifecycleRuleAndOperator) => T;
6499
- _: (name: string, value: any) => T;
6500
- }
6501
- const visit: <T>(value: LifecycleRuleFilter, visitor: Visitor<T>) => T;
6448
+ And?: LifecycleRuleAndOperator;
6502
6449
  }
6503
6450
  /**
6504
6451
  * <p>Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently
@@ -7757,11 +7704,7 @@ export interface ReplicationRuleAndOperator {
7757
7704
  * an <code>And</code> child element.</p>
7758
7705
  * @public
7759
7706
  */
7760
- export type ReplicationRuleFilter = ReplicationRuleFilter.AndMember | ReplicationRuleFilter.PrefixMember | ReplicationRuleFilter.TagMember | ReplicationRuleFilter.$UnknownMember;
7761
- /**
7762
- * @public
7763
- */
7764
- export declare namespace ReplicationRuleFilter {
7707
+ export interface ReplicationRuleFilter {
7765
7708
  /**
7766
7709
  * <p>An object key name prefix that identifies the subset of objects to which the rule
7767
7710
  * applies.</p>
@@ -7772,23 +7715,13 @@ export declare namespace ReplicationRuleFilter {
7772
7715
  * </important>
7773
7716
  * @public
7774
7717
  */
7775
- interface PrefixMember {
7776
- Prefix: string;
7777
- Tag?: never;
7778
- And?: never;
7779
- $unknown?: never;
7780
- }
7718
+ Prefix?: string;
7781
7719
  /**
7782
7720
  * <p>A container for specifying a tag key and value. </p>
7783
7721
  * <p>The rule applies only to objects that have the tag in their tag set.</p>
7784
7722
  * @public
7785
7723
  */
7786
- interface TagMember {
7787
- Prefix?: never;
7788
- Tag: Tag;
7789
- And?: never;
7790
- $unknown?: never;
7791
- }
7724
+ Tag?: Tag;
7792
7725
  /**
7793
7726
  * <p>A container for specifying rule filters. The filters determine the subset of objects to
7794
7727
  * which the rule applies. This element is required only if you specify more than one filter.
@@ -7805,28 +7738,7 @@ export declare namespace ReplicationRuleFilter {
7805
7738
  * </ul>
7806
7739
  * @public
7807
7740
  */
7808
- interface AndMember {
7809
- Prefix?: never;
7810
- Tag?: never;
7811
- And: ReplicationRuleAndOperator;
7812
- $unknown?: never;
7813
- }
7814
- /**
7815
- * @public
7816
- */
7817
- interface $UnknownMember {
7818
- Prefix?: never;
7819
- Tag?: never;
7820
- And?: never;
7821
- $unknown: [string, any];
7822
- }
7823
- interface Visitor<T> {
7824
- Prefix: (value: string) => T;
7825
- Tag: (value: Tag) => T;
7826
- And: (value: ReplicationRuleAndOperator) => T;
7827
- _: (name: string, value: any) => T;
7828
- }
7829
- const visit: <T>(value: ReplicationRuleFilter, visitor: Visitor<T>) => T;
7741
+ And?: ReplicationRuleAndOperator;
7830
7742
  }
7831
7743
  /**
7832
7744
  * @public
@@ -9830,7 +9742,7 @@ export interface PublicAccessBlockConfiguration {
9830
9742
  BlockPublicPolicy?: boolean;
9831
9743
  /**
9832
9744
  * <p>Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting
9833
- * this element to <code>TRUE</code> restricts access to this bucket to only Amazon Web Servicesservice principals and authorized users within this account if the bucket has
9745
+ * this element to <code>TRUE</code> restricts access to this bucket to only Amazon Web Services service principals and authorized users within this account if the bucket has
9834
9746
  * a public policy.</p>
9835
9747
  * <p>Enabling this setting doesn't affect previously stored bucket policies, except that
9836
9748
  * public and cross-account access within any public bucket policy, including non-public
@@ -10748,6 +10660,12 @@ export interface Bucket {
10748
10660
  * @public
10749
10661
  */
10750
10662
  CreationDate?: Date;
10663
+ /**
10664
+ * <p>
10665
+ * <code>BucketRegion</code> indicates the Amazon Web Services region where the bucket is located. If the request contains at least one valid parameter, it is included in the response.</p>
10666
+ * @public
10667
+ */
10668
+ BucketRegion?: string;
10751
10669
  }
10752
10670
  /**
10753
10671
  * @public
@@ -10770,6 +10688,12 @@ export interface ListBucketsOutput {
10770
10688
  * @public
10771
10689
  */
10772
10690
  ContinuationToken?: string;
10691
+ /**
10692
+ * <p>If <code>Prefix</code> was sent with the request, it is included in the response.</p>
10693
+ * <p>All bucket names in the response begin with the specified bucket name prefix.</p>
10694
+ * @public
10695
+ */
10696
+ Prefix?: string;
10773
10697
  }
10774
10698
  /**
10775
10699
  * @public
@@ -10790,6 +10714,19 @@ export interface ListBucketsRequest {
10790
10714
  * @public
10791
10715
  */
10792
10716
  ContinuationToken?: string;
10717
+ /**
10718
+ * <p>Limits the response to bucket names that begin with the specified bucket name prefix.</p>
10719
+ * @public
10720
+ */
10721
+ Prefix?: string;
10722
+ /**
10723
+ * <p>Limits the response to buckets that are located in the specified Amazon Web Services Region. The Amazon Web Services Region must be expressed according to the Amazon Web Services Region code, such as <code>us-west-2</code> for the US West (Oregon) Region. For a list of the valid values for all of the Amazon Web Services Regions, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a>.</p>
10724
+ * <note>
10725
+ * <p>Requests made to a Regional endpoint that is different from the <code>bucket-region</code> parameter are not supported. For example, if you want to limit the response to your buckets in Region <code>us-west-2</code>, the request must be made to an endpoint in Region <code>us-west-2</code>.</p>
10726
+ * </note>
10727
+ * @public
10728
+ */
10729
+ BucketRegion?: string;
10793
10730
  }
10794
10731
  /**
10795
10732
  * @public