@aws-sdk/client-s3 3.42.0 → 3.46.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist-cjs/endpoints.js +13 -0
  3. package/dist-cjs/models/models_0.js +18 -10
  4. package/dist-cjs/models/models_1.js +7 -1
  5. package/dist-cjs/protocols/Aws_restXml.js +82 -0
  6. package/dist-cjs/runtimeConfig.js +0 -2
  7. package/dist-es/endpoints.js +13 -0
  8. package/dist-es/models/models_0.js +12 -4
  9. package/dist-es/models/models_1.js +4 -0
  10. package/dist-es/protocols/Aws_restXml.js +83 -3
  11. package/dist-es/runtimeConfig.js +0 -2
  12. package/dist-types/S3.d.ts +126 -39
  13. package/dist-types/commands/CompleteMultipartUploadCommand.d.ts +4 -0
  14. package/dist-types/commands/CopyObjectCommand.d.ts +11 -1
  15. package/dist-types/commands/CreateBucketCommand.d.ts +39 -11
  16. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  17. package/dist-types/commands/GetBucketAclCommand.d.ts +7 -0
  18. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  19. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +3 -3
  20. package/dist-types/commands/GetObjectAclCommand.d.ts +7 -1
  21. package/dist-types/commands/GetObjectCommand.d.ts +7 -4
  22. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +2 -2
  23. package/dist-types/commands/PutBucketAclCommand.d.ts +7 -1
  24. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  25. package/dist-types/commands/PutBucketLoggingCommand.d.ts +8 -3
  26. package/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -2
  27. package/dist-types/commands/PutObjectAclCommand.d.ts +7 -2
  28. package/dist-types/commands/PutObjectCommand.d.ts +14 -2
  29. package/dist-types/commands/SelectObjectContentCommand.d.ts +2 -1
  30. package/dist-types/models/models_0.d.ts +118 -35
  31. package/dist-types/models/models_1.d.ts +16 -1
  32. package/dist-types/ts3.4/models/models_0.d.ts +55 -15
  33. package/dist-types/ts3.4/models/models_1.d.ts +10 -1
  34. package/package.json +49 -55
@@ -326,6 +326,8 @@ export declare namespace CompletedPart {
326
326
  export interface CompletedMultipartUpload {
327
327
  /**
328
328
  * <p>Array of CompletedPart data types.</p>
329
+ * <p>If you do not supply a valid <code>Part</code> with your request, the service sends back an HTTP
330
+ * 400 response.</p>
329
331
  */
330
332
  Parts?: CompletedPart[];
331
333
  }
@@ -457,7 +459,7 @@ export declare type ObjectCannedACL = "authenticated-read" | "aws-exec-read" | "
457
459
  export declare type MetadataDirective = "COPY" | "REPLACE";
458
460
  export declare type ObjectLockLegalHoldStatus = "OFF" | "ON";
459
461
  export declare type ObjectLockMode = "COMPLIANCE" | "GOVERNANCE";
460
- export declare type StorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
462
+ export declare type StorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
461
463
  export declare type TaggingDirective = "COPY" | "REPLACE";
462
464
  export interface CopyObjectRequest {
463
465
  /**
@@ -774,6 +776,7 @@ export declare namespace CreateBucketConfiguration {
774
776
  */
775
777
  const filterSensitiveLog: (obj: CreateBucketConfiguration) => any;
776
778
  }
779
+ export declare type ObjectOwnership = "BucketOwnerEnforced" | "BucketOwnerPreferred" | "ObjectWriter";
777
780
  export interface CreateBucketRequest {
778
781
  /**
779
782
  * <p>The canned ACL to apply to the bucket.</p>
@@ -813,6 +816,20 @@ export interface CreateBucketRequest {
813
816
  * <p>Specifies whether you want S3 Object Lock to be enabled for the new bucket.</p>
814
817
  */
815
818
  ObjectLockEnabledForBucket?: boolean;
819
+ /**
820
+ * <p>The container element for object ownership for a bucket's ownership controls.</p>
821
+ * <p>BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket
822
+ * owner if the objects are uploaded with the <code>bucket-owner-full-control</code> canned
823
+ * ACL.</p>
824
+ * <p>ObjectWriter - The uploading account will own the object if the object is uploaded with
825
+ * the <code>bucket-owner-full-control</code> canned ACL.</p>
826
+ * <p>BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer affect permissions.
827
+ * The bucket owner automatically owns and has full control over every object in the bucket. The bucket only
828
+ * accepts PUT requests that don't specify an ACL or bucket owner full control
829
+ * ACLs, such as the <code>bucket-owner-full-control</code> canned
830
+ * ACL or an equivalent form of this ACL expressed in the XML format.</p>
831
+ */
832
+ ObjectOwnership?: ObjectOwnership | string;
816
833
  }
817
834
  export declare namespace CreateBucketRequest {
818
835
  /**
@@ -3847,7 +3864,9 @@ export declare namespace GetBucketCorsRequest {
3847
3864
  /**
3848
3865
  * <p>Describes the default server-side encryption to apply to new objects in the bucket. If a
3849
3866
  * PUT Object request doesn't specify any server-side encryption, this default encryption will
3850
- * be applied. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT Bucket encryption</a> in
3867
+ * be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates
3868
+ * an Amazon Web Services KMS key in your Amazon Web Services account the first time that you add an object encrypted with
3869
+ * SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT Bucket encryption</a> in
3851
3870
  * the <i>Amazon S3 API Reference</i>.</p>
3852
3871
  */
3853
3872
  export interface ServerSideEncryptionByDefault {
@@ -3859,9 +3878,9 @@ export interface ServerSideEncryptionByDefault {
3859
3878
  * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default
3860
3879
  * encryption. This parameter is allowed if and only if <code>SSEAlgorithm</code> is set to
3861
3880
  * <code>aws:kms</code>.</p>
3862
- * <p>You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you
3863
- * are using encryption with cross-account operations, you must use a fully qualified KMS key ARN.
3864
- * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using encryption for cross-account operations</a>. </p>
3881
+ * <p>You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if
3882
+ * you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS
3883
+ * key ARN. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using encryption for cross-account operations</a>. </p>
3865
3884
  * <p>
3866
3885
  * <b>For example:</b>
3867
3886
  * </p>
@@ -4362,6 +4381,14 @@ export interface LifecycleRuleAndOperator {
4362
4381
  * apply.</p>
4363
4382
  */
4364
4383
  Tags?: Tag[];
4384
+ /**
4385
+ * <p>Minimum object size to which the rule applies.</p>
4386
+ */
4387
+ ObjectSizeGreaterThan?: number;
4388
+ /**
4389
+ * <p>Maximum object size to which the rule applies.</p>
4390
+ */
4391
+ ObjectSizeLessThan?: number;
4365
4392
  }
4366
4393
  export declare namespace LifecycleRuleAndOperator {
4367
4394
  /**
@@ -4374,7 +4401,7 @@ export declare namespace LifecycleRuleAndOperator {
4374
4401
  * <code>Filter</code> must have exactly one of <code>Prefix</code>, <code>Tag</code>, or
4375
4402
  * <code>And</code> specified.</p>
4376
4403
  */
4377
- export declare type LifecycleRuleFilter = LifecycleRuleFilter.AndMember | LifecycleRuleFilter.PrefixMember | LifecycleRuleFilter.TagMember | LifecycleRuleFilter.$UnknownMember;
4404
+ export declare type LifecycleRuleFilter = LifecycleRuleFilter.AndMember | LifecycleRuleFilter.ObjectSizeGreaterThanMember | LifecycleRuleFilter.ObjectSizeLessThanMember | LifecycleRuleFilter.PrefixMember | LifecycleRuleFilter.TagMember | LifecycleRuleFilter.$UnknownMember;
4378
4405
  export declare namespace LifecycleRuleFilter {
4379
4406
  /**
4380
4407
  * <p>Prefix identifying one or more objects to which the rule applies.</p>
@@ -4387,6 +4414,8 @@ export declare namespace LifecycleRuleFilter {
4387
4414
  interface PrefixMember {
4388
4415
  Prefix: string;
4389
4416
  Tag?: never;
4417
+ ObjectSizeGreaterThan?: never;
4418
+ ObjectSizeLessThan?: never;
4390
4419
  And?: never;
4391
4420
  $unknown?: never;
4392
4421
  }
@@ -4396,6 +4425,30 @@ export declare namespace LifecycleRuleFilter {
4396
4425
  interface TagMember {
4397
4426
  Prefix?: never;
4398
4427
  Tag: Tag;
4428
+ ObjectSizeGreaterThan?: never;
4429
+ ObjectSizeLessThan?: never;
4430
+ And?: never;
4431
+ $unknown?: never;
4432
+ }
4433
+ /**
4434
+ * <p>Minimum object size to which the rule applies.</p>
4435
+ */
4436
+ interface ObjectSizeGreaterThanMember {
4437
+ Prefix?: never;
4438
+ Tag?: never;
4439
+ ObjectSizeGreaterThan: number;
4440
+ ObjectSizeLessThan?: never;
4441
+ And?: never;
4442
+ $unknown?: never;
4443
+ }
4444
+ /**
4445
+ * <p>Maximum object size to which the rule applies.</p>
4446
+ */
4447
+ interface ObjectSizeLessThanMember {
4448
+ Prefix?: never;
4449
+ Tag?: never;
4450
+ ObjectSizeGreaterThan?: never;
4451
+ ObjectSizeLessThan: number;
4399
4452
  And?: never;
4400
4453
  $unknown?: never;
4401
4454
  }
@@ -4407,18 +4460,24 @@ export declare namespace LifecycleRuleFilter {
4407
4460
  interface AndMember {
4408
4461
  Prefix?: never;
4409
4462
  Tag?: never;
4463
+ ObjectSizeGreaterThan?: never;
4464
+ ObjectSizeLessThan?: never;
4410
4465
  And: LifecycleRuleAndOperator;
4411
4466
  $unknown?: never;
4412
4467
  }
4413
4468
  interface $UnknownMember {
4414
4469
  Prefix?: never;
4415
4470
  Tag?: never;
4471
+ ObjectSizeGreaterThan?: never;
4472
+ ObjectSizeLessThan?: never;
4416
4473
  And?: never;
4417
4474
  $unknown: [string, any];
4418
4475
  }
4419
4476
  interface Visitor<T> {
4420
4477
  Prefix: (value: string) => T;
4421
4478
  Tag: (value: Tag) => T;
4479
+ ObjectSizeGreaterThan: (value: number) => T;
4480
+ ObjectSizeLessThan: (value: number) => T;
4422
4481
  And: (value: LifecycleRuleAndOperator) => T;
4423
4482
  _: (name: string, value: any) => T;
4424
4483
  }
@@ -4441,6 +4500,13 @@ export interface NoncurrentVersionExpiration {
4441
4500
  * Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 User Guide</i>.</p>
4442
4501
  */
4443
4502
  NoncurrentDays?: number;
4503
+ /**
4504
+ * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent
4505
+ * noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent
4506
+ * versions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle configuration elements</a>
4507
+ * in the <i>Amazon S3 User Guide</i>.</p>
4508
+ */
4509
+ NewerNoncurrentVersions?: number;
4444
4510
  }
4445
4511
  export declare namespace NoncurrentVersionExpiration {
4446
4512
  /**
@@ -4448,14 +4514,14 @@ export declare namespace NoncurrentVersionExpiration {
4448
4514
  */
4449
4515
  const filterSensitiveLog: (obj: NoncurrentVersionExpiration) => any;
4450
4516
  }
4451
- export declare type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "STANDARD_IA";
4517
+ export declare type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "STANDARD_IA";
4452
4518
  /**
4453
4519
  * <p>Container for the transition rule that describes when noncurrent objects transition to
4454
4520
  * the <code>STANDARD_IA</code>, <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>,
4455
- * <code>GLACIER</code>, or <code>DEEP_ARCHIVE</code> storage class. If your bucket is
4521
+ * <code>GLACIER_IR</code>, <code>GLACIER</code>, or <code>DEEP_ARCHIVE</code> storage class. If your bucket is
4456
4522
  * versioning-enabled (or versioning is suspended), you can set this action to request that
4457
4523
  * Amazon S3 transition noncurrent object versions to the <code>STANDARD_IA</code>,
4458
- * <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER</code>, or
4524
+ * <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER_IR</code>, <code>GLACIER</code>, or
4459
4525
  * <code>DEEP_ARCHIVE</code> storage class at a specific period in the object's
4460
4526
  * lifetime.</p>
4461
4527
  */
@@ -4471,6 +4537,13 @@ export interface NoncurrentVersionTransition {
4471
4537
  * <p>The class of storage used to store the object.</p>
4472
4538
  */
4473
4539
  StorageClass?: TransitionStorageClass | string;
4540
+ /**
4541
+ * <p>Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent
4542
+ * noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent
4543
+ * versions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html">Lifecycle configuration elements</a>
4544
+ * in the <i>Amazon S3 User Guide</i>.</p>
4545
+ */
4546
+ NewerNoncurrentVersions?: number;
4474
4547
  }
4475
4548
  export declare namespace NoncurrentVersionTransition {
4476
4549
  /**
@@ -4642,6 +4715,9 @@ export declare namespace GetBucketLocationRequest {
4642
4715
  export declare type BucketLogsPermission = "FULL_CONTROL" | "READ" | "WRITE";
4643
4716
  /**
4644
4717
  * <p>Container for granting information.</p>
4718
+ * <p>Buckets that use the bucket owner enforced setting for Object
4719
+ * Ownership don't support target grants. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions server access log delivery</a> in the
4720
+ * <i>Amazon S3 User Guide</i>.</p>
4645
4721
  */
4646
4722
  export interface TargetGrant {
4647
4723
  /**
@@ -4675,6 +4751,9 @@ export interface LoggingEnabled {
4675
4751
  TargetBucket: string | undefined;
4676
4752
  /**
4677
4753
  * <p>Container for granting information.</p>
4754
+ * <p>Buckets that use the bucket owner enforced setting for Object
4755
+ * Ownership don't support target grants. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions for server access log delivery</a> in the
4756
+ * <i>Amazon S3 User Guide</i>.</p>
4678
4757
  */
4679
4758
  TargetGrants?: TargetGrant[];
4680
4759
  /**
@@ -4893,7 +4972,18 @@ export declare namespace GetBucketNotificationConfigurationRequest {
4893
4972
  */
4894
4973
  const filterSensitiveLog: (obj: GetBucketNotificationConfigurationRequest) => any;
4895
4974
  }
4896
- export declare type Event = "s3:ObjectCreated:*" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Put" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Post" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationReplicatedAfterThreshold";
4975
+ /**
4976
+ * <p>A container for specifying the configuration for Amazon EventBridge.</p>
4977
+ */
4978
+ export interface EventBridgeConfiguration {
4979
+ }
4980
+ export declare namespace EventBridgeConfiguration {
4981
+ /**
4982
+ * @internal
4983
+ */
4984
+ const filterSensitiveLog: (obj: EventBridgeConfiguration) => any;
4985
+ }
4986
+ export declare type Event = "s3:IntelligentTiering" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:LifecycleTransition" | "s3:ObjectAcl:Put" | "s3:ObjectCreated:*" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Put" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Delete" | "s3:ObjectRestore:Post" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Delete" | "s3:ObjectTagging:Put" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationReplicatedAfterThreshold";
4897
4987
  export declare type FilterRuleName = "prefix" | "suffix";
4898
4988
  /**
4899
4989
  * <p>Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or
@@ -5070,6 +5160,10 @@ export interface NotificationConfiguration {
5070
5160
  * them.</p>
5071
5161
  */
5072
5162
  LambdaFunctionConfigurations?: LambdaFunctionConfiguration[];
5163
+ /**
5164
+ * <p>Enables delivery of events to Amazon EventBridge.</p>
5165
+ */
5166
+ EventBridgeConfiguration?: EventBridgeConfiguration;
5073
5167
  }
5074
5168
  export declare namespace NotificationConfiguration {
5075
5169
  /**
@@ -5077,7 +5171,6 @@ export declare namespace NotificationConfiguration {
5077
5171
  */
5078
5172
  const filterSensitiveLog: (obj: NotificationConfiguration) => any;
5079
5173
  }
5080
- export declare type ObjectOwnership = "BucketOwnerPreferred" | "ObjectWriter";
5081
5174
  /**
5082
5175
  * <p>The container element for an ownership control rule.</p>
5083
5176
  */
@@ -5089,6 +5182,11 @@ export interface OwnershipControlsRule {
5089
5182
  * ACL.</p>
5090
5183
  * <p>ObjectWriter - The uploading account will own the object if the object is uploaded with
5091
5184
  * the <code>bucket-owner-full-control</code> canned ACL.</p>
5185
+ * <p>BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer affect permissions.
5186
+ * The bucket owner automatically owns and has full control over every object in the bucket. The bucket only
5187
+ * accepts PUT requests that don't specify an ACL or bucket owner full control
5188
+ * ACLs, such as the <code>bucket-owner-full-control</code> canned
5189
+ * ACL or an equivalent form of this ACL expressed in the XML format.</p>
5092
5190
  */
5093
5191
  ObjectOwnership: ObjectOwnership | string | undefined;
5094
5192
  }
@@ -5115,7 +5213,7 @@ export declare namespace OwnershipControls {
5115
5213
  }
5116
5214
  export interface GetBucketOwnershipControlsOutput {
5117
5215
  /**
5118
- * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) currently in
5216
+ * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) currently in
5119
5217
  * effect for this Amazon S3 bucket.</p>
5120
5218
  */
5121
5219
  OwnershipControls?: OwnershipControls;
@@ -7104,12 +7202,8 @@ export interface HeadObjectRequest {
7104
7202
  */
7105
7203
  Key: string | undefined;
7106
7204
  /**
7107
- * <p>Downloads the specified range bytes of an object. For more information about the HTTP
7108
- * Range header, see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35</a>.</p>
7109
- * <note>
7110
- * <p>Amazon S3 doesn't support retrieving multiple ranges of data per <code>GET</code>
7111
- * request.</p>
7112
- * </note>
7205
+ * <p>Because <code>HeadObject</code> returns only the metadata for an object, this parameter
7206
+ * has no effect.</p>
7113
7207
  */
7114
7208
  Range?: string;
7115
7209
  /**
@@ -7620,7 +7714,7 @@ export declare namespace ListMultipartUploadsRequest {
7620
7714
  */
7621
7715
  const filterSensitiveLog: (obj: ListMultipartUploadsRequest) => any;
7622
7716
  }
7623
- export declare type ObjectStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
7717
+ export declare type ObjectStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
7624
7718
  /**
7625
7719
  * <p>An object consists of data and its descriptive metadata.</p>
7626
7720
  */
@@ -8700,6 +8794,10 @@ export interface PutBucketNotificationConfigurationRequest {
8700
8794
  * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP <code>403 (Access Denied)</code> error.</p>
8701
8795
  */
8702
8796
  ExpectedBucketOwner?: string;
8797
+ /**
8798
+ * <p>Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or false value.</p>
8799
+ */
8800
+ SkipDestinationValidation?: boolean;
8703
8801
  }
8704
8802
  export declare namespace PutBucketNotificationConfigurationRequest {
8705
8803
  /**
@@ -8724,7 +8822,7 @@ export interface PutBucketOwnershipControlsRequest {
8724
8822
  */
8725
8823
  ExpectedBucketOwner?: string;
8726
8824
  /**
8727
- * <p>The <code>OwnershipControls</code> (BucketOwnerPreferred or ObjectWriter) that you want
8825
+ * <p>The <code>OwnershipControls</code> (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) that you want
8728
8826
  * to apply to this Amazon S3 bucket.</p>
8729
8827
  */
8730
8828
  OwnershipControls: OwnershipControls | undefined;
@@ -9660,18 +9758,3 @@ export declare namespace RestoreObjectOutput {
9660
9758
  const filterSensitiveLog: (obj: RestoreObjectOutput) => any;
9661
9759
  }
9662
9760
  export declare type Tier = "Bulk" | "Expedited" | "Standard";
9663
- /**
9664
- * <p>Container for S3 Glacier job parameters.</p>
9665
- */
9666
- export interface GlacierJobParameters {
9667
- /**
9668
- * <p>Retrieval tier at which the restore will be processed.</p>
9669
- */
9670
- Tier: Tier | string | undefined;
9671
- }
9672
- export declare namespace GlacierJobParameters {
9673
- /**
9674
- * @internal
9675
- */
9676
- const filterSensitiveLog: (obj: GlacierJobParameters) => any;
9677
- }
@@ -1,6 +1,21 @@
1
1
  /// <reference types="node" />
2
2
  import { Readable } from "stream";
3
- import { GlacierJobParameters, Grant, ObjectCannedACL, ObjectLockLegalHoldStatus, ObjectLockMode, ReplicationStatus, RequestCharged, RequestPayer, ServerSideEncryption, StorageClass, Tagging, Tier } from "./models_0";
3
+ import { Grant, ObjectCannedACL, ObjectLockLegalHoldStatus, ObjectLockMode, ReplicationStatus, RequestCharged, RequestPayer, ServerSideEncryption, StorageClass, Tagging, Tier } from "./models_0";
4
+ /**
5
+ * <p>Container for S3 Glacier job parameters.</p>
6
+ */
7
+ export interface GlacierJobParameters {
8
+ /**
9
+ * <p>Retrieval tier at which the restore will be processed.</p>
10
+ */
11
+ Tier: Tier | string | undefined;
12
+ }
13
+ export declare namespace GlacierJobParameters {
14
+ /**
15
+ * @internal
16
+ */
17
+ const filterSensitiveLog: (obj: GlacierJobParameters) => any;
18
+ }
4
19
  /**
5
20
  * <p>Contains the type of server-side encryption used.</p>
6
21
  */
@@ -225,7 +225,7 @@ export declare type ObjectCannedACL = "authenticated-read" | "aws-exec-read" | "
225
225
  export declare type MetadataDirective = "COPY" | "REPLACE";
226
226
  export declare type ObjectLockLegalHoldStatus = "OFF" | "ON";
227
227
  export declare type ObjectLockMode = "COMPLIANCE" | "GOVERNANCE";
228
- export declare type StorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
228
+ export declare type StorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
229
229
  export declare type TaggingDirective = "COPY" | "REPLACE";
230
230
  export interface CopyObjectRequest {
231
231
 
@@ -361,6 +361,7 @@ export declare namespace CreateBucketConfiguration {
361
361
 
362
362
  const filterSensitiveLog: (obj: CreateBucketConfiguration) => any;
363
363
  }
364
+ export declare type ObjectOwnership = "BucketOwnerEnforced" | "BucketOwnerPreferred" | "ObjectWriter";
364
365
  export interface CreateBucketRequest {
365
366
 
366
367
  ACL?: BucketCannedACL | string;
@@ -380,6 +381,8 @@ export interface CreateBucketRequest {
380
381
  GrantWriteACP?: string;
381
382
 
382
383
  ObjectLockEnabledForBucket?: boolean;
384
+
385
+ ObjectOwnership?: ObjectOwnership | string;
383
386
  }
384
387
  export declare namespace CreateBucketRequest {
385
388
 
@@ -1236,18 +1239,24 @@ export interface LifecycleRuleAndOperator {
1236
1239
  Prefix?: string;
1237
1240
 
1238
1241
  Tags?: Tag[];
1242
+
1243
+ ObjectSizeGreaterThan?: number;
1244
+
1245
+ ObjectSizeLessThan?: number;
1239
1246
  }
1240
1247
  export declare namespace LifecycleRuleAndOperator {
1241
1248
 
1242
1249
  const filterSensitiveLog: (obj: LifecycleRuleAndOperator) => any;
1243
1250
  }
1244
1251
 
1245
- export declare type LifecycleRuleFilter = LifecycleRuleFilter.AndMember | LifecycleRuleFilter.PrefixMember | LifecycleRuleFilter.TagMember | LifecycleRuleFilter.$UnknownMember;
1252
+ export declare type LifecycleRuleFilter = LifecycleRuleFilter.AndMember | LifecycleRuleFilter.ObjectSizeGreaterThanMember | LifecycleRuleFilter.ObjectSizeLessThanMember | LifecycleRuleFilter.PrefixMember | LifecycleRuleFilter.TagMember | LifecycleRuleFilter.$UnknownMember;
1246
1253
  export declare namespace LifecycleRuleFilter {
1247
1254
 
1248
1255
  interface PrefixMember {
1249
1256
  Prefix: string;
1250
1257
  Tag?: never;
1258
+ ObjectSizeGreaterThan?: never;
1259
+ ObjectSizeLessThan?: never;
1251
1260
  And?: never;
1252
1261
  $unknown?: never;
1253
1262
  }
@@ -1255,6 +1264,26 @@ export declare namespace LifecycleRuleFilter {
1255
1264
  interface TagMember {
1256
1265
  Prefix?: never;
1257
1266
  Tag: Tag;
1267
+ ObjectSizeGreaterThan?: never;
1268
+ ObjectSizeLessThan?: never;
1269
+ And?: never;
1270
+ $unknown?: never;
1271
+ }
1272
+
1273
+ interface ObjectSizeGreaterThanMember {
1274
+ Prefix?: never;
1275
+ Tag?: never;
1276
+ ObjectSizeGreaterThan: number;
1277
+ ObjectSizeLessThan?: never;
1278
+ And?: never;
1279
+ $unknown?: never;
1280
+ }
1281
+
1282
+ interface ObjectSizeLessThanMember {
1283
+ Prefix?: never;
1284
+ Tag?: never;
1285
+ ObjectSizeGreaterThan?: never;
1286
+ ObjectSizeLessThan: number;
1258
1287
  And?: never;
1259
1288
  $unknown?: never;
1260
1289
  }
@@ -1262,12 +1291,16 @@ export declare namespace LifecycleRuleFilter {
1262
1291
  interface AndMember {
1263
1292
  Prefix?: never;
1264
1293
  Tag?: never;
1294
+ ObjectSizeGreaterThan?: never;
1295
+ ObjectSizeLessThan?: never;
1265
1296
  And: LifecycleRuleAndOperator;
1266
1297
  $unknown?: never;
1267
1298
  }
1268
1299
  interface $UnknownMember {
1269
1300
  Prefix?: never;
1270
1301
  Tag?: never;
1302
+ ObjectSizeGreaterThan?: never;
1303
+ ObjectSizeLessThan?: never;
1271
1304
  And?: never;
1272
1305
  $unknown: [
1273
1306
  string,
@@ -1277,6 +1310,8 @@ export declare namespace LifecycleRuleFilter {
1277
1310
  interface Visitor<T> {
1278
1311
  Prefix: (value: string) => T;
1279
1312
  Tag: (value: Tag) => T;
1313
+ ObjectSizeGreaterThan: (value: number) => T;
1314
+ ObjectSizeLessThan: (value: number) => T;
1280
1315
  And: (value: LifecycleRuleAndOperator) => T;
1281
1316
  _: (name: string, value: any) => T;
1282
1317
  }
@@ -1288,18 +1323,22 @@ export declare namespace LifecycleRuleFilter {
1288
1323
  export interface NoncurrentVersionExpiration {
1289
1324
 
1290
1325
  NoncurrentDays?: number;
1326
+
1327
+ NewerNoncurrentVersions?: number;
1291
1328
  }
1292
1329
  export declare namespace NoncurrentVersionExpiration {
1293
1330
 
1294
1331
  const filterSensitiveLog: (obj: NoncurrentVersionExpiration) => any;
1295
1332
  }
1296
- export declare type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "STANDARD_IA";
1333
+ export declare type TransitionStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "STANDARD_IA";
1297
1334
 
1298
1335
  export interface NoncurrentVersionTransition {
1299
1336
 
1300
1337
  NoncurrentDays?: number;
1301
1338
 
1302
1339
  StorageClass?: TransitionStorageClass | string;
1340
+
1341
+ NewerNoncurrentVersions?: number;
1303
1342
  }
1304
1343
  export declare namespace NoncurrentVersionTransition {
1305
1344
 
@@ -1533,7 +1572,14 @@ export declare namespace GetBucketNotificationConfigurationRequest {
1533
1572
 
1534
1573
  const filterSensitiveLog: (obj: GetBucketNotificationConfigurationRequest) => any;
1535
1574
  }
1536
- export declare type Event = "s3:ObjectCreated:*" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Put" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Post" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationReplicatedAfterThreshold";
1575
+
1576
+ export interface EventBridgeConfiguration {
1577
+ }
1578
+ export declare namespace EventBridgeConfiguration {
1579
+
1580
+ const filterSensitiveLog: (obj: EventBridgeConfiguration) => any;
1581
+ }
1582
+ export declare type Event = "s3:IntelligentTiering" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:LifecycleTransition" | "s3:ObjectAcl:Put" | "s3:ObjectCreated:*" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Put" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Delete" | "s3:ObjectRestore:Post" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Delete" | "s3:ObjectTagging:Put" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationReplicatedAfterThreshold";
1537
1583
  export declare type FilterRuleName = "prefix" | "suffix";
1538
1584
 
1539
1585
  export interface FilterRule {
@@ -1617,12 +1663,13 @@ export interface NotificationConfiguration {
1617
1663
  QueueConfigurations?: QueueConfiguration[];
1618
1664
 
1619
1665
  LambdaFunctionConfigurations?: LambdaFunctionConfiguration[];
1666
+
1667
+ EventBridgeConfiguration?: EventBridgeConfiguration;
1620
1668
  }
1621
1669
  export declare namespace NotificationConfiguration {
1622
1670
 
1623
1671
  const filterSensitiveLog: (obj: NotificationConfiguration) => any;
1624
1672
  }
1625
- export declare type ObjectOwnership = "BucketOwnerPreferred" | "ObjectWriter";
1626
1673
 
1627
1674
  export interface OwnershipControlsRule {
1628
1675
 
@@ -2787,7 +2834,7 @@ export declare namespace ListMultipartUploadsRequest {
2787
2834
 
2788
2835
  const filterSensitiveLog: (obj: ListMultipartUploadsRequest) => any;
2789
2836
  }
2790
- export declare type ObjectStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
2837
+ export declare type ObjectStorageClass = "DEEP_ARCHIVE" | "GLACIER" | "GLACIER_IR" | "INTELLIGENT_TIERING" | "ONEZONE_IA" | "OUTPOSTS" | "REDUCED_REDUNDANCY" | "STANDARD" | "STANDARD_IA";
2791
2838
 
2792
2839
  export interface _Object {
2793
2840
 
@@ -3264,6 +3311,8 @@ export interface PutBucketNotificationConfigurationRequest {
3264
3311
  NotificationConfiguration: NotificationConfiguration | undefined;
3265
3312
 
3266
3313
  ExpectedBucketOwner?: string;
3314
+
3315
+ SkipDestinationValidation?: boolean;
3267
3316
  }
3268
3317
  export declare namespace PutBucketNotificationConfigurationRequest {
3269
3318
 
@@ -3702,12 +3751,3 @@ export declare namespace RestoreObjectOutput {
3702
3751
  const filterSensitiveLog: (obj: RestoreObjectOutput) => any;
3703
3752
  }
3704
3753
  export declare type Tier = "Bulk" | "Expedited" | "Standard";
3705
-
3706
- export interface GlacierJobParameters {
3707
-
3708
- Tier: Tier | string | undefined;
3709
- }
3710
- export declare namespace GlacierJobParameters {
3711
-
3712
- const filterSensitiveLog: (obj: GlacierJobParameters) => any;
3713
- }
@@ -1,6 +1,15 @@
1
1
 
2
2
  import { Readable } from "stream";
3
- import { GlacierJobParameters, Grant, ObjectCannedACL, ObjectLockLegalHoldStatus, ObjectLockMode, ReplicationStatus, RequestCharged, RequestPayer, ServerSideEncryption, StorageClass, Tagging, Tier } from "./models_0";
3
+ import { Grant, ObjectCannedACL, ObjectLockLegalHoldStatus, ObjectLockMode, ReplicationStatus, RequestCharged, RequestPayer, ServerSideEncryption, StorageClass, Tagging, Tier } from "./models_0";
4
+
5
+ export interface GlacierJobParameters {
6
+
7
+ Tier: Tier | string | undefined;
8
+ }
9
+ export declare namespace GlacierJobParameters {
10
+
11
+ const filterSensitiveLog: (obj: GlacierJobParameters) => any;
12
+ }
4
13
 
5
14
  export interface Encryption {
6
15