@aws-sdk/client-s3 3.99.0 → 3.107.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.107.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.106.0...v3.107.0) (2022-06-08)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **clients:** handle empty xml tags ([#3623](https://github.com/aws/aws-sdk-js-v3/issues/3623)) ([543a0ce](https://github.com/aws/aws-sdk-js-v3/commit/543a0ce13bebc6e8a5f4cc8e1bd4de67692d4034))
12
+
13
+
14
+
15
+
16
+
17
+ # [3.105.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.104.0...v3.105.0) (2022-06-06)
18
+
19
+
20
+ ### Features
21
+
22
+ * **clients:** support recursion detection in Lambda ([#3654](https://github.com/aws/aws-sdk-js-v3/issues/3654)) ([ecfe46e](https://github.com/aws/aws-sdk-js-v3/commit/ecfe46ea1fd8b6e3812b75b3dc6c03554fb4b3fa))
23
+
24
+
25
+
26
+
27
+
28
+ # [3.100.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.99.0...v3.100.0) (2022-05-26)
29
+
30
+ **Note:** Version bump only for package @aws-sdk/client-s3
31
+
32
+
33
+
34
+
35
+
6
36
  # [3.99.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.98.0...v3.99.0) (2022-05-25)
7
37
 
8
38
  **Note:** Version bump only for package @aws-sdk/client-s3
@@ -8,6 +8,7 @@ const middleware_content_length_1 = require("@aws-sdk/middleware-content-length"
8
8
  const middleware_expect_continue_1 = require("@aws-sdk/middleware-expect-continue");
9
9
  const middleware_host_header_1 = require("@aws-sdk/middleware-host-header");
10
10
  const middleware_logger_1 = require("@aws-sdk/middleware-logger");
11
+ const middleware_recursion_detection_1 = require("@aws-sdk/middleware-recursion-detection");
11
12
  const middleware_retry_1 = require("@aws-sdk/middleware-retry");
12
13
  const middleware_sdk_s3_1 = require("@aws-sdk/middleware-sdk-s3");
13
14
  const middleware_signing_1 = require("@aws-sdk/middleware-signing");
@@ -31,9 +32,9 @@ class S3Client extends smithy_client_1.Client {
31
32
  this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));
32
33
  this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));
33
34
  this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));
35
+ this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));
34
36
  this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config));
35
37
  this.middlewareStack.use((0, middleware_sdk_s3_1.getValidateBucketNamePlugin)(this.config));
36
- this.middlewareStack.use((0, middleware_sdk_s3_1.getUseRegionalEndpointPlugin)(this.config));
37
38
  this.middlewareStack.use((0, middleware_expect_continue_1.getAddExpectContinuePlugin)(this.config));
38
39
  this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));
39
40
  }
@@ -5220,13 +5220,13 @@ const deserializeAws_restXmlDeleteObjectsCommand = async (output, context) => {
5220
5220
  if (data.Deleted === "") {
5221
5221
  contents.Deleted = [];
5222
5222
  }
5223
- if (data["Deleted"] !== undefined) {
5223
+ else if (data["Deleted"] !== undefined) {
5224
5224
  contents.Deleted = deserializeAws_restXmlDeletedObjects((0, smithy_client_1.getArrayIfSingleItem)(data["Deleted"]), context);
5225
5225
  }
5226
5226
  if (data.Error === "") {
5227
5227
  contents.Errors = [];
5228
5228
  }
5229
- if (data["Error"] !== undefined) {
5229
+ else if (data["Error"] !== undefined) {
5230
5230
  contents.Errors = deserializeAws_restXmlErrors((0, smithy_client_1.getArrayIfSingleItem)(data["Error"]), context);
5231
5231
  }
5232
5232
  return Promise.resolve(contents);
@@ -5362,7 +5362,7 @@ const deserializeAws_restXmlGetBucketAclCommand = async (output, context) => {
5362
5362
  if (data.AccessControlList === "") {
5363
5363
  contents.Grants = [];
5364
5364
  }
5365
- if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
5365
+ else if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
5366
5366
  contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data["AccessControlList"]["Grant"]), context);
5367
5367
  }
5368
5368
  if (data["Owner"] !== undefined) {
@@ -5434,7 +5434,7 @@ const deserializeAws_restXmlGetBucketCorsCommand = async (output, context) => {
5434
5434
  if (data.CORSRule === "") {
5435
5435
  contents.CORSRules = [];
5436
5436
  }
5437
- if (data["CORSRule"] !== undefined) {
5437
+ else if (data["CORSRule"] !== undefined) {
5438
5438
  contents.CORSRules = deserializeAws_restXmlCORSRules((0, smithy_client_1.getArrayIfSingleItem)(data["CORSRule"]), context);
5439
5439
  }
5440
5440
  return Promise.resolve(contents);
@@ -5567,7 +5567,7 @@ const deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (outp
5567
5567
  if (data.Rule === "") {
5568
5568
  contents.Rules = [];
5569
5569
  }
5570
- if (data["Rule"] !== undefined) {
5570
+ else if (data["Rule"] !== undefined) {
5571
5571
  contents.Rules = deserializeAws_restXmlLifecycleRules((0, smithy_client_1.getArrayIfSingleItem)(data["Rule"]), context);
5572
5572
  }
5573
5573
  return Promise.resolve(contents);
@@ -5710,19 +5710,19 @@ const deserializeAws_restXmlGetBucketNotificationConfigurationCommand = async (o
5710
5710
  if (data.CloudFunctionConfiguration === "") {
5711
5711
  contents.LambdaFunctionConfigurations = [];
5712
5712
  }
5713
- if (data["CloudFunctionConfiguration"] !== undefined) {
5713
+ else if (data["CloudFunctionConfiguration"] !== undefined) {
5714
5714
  contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["CloudFunctionConfiguration"]), context);
5715
5715
  }
5716
5716
  if (data.QueueConfiguration === "") {
5717
5717
  contents.QueueConfigurations = [];
5718
5718
  }
5719
- if (data["QueueConfiguration"] !== undefined) {
5719
+ else if (data["QueueConfiguration"] !== undefined) {
5720
5720
  contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["QueueConfiguration"]), context);
5721
5721
  }
5722
5722
  if (data.TopicConfiguration === "") {
5723
5723
  contents.TopicConfigurations = [];
5724
5724
  }
5725
- if (data["TopicConfiguration"] !== undefined) {
5725
+ else if (data["TopicConfiguration"] !== undefined) {
5726
5726
  contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["TopicConfiguration"]), context);
5727
5727
  }
5728
5728
  return Promise.resolve(contents);
@@ -5921,7 +5921,7 @@ const deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) =>
5921
5921
  if (data.TagSet === "") {
5922
5922
  contents.TagSet = [];
5923
5923
  }
5924
- if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
5924
+ else if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
5925
5925
  contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data["TagSet"]["Tag"]), context);
5926
5926
  }
5927
5927
  return Promise.resolve(contents);
@@ -6008,7 +6008,7 @@ const deserializeAws_restXmlGetBucketWebsiteCommand = async (output, context) =>
6008
6008
  if (data.RoutingRules === "") {
6009
6009
  contents.RoutingRules = [];
6010
6010
  }
6011
- if (data["RoutingRules"] !== undefined && data["RoutingRules"]["RoutingRule"] !== undefined) {
6011
+ else if (data["RoutingRules"] !== undefined && data["RoutingRules"]["RoutingRule"] !== undefined) {
6012
6012
  contents.RoutingRules = deserializeAws_restXmlRoutingRules((0, smithy_client_1.getArrayIfSingleItem)(data["RoutingRules"]["RoutingRule"]), context);
6013
6013
  }
6014
6014
  return Promise.resolve(contents);
@@ -6233,7 +6233,7 @@ const deserializeAws_restXmlGetObjectAclCommand = async (output, context) => {
6233
6233
  if (data.AccessControlList === "") {
6234
6234
  contents.Grants = [];
6235
6235
  }
6236
- if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
6236
+ else if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
6237
6237
  contents.Grants = deserializeAws_restXmlGrants((0, smithy_client_1.getArrayIfSingleItem)(data["AccessControlList"]["Grant"]), context);
6238
6238
  }
6239
6239
  if (data["Owner"] !== undefined) {
@@ -6445,7 +6445,7 @@ const deserializeAws_restXmlGetObjectTaggingCommand = async (output, context) =>
6445
6445
  if (data.TagSet === "") {
6446
6446
  contents.TagSet = [];
6447
6447
  }
6448
- if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
6448
+ else if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
6449
6449
  contents.TagSet = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(data["TagSet"]["Tag"]), context);
6450
6450
  }
6451
6451
  return Promise.resolve(contents);
@@ -6760,7 +6760,7 @@ const deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (ou
6760
6760
  if (data.AnalyticsConfiguration === "") {
6761
6761
  contents.AnalyticsConfigurationList = [];
6762
6762
  }
6763
- if (data["AnalyticsConfiguration"] !== undefined) {
6763
+ else if (data["AnalyticsConfiguration"] !== undefined) {
6764
6764
  contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["AnalyticsConfiguration"]), context);
6765
6765
  }
6766
6766
  if (data["ContinuationToken"] !== undefined) {
@@ -6812,7 +6812,7 @@ const deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand =
6812
6812
  if (data.IntelligentTieringConfiguration === "") {
6813
6813
  contents.IntelligentTieringConfigurationList = [];
6814
6814
  }
6815
- if (data["IntelligentTieringConfiguration"] !== undefined) {
6815
+ else if (data["IntelligentTieringConfiguration"] !== undefined) {
6816
6816
  contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["IntelligentTieringConfiguration"]), context);
6817
6817
  }
6818
6818
  if (data["IsTruncated"] !== undefined) {
@@ -6861,7 +6861,7 @@ const deserializeAws_restXmlListBucketInventoryConfigurationsCommand = async (ou
6861
6861
  if (data.InventoryConfiguration === "") {
6862
6862
  contents.InventoryConfigurationList = [];
6863
6863
  }
6864
- if (data["InventoryConfiguration"] !== undefined) {
6864
+ else if (data["InventoryConfiguration"] !== undefined) {
6865
6865
  contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["InventoryConfiguration"]), context);
6866
6866
  }
6867
6867
  if (data["IsTruncated"] !== undefined) {
@@ -6913,7 +6913,7 @@ const deserializeAws_restXmlListBucketMetricsConfigurationsCommand = async (outp
6913
6913
  if (data.MetricsConfiguration === "") {
6914
6914
  contents.MetricsConfigurationList = [];
6915
6915
  }
6916
- if (data["MetricsConfiguration"] !== undefined) {
6916
+ else if (data["MetricsConfiguration"] !== undefined) {
6917
6917
  contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList((0, smithy_client_1.getArrayIfSingleItem)(data["MetricsConfiguration"]), context);
6918
6918
  }
6919
6919
  if (data["NextContinuationToken"] !== undefined) {
@@ -6954,7 +6954,7 @@ const deserializeAws_restXmlListBucketsCommand = async (output, context) => {
6954
6954
  if (data.Buckets === "") {
6955
6955
  contents.Buckets = [];
6956
6956
  }
6957
- if (data["Buckets"] !== undefined && data["Buckets"]["Bucket"] !== undefined) {
6957
+ else if (data["Buckets"] !== undefined && data["Buckets"]["Bucket"] !== undefined) {
6958
6958
  contents.Buckets = deserializeAws_restXmlBuckets((0, smithy_client_1.getArrayIfSingleItem)(data["Buckets"]["Bucket"]), context);
6959
6959
  }
6960
6960
  if (data["Owner"] !== undefined) {
@@ -7008,7 +7008,7 @@ const deserializeAws_restXmlListMultipartUploadsCommand = async (output, context
7008
7008
  if (data.CommonPrefixes === "") {
7009
7009
  contents.CommonPrefixes = [];
7010
7010
  }
7011
- if (data["CommonPrefixes"] !== undefined) {
7011
+ else if (data["CommonPrefixes"] !== undefined) {
7012
7012
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data["CommonPrefixes"]), context);
7013
7013
  }
7014
7014
  if (data["Delimiter"] !== undefined) {
@@ -7041,7 +7041,7 @@ const deserializeAws_restXmlListMultipartUploadsCommand = async (output, context
7041
7041
  if (data.Upload === "") {
7042
7042
  contents.Uploads = [];
7043
7043
  }
7044
- if (data["Upload"] !== undefined) {
7044
+ else if (data["Upload"] !== undefined) {
7045
7045
  contents.Uploads = deserializeAws_restXmlMultipartUploadList((0, smithy_client_1.getArrayIfSingleItem)(data["Upload"]), context);
7046
7046
  }
7047
7047
  return Promise.resolve(contents);
@@ -7087,13 +7087,13 @@ const deserializeAws_restXmlListObjectsCommand = async (output, context) => {
7087
7087
  if (data.CommonPrefixes === "") {
7088
7088
  contents.CommonPrefixes = [];
7089
7089
  }
7090
- if (data["CommonPrefixes"] !== undefined) {
7090
+ else if (data["CommonPrefixes"] !== undefined) {
7091
7091
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data["CommonPrefixes"]), context);
7092
7092
  }
7093
7093
  if (data.Contents === "") {
7094
7094
  contents.Contents = [];
7095
7095
  }
7096
- if (data["Contents"] !== undefined) {
7096
+ else if (data["Contents"] !== undefined) {
7097
7097
  contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data["Contents"]), context);
7098
7098
  }
7099
7099
  if (data["Delimiter"] !== undefined) {
@@ -7168,13 +7168,13 @@ const deserializeAws_restXmlListObjectsV2Command = async (output, context) => {
7168
7168
  if (data.CommonPrefixes === "") {
7169
7169
  contents.CommonPrefixes = [];
7170
7170
  }
7171
- if (data["CommonPrefixes"] !== undefined) {
7171
+ else if (data["CommonPrefixes"] !== undefined) {
7172
7172
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data["CommonPrefixes"]), context);
7173
7173
  }
7174
7174
  if (data.Contents === "") {
7175
7175
  contents.Contents = [];
7176
7176
  }
7177
- if (data["Contents"] !== undefined) {
7177
+ else if (data["Contents"] !== undefined) {
7178
7178
  contents.Contents = deserializeAws_restXmlObjectList((0, smithy_client_1.getArrayIfSingleItem)(data["Contents"]), context);
7179
7179
  }
7180
7180
  if (data["ContinuationToken"] !== undefined) {
@@ -7256,13 +7256,13 @@ const deserializeAws_restXmlListObjectVersionsCommand = async (output, context)
7256
7256
  if (data.CommonPrefixes === "") {
7257
7257
  contents.CommonPrefixes = [];
7258
7258
  }
7259
- if (data["CommonPrefixes"] !== undefined) {
7259
+ else if (data["CommonPrefixes"] !== undefined) {
7260
7260
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList((0, smithy_client_1.getArrayIfSingleItem)(data["CommonPrefixes"]), context);
7261
7261
  }
7262
7262
  if (data.DeleteMarker === "") {
7263
7263
  contents.DeleteMarkers = [];
7264
7264
  }
7265
- if (data["DeleteMarker"] !== undefined) {
7265
+ else if (data["DeleteMarker"] !== undefined) {
7266
7266
  contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers((0, smithy_client_1.getArrayIfSingleItem)(data["DeleteMarker"]), context);
7267
7267
  }
7268
7268
  if (data["Delimiter"] !== undefined) {
@@ -7298,7 +7298,7 @@ const deserializeAws_restXmlListObjectVersionsCommand = async (output, context)
7298
7298
  if (data.Version === "") {
7299
7299
  contents.Versions = [];
7300
7300
  }
7301
- if (data["Version"] !== undefined) {
7301
+ else if (data["Version"] !== undefined) {
7302
7302
  contents.Versions = deserializeAws_restXmlObjectVersionList((0, smithy_client_1.getArrayIfSingleItem)(data["Version"]), context);
7303
7303
  }
7304
7304
  return Promise.resolve(contents);
@@ -7385,7 +7385,7 @@ const deserializeAws_restXmlListPartsCommand = async (output, context) => {
7385
7385
  if (data.Part === "") {
7386
7386
  contents.Parts = [];
7387
7387
  }
7388
- if (data["Part"] !== undefined) {
7388
+ else if (data["Part"] !== undefined) {
7389
7389
  contents.Parts = deserializeAws_restXmlParts((0, smithy_client_1.getArrayIfSingleItem)(data["Part"]), context);
7390
7390
  }
7391
7391
  if (data["StorageClass"] !== undefined) {
@@ -10745,7 +10745,7 @@ const deserializeAws_restXmlAnalyticsAndOperator = (output, context) => {
10745
10745
  if (output.Tag === "") {
10746
10746
  contents.Tags = [];
10747
10747
  }
10748
- if (output["Tag"] !== undefined) {
10748
+ else if (output["Tag"] !== undefined) {
10749
10749
  contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output["Tag"]), context);
10750
10750
  }
10751
10751
  return contents;
@@ -10759,7 +10759,9 @@ const deserializeAws_restXmlAnalyticsConfiguration = (output, context) => {
10759
10759
  if (output["Id"] !== undefined) {
10760
10760
  contents.Id = (0, smithy_client_1.expectString)(output["Id"]);
10761
10761
  }
10762
- if (output["Filter"] !== undefined) {
10762
+ if (output.Filter === "") {
10763
+ }
10764
+ else if (output["Filter"] !== undefined) {
10763
10765
  contents.Filter = deserializeAws_restXmlAnalyticsFilter((0, smithy_client_1.expectUnion)(output["Filter"]), context);
10764
10766
  }
10765
10767
  if (output["StorageClassAnalysis"] !== undefined) {
@@ -10988,25 +10990,25 @@ const deserializeAws_restXmlCORSRule = (output, context) => {
10988
10990
  if (output.AllowedHeader === "") {
10989
10991
  contents.AllowedHeaders = [];
10990
10992
  }
10991
- if (output["AllowedHeader"] !== undefined) {
10993
+ else if (output["AllowedHeader"] !== undefined) {
10992
10994
  contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders((0, smithy_client_1.getArrayIfSingleItem)(output["AllowedHeader"]), context);
10993
10995
  }
10994
10996
  if (output.AllowedMethod === "") {
10995
10997
  contents.AllowedMethods = [];
10996
10998
  }
10997
- if (output["AllowedMethod"] !== undefined) {
10999
+ else if (output["AllowedMethod"] !== undefined) {
10998
11000
  contents.AllowedMethods = deserializeAws_restXmlAllowedMethods((0, smithy_client_1.getArrayIfSingleItem)(output["AllowedMethod"]), context);
10999
11001
  }
11000
11002
  if (output.AllowedOrigin === "") {
11001
11003
  contents.AllowedOrigins = [];
11002
11004
  }
11003
- if (output["AllowedOrigin"] !== undefined) {
11005
+ else if (output["AllowedOrigin"] !== undefined) {
11004
11006
  contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins((0, smithy_client_1.getArrayIfSingleItem)(output["AllowedOrigin"]), context);
11005
11007
  }
11006
11008
  if (output.ExposeHeader === "") {
11007
11009
  contents.ExposeHeaders = [];
11008
11010
  }
11009
- if (output["ExposeHeader"] !== undefined) {
11011
+ else if (output["ExposeHeader"] !== undefined) {
11010
11012
  contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders((0, smithy_client_1.getArrayIfSingleItem)(output["ExposeHeader"]), context);
11011
11013
  }
11012
11014
  if (output["MaxAgeSeconds"] !== undefined) {
@@ -11285,7 +11287,7 @@ const deserializeAws_restXmlGetObjectAttributesParts = (output, context) => {
11285
11287
  if (output.Part === "") {
11286
11288
  contents.Parts = [];
11287
11289
  }
11288
- if (output["Part"] !== undefined) {
11290
+ else if (output["Part"] !== undefined) {
11289
11291
  contents.Parts = deserializeAws_restXmlPartsList((0, smithy_client_1.getArrayIfSingleItem)(output["Part"]), context);
11290
11292
  }
11291
11293
  return contents;
@@ -11371,7 +11373,7 @@ const deserializeAws_restXmlIntelligentTieringAndOperator = (output, context) =>
11371
11373
  if (output.Tag === "") {
11372
11374
  contents.Tags = [];
11373
11375
  }
11374
- if (output["Tag"] !== undefined) {
11376
+ else if (output["Tag"] !== undefined) {
11375
11377
  contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output["Tag"]), context);
11376
11378
  }
11377
11379
  return contents;
@@ -11395,7 +11397,7 @@ const deserializeAws_restXmlIntelligentTieringConfiguration = (output, context)
11395
11397
  if (output.Tiering === "") {
11396
11398
  contents.Tierings = [];
11397
11399
  }
11398
- if (output["Tiering"] !== undefined) {
11400
+ else if (output["Tiering"] !== undefined) {
11399
11401
  contents.Tierings = deserializeAws_restXmlTieringList((0, smithy_client_1.getArrayIfSingleItem)(output["Tiering"]), context);
11400
11402
  }
11401
11403
  return contents;
@@ -11455,7 +11457,7 @@ const deserializeAws_restXmlInventoryConfiguration = (output, context) => {
11455
11457
  if (output.OptionalFields === "") {
11456
11458
  contents.OptionalFields = [];
11457
11459
  }
11458
- if (output["OptionalFields"] !== undefined && output["OptionalFields"]["Field"] !== undefined) {
11460
+ else if (output["OptionalFields"] !== undefined && output["OptionalFields"]["Field"] !== undefined) {
11459
11461
  contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields((0, smithy_client_1.getArrayIfSingleItem)(output["OptionalFields"]["Field"]), context);
11460
11462
  }
11461
11463
  if (output["Schedule"] !== undefined) {
@@ -11564,7 +11566,7 @@ const deserializeAws_restXmlLambdaFunctionConfiguration = (output, context) => {
11564
11566
  if (output.Event === "") {
11565
11567
  contents.Events = [];
11566
11568
  }
11567
- if (output["Event"] !== undefined) {
11569
+ else if (output["Event"] !== undefined) {
11568
11570
  contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output["Event"]), context);
11569
11571
  }
11570
11572
  if (output["Filter"] !== undefined) {
@@ -11620,7 +11622,9 @@ const deserializeAws_restXmlLifecycleRule = (output, context) => {
11620
11622
  if (output["Prefix"] !== undefined) {
11621
11623
  contents.Prefix = (0, smithy_client_1.expectString)(output["Prefix"]);
11622
11624
  }
11623
- if (output["Filter"] !== undefined) {
11625
+ if (output.Filter === "") {
11626
+ }
11627
+ else if (output["Filter"] !== undefined) {
11624
11628
  contents.Filter = deserializeAws_restXmlLifecycleRuleFilter((0, smithy_client_1.expectUnion)(output["Filter"]), context);
11625
11629
  }
11626
11630
  if (output["Status"] !== undefined) {
@@ -11629,13 +11633,13 @@ const deserializeAws_restXmlLifecycleRule = (output, context) => {
11629
11633
  if (output.Transition === "") {
11630
11634
  contents.Transitions = [];
11631
11635
  }
11632
- if (output["Transition"] !== undefined) {
11636
+ else if (output["Transition"] !== undefined) {
11633
11637
  contents.Transitions = deserializeAws_restXmlTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output["Transition"]), context);
11634
11638
  }
11635
11639
  if (output.NoncurrentVersionTransition === "") {
11636
11640
  contents.NoncurrentVersionTransitions = [];
11637
11641
  }
11638
- if (output["NoncurrentVersionTransition"] !== undefined) {
11642
+ else if (output["NoncurrentVersionTransition"] !== undefined) {
11639
11643
  contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList((0, smithy_client_1.getArrayIfSingleItem)(output["NoncurrentVersionTransition"]), context);
11640
11644
  }
11641
11645
  if (output["NoncurrentVersionExpiration"] !== undefined) {
@@ -11659,7 +11663,7 @@ const deserializeAws_restXmlLifecycleRuleAndOperator = (output, context) => {
11659
11663
  if (output.Tag === "") {
11660
11664
  contents.Tags = [];
11661
11665
  }
11662
- if (output["Tag"] !== undefined) {
11666
+ else if (output["Tag"] !== undefined) {
11663
11667
  contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output["Tag"]), context);
11664
11668
  }
11665
11669
  if (output["ObjectSizeGreaterThan"] !== undefined) {
@@ -11720,7 +11724,7 @@ const deserializeAws_restXmlLoggingEnabled = (output, context) => {
11720
11724
  if (output.TargetGrants === "") {
11721
11725
  contents.TargetGrants = [];
11722
11726
  }
11723
- if (output["TargetGrants"] !== undefined && output["TargetGrants"]["Grant"] !== undefined) {
11727
+ else if (output["TargetGrants"] !== undefined && output["TargetGrants"]["Grant"] !== undefined) {
11724
11728
  contents.TargetGrants = deserializeAws_restXmlTargetGrants((0, smithy_client_1.getArrayIfSingleItem)(output["TargetGrants"]["Grant"]), context);
11725
11729
  }
11726
11730
  if (output["TargetPrefix"] !== undefined) {
@@ -11753,7 +11757,7 @@ const deserializeAws_restXmlMetricsAndOperator = (output, context) => {
11753
11757
  if (output.Tag === "") {
11754
11758
  contents.Tags = [];
11755
11759
  }
11756
- if (output["Tag"] !== undefined) {
11760
+ else if (output["Tag"] !== undefined) {
11757
11761
  contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output["Tag"]), context);
11758
11762
  }
11759
11763
  if (output["AccessPointArn"] !== undefined) {
@@ -11769,7 +11773,9 @@ const deserializeAws_restXmlMetricsConfiguration = (output, context) => {
11769
11773
  if (output["Id"] !== undefined) {
11770
11774
  contents.Id = (0, smithy_client_1.expectString)(output["Id"]);
11771
11775
  }
11772
- if (output["Filter"] !== undefined) {
11776
+ if (output.Filter === "") {
11777
+ }
11778
+ else if (output["Filter"] !== undefined) {
11773
11779
  contents.Filter = deserializeAws_restXmlMetricsFilter((0, smithy_client_1.expectUnion)(output["Filter"]), context);
11774
11780
  }
11775
11781
  return contents;
@@ -11921,7 +11927,7 @@ const deserializeAws_restXml_Object = (output, context) => {
11921
11927
  if (output.ChecksumAlgorithm === "") {
11922
11928
  contents.ChecksumAlgorithm = [];
11923
11929
  }
11924
- if (output["ChecksumAlgorithm"] !== undefined) {
11930
+ else if (output["ChecksumAlgorithm"] !== undefined) {
11925
11931
  contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output["ChecksumAlgorithm"]), context);
11926
11932
  }
11927
11933
  if (output["Size"] !== undefined) {
@@ -12036,7 +12042,7 @@ const deserializeAws_restXmlObjectVersion = (output, context) => {
12036
12042
  if (output.ChecksumAlgorithm === "") {
12037
12043
  contents.ChecksumAlgorithm = [];
12038
12044
  }
12039
- if (output["ChecksumAlgorithm"] !== undefined) {
12045
+ else if (output["ChecksumAlgorithm"] !== undefined) {
12040
12046
  contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList((0, smithy_client_1.getArrayIfSingleItem)(output["ChecksumAlgorithm"]), context);
12041
12047
  }
12042
12048
  if (output["Size"] !== undefined) {
@@ -12092,7 +12098,7 @@ const deserializeAws_restXmlOwnershipControls = (output, context) => {
12092
12098
  if (output.Rule === "") {
12093
12099
  contents.Rules = [];
12094
12100
  }
12095
- if (output["Rule"] !== undefined) {
12101
+ else if (output["Rule"] !== undefined) {
12096
12102
  contents.Rules = deserializeAws_restXmlOwnershipControlsRules((0, smithy_client_1.getArrayIfSingleItem)(output["Rule"]), context);
12097
12103
  }
12098
12104
  return contents;
@@ -12245,7 +12251,7 @@ const deserializeAws_restXmlQueueConfiguration = (output, context) => {
12245
12251
  if (output.Event === "") {
12246
12252
  contents.Events = [];
12247
12253
  }
12248
- if (output["Event"] !== undefined) {
12254
+ else if (output["Event"] !== undefined) {
12249
12255
  contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output["Event"]), context);
12250
12256
  }
12251
12257
  if (output["Filter"] !== undefined) {
@@ -12330,7 +12336,7 @@ const deserializeAws_restXmlReplicationConfiguration = (output, context) => {
12330
12336
  if (output.Rule === "") {
12331
12337
  contents.Rules = [];
12332
12338
  }
12333
- if (output["Rule"] !== undefined) {
12339
+ else if (output["Rule"] !== undefined) {
12334
12340
  contents.Rules = deserializeAws_restXmlReplicationRules((0, smithy_client_1.getArrayIfSingleItem)(output["Rule"]), context);
12335
12341
  }
12336
12342
  return contents;
@@ -12356,7 +12362,9 @@ const deserializeAws_restXmlReplicationRule = (output, context) => {
12356
12362
  if (output["Prefix"] !== undefined) {
12357
12363
  contents.Prefix = (0, smithy_client_1.expectString)(output["Prefix"]);
12358
12364
  }
12359
- if (output["Filter"] !== undefined) {
12365
+ if (output.Filter === "") {
12366
+ }
12367
+ else if (output["Filter"] !== undefined) {
12360
12368
  contents.Filter = deserializeAws_restXmlReplicationRuleFilter((0, smithy_client_1.expectUnion)(output["Filter"]), context);
12361
12369
  }
12362
12370
  if (output["Status"] !== undefined) {
@@ -12387,7 +12395,7 @@ const deserializeAws_restXmlReplicationRuleAndOperator = (output, context) => {
12387
12395
  if (output.Tag === "") {
12388
12396
  contents.Tags = [];
12389
12397
  }
12390
- if (output["Tag"] !== undefined) {
12398
+ else if (output["Tag"] !== undefined) {
12391
12399
  contents.Tags = deserializeAws_restXmlTagSet((0, smithy_client_1.getArrayIfSingleItem)(output["Tag"]), context);
12392
12400
  }
12393
12401
  return contents;
@@ -12472,7 +12480,7 @@ const deserializeAws_restXmlS3KeyFilter = (output, context) => {
12472
12480
  if (output.FilterRule === "") {
12473
12481
  contents.FilterRules = [];
12474
12482
  }
12475
- if (output["FilterRule"] !== undefined) {
12483
+ else if (output["FilterRule"] !== undefined) {
12476
12484
  contents.FilterRules = deserializeAws_restXmlFilterRuleList((0, smithy_client_1.getArrayIfSingleItem)(output["FilterRule"]), context);
12477
12485
  }
12478
12486
  return contents;
@@ -12525,7 +12533,7 @@ const deserializeAws_restXmlServerSideEncryptionConfiguration = (output, context
12525
12533
  if (output.Rule === "") {
12526
12534
  contents.Rules = [];
12527
12535
  }
12528
- if (output["Rule"] !== undefined) {
12536
+ else if (output["Rule"] !== undefined) {
12529
12537
  contents.Rules = deserializeAws_restXmlServerSideEncryptionRules((0, smithy_client_1.getArrayIfSingleItem)(output["Rule"]), context);
12530
12538
  }
12531
12539
  return contents;
@@ -12721,7 +12729,7 @@ const deserializeAws_restXmlTopicConfiguration = (output, context) => {
12721
12729
  if (output.Event === "") {
12722
12730
  contents.Events = [];
12723
12731
  }
12724
- if (output["Event"] !== undefined) {
12732
+ else if (output["Event"] !== undefined) {
12725
12733
  contents.Events = deserializeAws_restXmlEventList((0, smithy_client_1.getArrayIfSingleItem)(output["Event"]), context);
12726
12734
  }
12727
12735
  if (output["Filter"] !== undefined) {
@@ -6,8 +6,9 @@ import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length";
6
6
  import { getAddExpectContinuePlugin } from "@aws-sdk/middleware-expect-continue";
7
7
  import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middleware-host-header";
8
8
  import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
9
+ import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
9
10
  import { getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry";
10
- import { getUseRegionalEndpointPlugin, getValidateBucketNamePlugin } from "@aws-sdk/middleware-sdk-s3";
11
+ import { getValidateBucketNamePlugin } from "@aws-sdk/middleware-sdk-s3";
11
12
  import { getAwsAuthPlugin, resolveAwsAuthConfig, } from "@aws-sdk/middleware-signing";
12
13
  import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
13
14
  import { Client as __Client, } from "@aws-sdk/smithy-client";
@@ -31,9 +32,9 @@ var S3Client = (function (_super) {
31
32
  _this.middlewareStack.use(getContentLengthPlugin(_this.config));
32
33
  _this.middlewareStack.use(getHostHeaderPlugin(_this.config));
33
34
  _this.middlewareStack.use(getLoggerPlugin(_this.config));
35
+ _this.middlewareStack.use(getRecursionDetectionPlugin(_this.config));
34
36
  _this.middlewareStack.use(getAwsAuthPlugin(_this.config));
35
37
  _this.middlewareStack.use(getValidateBucketNamePlugin(_this.config));
36
- _this.middlewareStack.use(getUseRegionalEndpointPlugin(_this.config));
37
38
  _this.middlewareStack.use(getAddExpectContinuePlugin(_this.config));
38
39
  _this.middlewareStack.use(getUserAgentPlugin(_this.config));
39
40
  return _this;
@@ -5307,13 +5307,13 @@ export var deserializeAws_restXmlDeleteObjectsCommand = function (output, contex
5307
5307
  if (data.Deleted === "") {
5308
5308
  contents.Deleted = [];
5309
5309
  }
5310
- if (data["Deleted"] !== undefined) {
5310
+ else if (data["Deleted"] !== undefined) {
5311
5311
  contents.Deleted = deserializeAws_restXmlDeletedObjects(__getArrayIfSingleItem(data["Deleted"]), context);
5312
5312
  }
5313
5313
  if (data.Error === "") {
5314
5314
  contents.Errors = [];
5315
5315
  }
5316
- if (data["Error"] !== undefined) {
5316
+ else if (data["Error"] !== undefined) {
5317
5317
  contents.Errors = deserializeAws_restXmlErrors(__getArrayIfSingleItem(data["Error"]), context);
5318
5318
  }
5319
5319
  return [2, Promise.resolve(contents)];
@@ -5513,7 +5513,7 @@ export var deserializeAws_restXmlGetBucketAclCommand = function (output, context
5513
5513
  if (data.AccessControlList === "") {
5514
5514
  contents.Grants = [];
5515
5515
  }
5516
- if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
5516
+ else if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
5517
5517
  contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data["AccessControlList"]["Grant"]), context);
5518
5518
  }
5519
5519
  if (data["Owner"] !== undefined) {
@@ -5618,7 +5618,7 @@ export var deserializeAws_restXmlGetBucketCorsCommand = function (output, contex
5618
5618
  if (data.CORSRule === "") {
5619
5619
  contents.CORSRules = [];
5620
5620
  }
5621
- if (data["CORSRule"] !== undefined) {
5621
+ else if (data["CORSRule"] !== undefined) {
5622
5622
  contents.CORSRules = deserializeAws_restXmlCORSRules(__getArrayIfSingleItem(data["CORSRule"]), context);
5623
5623
  }
5624
5624
  return [2, Promise.resolve(contents)];
@@ -5816,7 +5816,7 @@ export var deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = functi
5816
5816
  if (data.Rule === "") {
5817
5817
  contents.Rules = [];
5818
5818
  }
5819
- if (data["Rule"] !== undefined) {
5819
+ else if (data["Rule"] !== undefined) {
5820
5820
  contents.Rules = deserializeAws_restXmlLifecycleRules(__getArrayIfSingleItem(data["Rule"]), context);
5821
5821
  }
5822
5822
  return [2, Promise.resolve(contents)];
@@ -6026,19 +6026,19 @@ export var deserializeAws_restXmlGetBucketNotificationConfigurationCommand = fun
6026
6026
  if (data.CloudFunctionConfiguration === "") {
6027
6027
  contents.LambdaFunctionConfigurations = [];
6028
6028
  }
6029
- if (data["CloudFunctionConfiguration"] !== undefined) {
6029
+ else if (data["CloudFunctionConfiguration"] !== undefined) {
6030
6030
  contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList(__getArrayIfSingleItem(data["CloudFunctionConfiguration"]), context);
6031
6031
  }
6032
6032
  if (data.QueueConfiguration === "") {
6033
6033
  contents.QueueConfigurations = [];
6034
6034
  }
6035
- if (data["QueueConfiguration"] !== undefined) {
6035
+ else if (data["QueueConfiguration"] !== undefined) {
6036
6036
  contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList(__getArrayIfSingleItem(data["QueueConfiguration"]), context);
6037
6037
  }
6038
6038
  if (data.TopicConfiguration === "") {
6039
6039
  contents.TopicConfigurations = [];
6040
6040
  }
6041
- if (data["TopicConfiguration"] !== undefined) {
6041
+ else if (data["TopicConfiguration"] !== undefined) {
6042
6042
  contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList(__getArrayIfSingleItem(data["TopicConfiguration"]), context);
6043
6043
  }
6044
6044
  return [2, Promise.resolve(contents)];
@@ -6334,7 +6334,7 @@ export var deserializeAws_restXmlGetBucketTaggingCommand = function (output, con
6334
6334
  if (data.TagSet === "") {
6335
6335
  contents.TagSet = [];
6336
6336
  }
6337
- if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
6337
+ else if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
6338
6338
  contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data["TagSet"]["Tag"]), context);
6339
6339
  }
6340
6340
  return [2, Promise.resolve(contents)];
@@ -6455,7 +6455,7 @@ export var deserializeAws_restXmlGetBucketWebsiteCommand = function (output, con
6455
6455
  if (data.RoutingRules === "") {
6456
6456
  contents.RoutingRules = [];
6457
6457
  }
6458
- if (data["RoutingRules"] !== undefined && data["RoutingRules"]["RoutingRule"] !== undefined) {
6458
+ else if (data["RoutingRules"] !== undefined && data["RoutingRules"]["RoutingRule"] !== undefined) {
6459
6459
  contents.RoutingRules = deserializeAws_restXmlRoutingRules(__getArrayIfSingleItem(data["RoutingRules"]["RoutingRule"]), context);
6460
6460
  }
6461
6461
  return [2, Promise.resolve(contents)];
@@ -6710,7 +6710,7 @@ export var deserializeAws_restXmlGetObjectAclCommand = function (output, context
6710
6710
  if (data.AccessControlList === "") {
6711
6711
  contents.Grants = [];
6712
6712
  }
6713
- if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
6713
+ else if (data["AccessControlList"] !== undefined && data["AccessControlList"]["Grant"] !== undefined) {
6714
6714
  contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data["AccessControlList"]["Grant"]), context);
6715
6715
  }
6716
6716
  if (data["Owner"] !== undefined) {
@@ -7008,7 +7008,7 @@ export var deserializeAws_restXmlGetObjectTaggingCommand = function (output, con
7008
7008
  if (data.TagSet === "") {
7009
7009
  contents.TagSet = [];
7010
7010
  }
7011
- if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
7011
+ else if (data["TagSet"] !== undefined && data["TagSet"]["Tag"] !== undefined) {
7012
7012
  contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data["TagSet"]["Tag"]), context);
7013
7013
  }
7014
7014
  return [2, Promise.resolve(contents)];
@@ -7400,7 +7400,7 @@ export var deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = func
7400
7400
  if (data.AnalyticsConfiguration === "") {
7401
7401
  contents.AnalyticsConfigurationList = [];
7402
7402
  }
7403
- if (data["AnalyticsConfiguration"] !== undefined) {
7403
+ else if (data["AnalyticsConfiguration"] !== undefined) {
7404
7404
  contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList(__getArrayIfSingleItem(data["AnalyticsConfiguration"]), context);
7405
7405
  }
7406
7406
  if (data["ContinuationToken"] !== undefined) {
@@ -7469,7 +7469,7 @@ export var deserializeAws_restXmlListBucketIntelligentTieringConfigurationsComma
7469
7469
  if (data.IntelligentTieringConfiguration === "") {
7470
7470
  contents.IntelligentTieringConfigurationList = [];
7471
7471
  }
7472
- if (data["IntelligentTieringConfiguration"] !== undefined) {
7472
+ else if (data["IntelligentTieringConfiguration"] !== undefined) {
7473
7473
  contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList(__getArrayIfSingleItem(data["IntelligentTieringConfiguration"]), context);
7474
7474
  }
7475
7475
  if (data["IsTruncated"] !== undefined) {
@@ -7535,7 +7535,7 @@ export var deserializeAws_restXmlListBucketInventoryConfigurationsCommand = func
7535
7535
  if (data.InventoryConfiguration === "") {
7536
7536
  contents.InventoryConfigurationList = [];
7537
7537
  }
7538
- if (data["InventoryConfiguration"] !== undefined) {
7538
+ else if (data["InventoryConfiguration"] !== undefined) {
7539
7539
  contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList(__getArrayIfSingleItem(data["InventoryConfiguration"]), context);
7540
7540
  }
7541
7541
  if (data["IsTruncated"] !== undefined) {
@@ -7604,7 +7604,7 @@ export var deserializeAws_restXmlListBucketMetricsConfigurationsCommand = functi
7604
7604
  if (data.MetricsConfiguration === "") {
7605
7605
  contents.MetricsConfigurationList = [];
7606
7606
  }
7607
- if (data["MetricsConfiguration"] !== undefined) {
7607
+ else if (data["MetricsConfiguration"] !== undefined) {
7608
7608
  contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList(__getArrayIfSingleItem(data["MetricsConfiguration"]), context);
7609
7609
  }
7610
7610
  if (data["NextContinuationToken"] !== undefined) {
@@ -7662,7 +7662,7 @@ export var deserializeAws_restXmlListBucketsCommand = function (output, context)
7662
7662
  if (data.Buckets === "") {
7663
7663
  contents.Buckets = [];
7664
7664
  }
7665
- if (data["Buckets"] !== undefined && data["Buckets"]["Bucket"] !== undefined) {
7665
+ else if (data["Buckets"] !== undefined && data["Buckets"]["Bucket"] !== undefined) {
7666
7666
  contents.Buckets = deserializeAws_restXmlBuckets(__getArrayIfSingleItem(data["Buckets"]["Bucket"]), context);
7667
7667
  }
7668
7668
  if (data["Owner"] !== undefined) {
@@ -7733,7 +7733,7 @@ export var deserializeAws_restXmlListMultipartUploadsCommand = function (output,
7733
7733
  if (data.CommonPrefixes === "") {
7734
7734
  contents.CommonPrefixes = [];
7735
7735
  }
7736
- if (data["CommonPrefixes"] !== undefined) {
7736
+ else if (data["CommonPrefixes"] !== undefined) {
7737
7737
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data["CommonPrefixes"]), context);
7738
7738
  }
7739
7739
  if (data["Delimiter"] !== undefined) {
@@ -7766,7 +7766,7 @@ export var deserializeAws_restXmlListMultipartUploadsCommand = function (output,
7766
7766
  if (data.Upload === "") {
7767
7767
  contents.Uploads = [];
7768
7768
  }
7769
- if (data["Upload"] !== undefined) {
7769
+ else if (data["Upload"] !== undefined) {
7770
7770
  contents.Uploads = deserializeAws_restXmlMultipartUploadList(__getArrayIfSingleItem(data["Upload"]), context);
7771
7771
  }
7772
7772
  return [2, Promise.resolve(contents)];
@@ -7829,13 +7829,13 @@ export var deserializeAws_restXmlListObjectsCommand = function (output, context)
7829
7829
  if (data.CommonPrefixes === "") {
7830
7830
  contents.CommonPrefixes = [];
7831
7831
  }
7832
- if (data["CommonPrefixes"] !== undefined) {
7832
+ else if (data["CommonPrefixes"] !== undefined) {
7833
7833
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data["CommonPrefixes"]), context);
7834
7834
  }
7835
7835
  if (data.Contents === "") {
7836
7836
  contents.Contents = [];
7837
7837
  }
7838
- if (data["Contents"] !== undefined) {
7838
+ else if (data["Contents"] !== undefined) {
7839
7839
  contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data["Contents"]), context);
7840
7840
  }
7841
7841
  if (data["Delimiter"] !== undefined) {
@@ -7929,13 +7929,13 @@ export var deserializeAws_restXmlListObjectsV2Command = function (output, contex
7929
7929
  if (data.CommonPrefixes === "") {
7930
7930
  contents.CommonPrefixes = [];
7931
7931
  }
7932
- if (data["CommonPrefixes"] !== undefined) {
7932
+ else if (data["CommonPrefixes"] !== undefined) {
7933
7933
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data["CommonPrefixes"]), context);
7934
7934
  }
7935
7935
  if (data.Contents === "") {
7936
7936
  contents.Contents = [];
7937
7937
  }
7938
- if (data["Contents"] !== undefined) {
7938
+ else if (data["Contents"] !== undefined) {
7939
7939
  contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data["Contents"]), context);
7940
7940
  }
7941
7941
  if (data["ContinuationToken"] !== undefined) {
@@ -8036,13 +8036,13 @@ export var deserializeAws_restXmlListObjectVersionsCommand = function (output, c
8036
8036
  if (data.CommonPrefixes === "") {
8037
8037
  contents.CommonPrefixes = [];
8038
8038
  }
8039
- if (data["CommonPrefixes"] !== undefined) {
8039
+ else if (data["CommonPrefixes"] !== undefined) {
8040
8040
  contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data["CommonPrefixes"]), context);
8041
8041
  }
8042
8042
  if (data.DeleteMarker === "") {
8043
8043
  contents.DeleteMarkers = [];
8044
8044
  }
8045
- if (data["DeleteMarker"] !== undefined) {
8045
+ else if (data["DeleteMarker"] !== undefined) {
8046
8046
  contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers(__getArrayIfSingleItem(data["DeleteMarker"]), context);
8047
8047
  }
8048
8048
  if (data["Delimiter"] !== undefined) {
@@ -8078,7 +8078,7 @@ export var deserializeAws_restXmlListObjectVersionsCommand = function (output, c
8078
8078
  if (data.Version === "") {
8079
8079
  contents.Versions = [];
8080
8080
  }
8081
- if (data["Version"] !== undefined) {
8081
+ else if (data["Version"] !== undefined) {
8082
8082
  contents.Versions = deserializeAws_restXmlObjectVersionList(__getArrayIfSingleItem(data["Version"]), context);
8083
8083
  }
8084
8084
  return [2, Promise.resolve(contents)];
@@ -8182,7 +8182,7 @@ export var deserializeAws_restXmlListPartsCommand = function (output, context) {
8182
8182
  if (data.Part === "") {
8183
8183
  contents.Parts = [];
8184
8184
  }
8185
- if (data["Part"] !== undefined) {
8185
+ else if (data["Part"] !== undefined) {
8186
8186
  contents.Parts = deserializeAws_restXmlParts(__getArrayIfSingleItem(data["Part"]), context);
8187
8187
  }
8188
8188
  if (data["StorageClass"] !== undefined) {
@@ -12046,7 +12046,7 @@ var deserializeAws_restXmlAnalyticsAndOperator = function (output, context) {
12046
12046
  if (output.Tag === "") {
12047
12047
  contents.Tags = [];
12048
12048
  }
12049
- if (output["Tag"] !== undefined) {
12049
+ else if (output["Tag"] !== undefined) {
12050
12050
  contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context);
12051
12051
  }
12052
12052
  return contents;
@@ -12060,7 +12060,9 @@ var deserializeAws_restXmlAnalyticsConfiguration = function (output, context) {
12060
12060
  if (output["Id"] !== undefined) {
12061
12061
  contents.Id = __expectString(output["Id"]);
12062
12062
  }
12063
- if (output["Filter"] !== undefined) {
12063
+ if (output.Filter === "") {
12064
+ }
12065
+ else if (output["Filter"] !== undefined) {
12064
12066
  contents.Filter = deserializeAws_restXmlAnalyticsFilter(__expectUnion(output["Filter"]), context);
12065
12067
  }
12066
12068
  if (output["StorageClassAnalysis"] !== undefined) {
@@ -12289,25 +12291,25 @@ var deserializeAws_restXmlCORSRule = function (output, context) {
12289
12291
  if (output.AllowedHeader === "") {
12290
12292
  contents.AllowedHeaders = [];
12291
12293
  }
12292
- if (output["AllowedHeader"] !== undefined) {
12294
+ else if (output["AllowedHeader"] !== undefined) {
12293
12295
  contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders(__getArrayIfSingleItem(output["AllowedHeader"]), context);
12294
12296
  }
12295
12297
  if (output.AllowedMethod === "") {
12296
12298
  contents.AllowedMethods = [];
12297
12299
  }
12298
- if (output["AllowedMethod"] !== undefined) {
12300
+ else if (output["AllowedMethod"] !== undefined) {
12299
12301
  contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(__getArrayIfSingleItem(output["AllowedMethod"]), context);
12300
12302
  }
12301
12303
  if (output.AllowedOrigin === "") {
12302
12304
  contents.AllowedOrigins = [];
12303
12305
  }
12304
- if (output["AllowedOrigin"] !== undefined) {
12306
+ else if (output["AllowedOrigin"] !== undefined) {
12305
12307
  contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins(__getArrayIfSingleItem(output["AllowedOrigin"]), context);
12306
12308
  }
12307
12309
  if (output.ExposeHeader === "") {
12308
12310
  contents.ExposeHeaders = [];
12309
12311
  }
12310
- if (output["ExposeHeader"] !== undefined) {
12312
+ else if (output["ExposeHeader"] !== undefined) {
12311
12313
  contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders(__getArrayIfSingleItem(output["ExposeHeader"]), context);
12312
12314
  }
12313
12315
  if (output["MaxAgeSeconds"] !== undefined) {
@@ -12586,7 +12588,7 @@ var deserializeAws_restXmlGetObjectAttributesParts = function (output, context)
12586
12588
  if (output.Part === "") {
12587
12589
  contents.Parts = [];
12588
12590
  }
12589
- if (output["Part"] !== undefined) {
12591
+ else if (output["Part"] !== undefined) {
12590
12592
  contents.Parts = deserializeAws_restXmlPartsList(__getArrayIfSingleItem(output["Part"]), context);
12591
12593
  }
12592
12594
  return contents;
@@ -12672,7 +12674,7 @@ var deserializeAws_restXmlIntelligentTieringAndOperator = function (output, cont
12672
12674
  if (output.Tag === "") {
12673
12675
  contents.Tags = [];
12674
12676
  }
12675
- if (output["Tag"] !== undefined) {
12677
+ else if (output["Tag"] !== undefined) {
12676
12678
  contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context);
12677
12679
  }
12678
12680
  return contents;
@@ -12696,7 +12698,7 @@ var deserializeAws_restXmlIntelligentTieringConfiguration = function (output, co
12696
12698
  if (output.Tiering === "") {
12697
12699
  contents.Tierings = [];
12698
12700
  }
12699
- if (output["Tiering"] !== undefined) {
12701
+ else if (output["Tiering"] !== undefined) {
12700
12702
  contents.Tierings = deserializeAws_restXmlTieringList(__getArrayIfSingleItem(output["Tiering"]), context);
12701
12703
  }
12702
12704
  return contents;
@@ -12756,7 +12758,7 @@ var deserializeAws_restXmlInventoryConfiguration = function (output, context) {
12756
12758
  if (output.OptionalFields === "") {
12757
12759
  contents.OptionalFields = [];
12758
12760
  }
12759
- if (output["OptionalFields"] !== undefined && output["OptionalFields"]["Field"] !== undefined) {
12761
+ else if (output["OptionalFields"] !== undefined && output["OptionalFields"]["Field"] !== undefined) {
12760
12762
  contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields(__getArrayIfSingleItem(output["OptionalFields"]["Field"]), context);
12761
12763
  }
12762
12764
  if (output["Schedule"] !== undefined) {
@@ -12865,7 +12867,7 @@ var deserializeAws_restXmlLambdaFunctionConfiguration = function (output, contex
12865
12867
  if (output.Event === "") {
12866
12868
  contents.Events = [];
12867
12869
  }
12868
- if (output["Event"] !== undefined) {
12870
+ else if (output["Event"] !== undefined) {
12869
12871
  contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context);
12870
12872
  }
12871
12873
  if (output["Filter"] !== undefined) {
@@ -12921,7 +12923,9 @@ var deserializeAws_restXmlLifecycleRule = function (output, context) {
12921
12923
  if (output["Prefix"] !== undefined) {
12922
12924
  contents.Prefix = __expectString(output["Prefix"]);
12923
12925
  }
12924
- if (output["Filter"] !== undefined) {
12926
+ if (output.Filter === "") {
12927
+ }
12928
+ else if (output["Filter"] !== undefined) {
12925
12929
  contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(__expectUnion(output["Filter"]), context);
12926
12930
  }
12927
12931
  if (output["Status"] !== undefined) {
@@ -12930,13 +12934,13 @@ var deserializeAws_restXmlLifecycleRule = function (output, context) {
12930
12934
  if (output.Transition === "") {
12931
12935
  contents.Transitions = [];
12932
12936
  }
12933
- if (output["Transition"] !== undefined) {
12937
+ else if (output["Transition"] !== undefined) {
12934
12938
  contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output["Transition"]), context);
12935
12939
  }
12936
12940
  if (output.NoncurrentVersionTransition === "") {
12937
12941
  contents.NoncurrentVersionTransitions = [];
12938
12942
  }
12939
- if (output["NoncurrentVersionTransition"] !== undefined) {
12943
+ else if (output["NoncurrentVersionTransition"] !== undefined) {
12940
12944
  contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList(__getArrayIfSingleItem(output["NoncurrentVersionTransition"]), context);
12941
12945
  }
12942
12946
  if (output["NoncurrentVersionExpiration"] !== undefined) {
@@ -12960,7 +12964,7 @@ var deserializeAws_restXmlLifecycleRuleAndOperator = function (output, context)
12960
12964
  if (output.Tag === "") {
12961
12965
  contents.Tags = [];
12962
12966
  }
12963
- if (output["Tag"] !== undefined) {
12967
+ else if (output["Tag"] !== undefined) {
12964
12968
  contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context);
12965
12969
  }
12966
12970
  if (output["ObjectSizeGreaterThan"] !== undefined) {
@@ -13021,7 +13025,7 @@ var deserializeAws_restXmlLoggingEnabled = function (output, context) {
13021
13025
  if (output.TargetGrants === "") {
13022
13026
  contents.TargetGrants = [];
13023
13027
  }
13024
- if (output["TargetGrants"] !== undefined && output["TargetGrants"]["Grant"] !== undefined) {
13028
+ else if (output["TargetGrants"] !== undefined && output["TargetGrants"]["Grant"] !== undefined) {
13025
13029
  contents.TargetGrants = deserializeAws_restXmlTargetGrants(__getArrayIfSingleItem(output["TargetGrants"]["Grant"]), context);
13026
13030
  }
13027
13031
  if (output["TargetPrefix"] !== undefined) {
@@ -13054,7 +13058,7 @@ var deserializeAws_restXmlMetricsAndOperator = function (output, context) {
13054
13058
  if (output.Tag === "") {
13055
13059
  contents.Tags = [];
13056
13060
  }
13057
- if (output["Tag"] !== undefined) {
13061
+ else if (output["Tag"] !== undefined) {
13058
13062
  contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context);
13059
13063
  }
13060
13064
  if (output["AccessPointArn"] !== undefined) {
@@ -13070,7 +13074,9 @@ var deserializeAws_restXmlMetricsConfiguration = function (output, context) {
13070
13074
  if (output["Id"] !== undefined) {
13071
13075
  contents.Id = __expectString(output["Id"]);
13072
13076
  }
13073
- if (output["Filter"] !== undefined) {
13077
+ if (output.Filter === "") {
13078
+ }
13079
+ else if (output["Filter"] !== undefined) {
13074
13080
  contents.Filter = deserializeAws_restXmlMetricsFilter(__expectUnion(output["Filter"]), context);
13075
13081
  }
13076
13082
  return contents;
@@ -13222,7 +13228,7 @@ var deserializeAws_restXml_Object = function (output, context) {
13222
13228
  if (output.ChecksumAlgorithm === "") {
13223
13229
  contents.ChecksumAlgorithm = [];
13224
13230
  }
13225
- if (output["ChecksumAlgorithm"] !== undefined) {
13231
+ else if (output["ChecksumAlgorithm"] !== undefined) {
13226
13232
  contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList(__getArrayIfSingleItem(output["ChecksumAlgorithm"]), context);
13227
13233
  }
13228
13234
  if (output["Size"] !== undefined) {
@@ -13337,7 +13343,7 @@ var deserializeAws_restXmlObjectVersion = function (output, context) {
13337
13343
  if (output.ChecksumAlgorithm === "") {
13338
13344
  contents.ChecksumAlgorithm = [];
13339
13345
  }
13340
- if (output["ChecksumAlgorithm"] !== undefined) {
13346
+ else if (output["ChecksumAlgorithm"] !== undefined) {
13341
13347
  contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList(__getArrayIfSingleItem(output["ChecksumAlgorithm"]), context);
13342
13348
  }
13343
13349
  if (output["Size"] !== undefined) {
@@ -13393,7 +13399,7 @@ var deserializeAws_restXmlOwnershipControls = function (output, context) {
13393
13399
  if (output.Rule === "") {
13394
13400
  contents.Rules = [];
13395
13401
  }
13396
- if (output["Rule"] !== undefined) {
13402
+ else if (output["Rule"] !== undefined) {
13397
13403
  contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output["Rule"]), context);
13398
13404
  }
13399
13405
  return contents;
@@ -13546,7 +13552,7 @@ var deserializeAws_restXmlQueueConfiguration = function (output, context) {
13546
13552
  if (output.Event === "") {
13547
13553
  contents.Events = [];
13548
13554
  }
13549
- if (output["Event"] !== undefined) {
13555
+ else if (output["Event"] !== undefined) {
13550
13556
  contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context);
13551
13557
  }
13552
13558
  if (output["Filter"] !== undefined) {
@@ -13631,7 +13637,7 @@ var deserializeAws_restXmlReplicationConfiguration = function (output, context)
13631
13637
  if (output.Rule === "") {
13632
13638
  contents.Rules = [];
13633
13639
  }
13634
- if (output["Rule"] !== undefined) {
13640
+ else if (output["Rule"] !== undefined) {
13635
13641
  contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output["Rule"]), context);
13636
13642
  }
13637
13643
  return contents;
@@ -13657,7 +13663,9 @@ var deserializeAws_restXmlReplicationRule = function (output, context) {
13657
13663
  if (output["Prefix"] !== undefined) {
13658
13664
  contents.Prefix = __expectString(output["Prefix"]);
13659
13665
  }
13660
- if (output["Filter"] !== undefined) {
13666
+ if (output.Filter === "") {
13667
+ }
13668
+ else if (output["Filter"] !== undefined) {
13661
13669
  contents.Filter = deserializeAws_restXmlReplicationRuleFilter(__expectUnion(output["Filter"]), context);
13662
13670
  }
13663
13671
  if (output["Status"] !== undefined) {
@@ -13688,7 +13696,7 @@ var deserializeAws_restXmlReplicationRuleAndOperator = function (output, context
13688
13696
  if (output.Tag === "") {
13689
13697
  contents.Tags = [];
13690
13698
  }
13691
- if (output["Tag"] !== undefined) {
13699
+ else if (output["Tag"] !== undefined) {
13692
13700
  contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output["Tag"]), context);
13693
13701
  }
13694
13702
  return contents;
@@ -13773,7 +13781,7 @@ var deserializeAws_restXmlS3KeyFilter = function (output, context) {
13773
13781
  if (output.FilterRule === "") {
13774
13782
  contents.FilterRules = [];
13775
13783
  }
13776
- if (output["FilterRule"] !== undefined) {
13784
+ else if (output["FilterRule"] !== undefined) {
13777
13785
  contents.FilterRules = deserializeAws_restXmlFilterRuleList(__getArrayIfSingleItem(output["FilterRule"]), context);
13778
13786
  }
13779
13787
  return contents;
@@ -13826,7 +13834,7 @@ var deserializeAws_restXmlServerSideEncryptionConfiguration = function (output,
13826
13834
  if (output.Rule === "") {
13827
13835
  contents.Rules = [];
13828
13836
  }
13829
- if (output["Rule"] !== undefined) {
13837
+ else if (output["Rule"] !== undefined) {
13830
13838
  contents.Rules = deserializeAws_restXmlServerSideEncryptionRules(__getArrayIfSingleItem(output["Rule"]), context);
13831
13839
  }
13832
13840
  return contents;
@@ -14022,7 +14030,7 @@ var deserializeAws_restXmlTopicConfiguration = function (output, context) {
14022
14030
  if (output.Event === "") {
14023
14031
  contents.Events = [];
14024
14032
  }
14025
- if (output["Event"] !== undefined) {
14033
+ else if (output["Event"] !== undefined) {
14026
14034
  contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output["Event"]), context);
14027
14035
  }
14028
14036
  if (output["Filter"] !== undefined) {
@@ -725,9 +725,7 @@ export interface CopyObjectRequest {
725
725
  /**
726
726
  * <p>A map of metadata to store with the object in S3.</p>
727
727
  */
728
- Metadata?: {
729
- [key: string]: string;
730
- };
728
+ Metadata?: Record<string, string>;
731
729
  /**
732
730
  * <p>Specifies whether the metadata is copied from the source object or replaced with
733
731
  * metadata provided in the request.</p>
@@ -1131,9 +1129,7 @@ export interface CreateMultipartUploadRequest {
1131
1129
  /**
1132
1130
  * <p>A map of metadata to store with the object in S3.</p>
1133
1131
  */
1134
- Metadata?: {
1135
- [key: string]: string;
1136
- };
1132
+ Metadata?: Record<string, string>;
1137
1133
  /**
1138
1134
  * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
1139
1135
  * AES256, aws:kms).</p>
@@ -6433,9 +6429,7 @@ export interface GetObjectOutput {
6433
6429
  /**
6434
6430
  * <p>A map of metadata to store with the object in S3.</p>
6435
6431
  */
6436
- Metadata?: {
6437
- [key: string]: string;
6438
- };
6432
+ Metadata?: Record<string, string>;
6439
6433
  /**
6440
6434
  * <p>If server-side encryption with a customer-provided encryption key was requested, the
6441
6435
  * response will include this header confirming the encryption algorithm used.</p>
@@ -7548,9 +7542,7 @@ export interface HeadObjectOutput {
7548
7542
  /**
7549
7543
  * <p>A map of metadata to store with the object in S3.</p>
7550
7544
  */
7551
- Metadata?: {
7552
- [key: string]: string;
7553
- };
7545
+ Metadata?: Record<string, string>;
7554
7546
  /**
7555
7547
  * <p>If server-side encryption with a customer-provided encryption key was requested, the
7556
7548
  * response will include this header confirming the encryption algorithm used.</p>
@@ -10015,9 +10007,7 @@ export interface PutObjectRequest {
10015
10007
  /**
10016
10008
  * <p>A map of metadata to store with the object in S3.</p>
10017
10009
  */
10018
- Metadata?: {
10019
- [key: string]: string;
10020
- };
10010
+ Metadata?: Record<string, string>;
10021
10011
  /**
10022
10012
  * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
10023
10013
  * AES256, aws:kms).</p>
@@ -1671,9 +1671,7 @@ export interface WriteGetObjectResponseRequest {
1671
1671
  /**
1672
1672
  * <p>A map of metadata to store with the object in S3.</p>
1673
1673
  */
1674
- Metadata?: {
1675
- [key: string]: string;
1676
- };
1674
+ Metadata?: Record<string, string>;
1677
1675
  /**
1678
1676
  * <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more
1679
1677
  * information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object Lock</a>.</p>
@@ -310,9 +310,7 @@ export interface CopyObjectRequest {
310
310
 
311
311
  Key: string | undefined;
312
312
 
313
- Metadata?: {
314
- [key: string]: string;
315
- };
313
+ Metadata?: Record<string, string>;
316
314
 
317
315
  MetadataDirective?: MetadataDirective | string;
318
316
 
@@ -487,9 +485,7 @@ export interface CreateMultipartUploadRequest {
487
485
 
488
486
  Key: string | undefined;
489
487
 
490
- Metadata?: {
491
- [key: string]: string;
492
- };
488
+ Metadata?: Record<string, string>;
493
489
 
494
490
  ServerSideEncryption?: ServerSideEncryption | string;
495
491
 
@@ -2220,9 +2216,7 @@ export interface GetObjectOutput {
2220
2216
 
2221
2217
  ServerSideEncryption?: ServerSideEncryption | string;
2222
2218
 
2223
- Metadata?: {
2224
- [key: string]: string;
2225
- };
2219
+ Metadata?: Record<string, string>;
2226
2220
 
2227
2221
  SSECustomerAlgorithm?: string;
2228
2222
 
@@ -2727,9 +2721,7 @@ export interface HeadObjectOutput {
2727
2721
 
2728
2722
  ServerSideEncryption?: ServerSideEncryption | string;
2729
2723
 
2730
- Metadata?: {
2731
- [key: string]: string;
2732
- };
2724
+ Metadata?: Record<string, string>;
2733
2725
 
2734
2726
  SSECustomerAlgorithm?: string;
2735
2727
 
@@ -3763,9 +3755,7 @@ export interface PutObjectRequest {
3763
3755
 
3764
3756
  Key: string | undefined;
3765
3757
 
3766
- Metadata?: {
3767
- [key: string]: string;
3768
- };
3758
+ Metadata?: Record<string, string>;
3769
3759
 
3770
3760
  ServerSideEncryption?: ServerSideEncryption | string;
3771
3761
 
@@ -727,9 +727,7 @@ export interface WriteGetObjectResponseRequest {
727
727
 
728
728
  MissingMeta?: number;
729
729
 
730
- Metadata?: {
731
- [key: string]: string;
732
- };
730
+ Metadata?: Record<string, string>;
733
731
 
734
732
  ObjectLockMode?: ObjectLockMode | string;
735
733
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-s3",
3
3
  "description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
4
- "version": "3.99.0",
4
+ "version": "3.107.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -22,9 +22,9 @@
22
22
  "@aws-crypto/sha1-browser": "2.0.0",
23
23
  "@aws-crypto/sha256-browser": "2.0.0",
24
24
  "@aws-crypto/sha256-js": "2.0.0",
25
- "@aws-sdk/client-sts": "3.99.0",
25
+ "@aws-sdk/client-sts": "3.105.0",
26
26
  "@aws-sdk/config-resolver": "3.80.0",
27
- "@aws-sdk/credential-provider-node": "3.99.0",
27
+ "@aws-sdk/credential-provider-node": "3.105.0",
28
28
  "@aws-sdk/eventstream-serde-browser": "3.78.0",
29
29
  "@aws-sdk/eventstream-serde-config-resolver": "3.78.0",
30
30
  "@aws-sdk/eventstream-serde-node": "3.78.0",
@@ -41,8 +41,9 @@
41
41
  "@aws-sdk/middleware-host-header": "3.78.0",
42
42
  "@aws-sdk/middleware-location-constraint": "3.78.0",
43
43
  "@aws-sdk/middleware-logger": "3.78.0",
44
+ "@aws-sdk/middleware-recursion-detection": "3.105.0",
44
45
  "@aws-sdk/middleware-retry": "3.80.0",
45
- "@aws-sdk/middleware-sdk-s3": "3.86.0",
46
+ "@aws-sdk/middleware-sdk-s3": "3.105.0",
46
47
  "@aws-sdk/middleware-serde": "3.78.0",
47
48
  "@aws-sdk/middleware-signing": "3.78.0",
48
49
  "@aws-sdk/middleware-ssec": "3.78.0",