@aws-sdk/client-s3-control 3.289.0 → 3.292.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 (95) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/S3Control.js +45 -0
  3. package/dist-cjs/commands/DeleteBucketReplicationCommand.js +52 -0
  4. package/dist-cjs/commands/GetBucketReplicationCommand.js +52 -0
  5. package/dist-cjs/commands/PutBucketReplicationCommand.js +54 -0
  6. package/dist-cjs/commands/index.js +3 -0
  7. package/dist-cjs/endpoint/ruleset.js +2 -2
  8. package/dist-cjs/models/models_0.js +142 -5
  9. package/dist-cjs/protocols/Aws_restXml.js +677 -3
  10. package/dist-es/S3Control.js +45 -0
  11. package/dist-es/commands/DeleteBucketReplicationCommand.js +48 -0
  12. package/dist-es/commands/GetBucketReplicationCommand.js +48 -0
  13. package/dist-es/commands/PutBucketReplicationCommand.js +50 -0
  14. package/dist-es/commands/index.js +3 -0
  15. package/dist-es/endpoint/ruleset.js +2 -2
  16. package/dist-es/models/models_0.js +116 -0
  17. package/dist-es/protocols/Aws_restXml.js +668 -0
  18. package/dist-types/S3Control.d.ts +226 -35
  19. package/dist-types/S3ControlClient.d.ts +5 -2
  20. package/dist-types/commands/CreateAccessPointCommand.d.ts +1 -0
  21. package/dist-types/commands/CreateAccessPointForObjectLambdaCommand.d.ts +1 -0
  22. package/dist-types/commands/CreateBucketCommand.d.ts +9 -0
  23. package/dist-types/commands/CreateJobCommand.d.ts +13 -0
  24. package/dist-types/commands/CreateMultiRegionAccessPointCommand.d.ts +1 -0
  25. package/dist-types/commands/DeleteAccessPointCommand.d.ts +1 -0
  26. package/dist-types/commands/DeleteAccessPointForObjectLambdaCommand.d.ts +1 -0
  27. package/dist-types/commands/DeleteAccessPointPolicyCommand.d.ts +1 -0
  28. package/dist-types/commands/DeleteAccessPointPolicyForObjectLambdaCommand.d.ts +1 -0
  29. package/dist-types/commands/DeleteBucketCommand.d.ts +1 -0
  30. package/dist-types/commands/DeleteBucketLifecycleConfigurationCommand.d.ts +1 -0
  31. package/dist-types/commands/DeleteBucketPolicyCommand.d.ts +1 -0
  32. package/dist-types/commands/DeleteBucketReplicationCommand.d.ts +78 -0
  33. package/dist-types/commands/DeleteBucketTaggingCommand.d.ts +1 -0
  34. package/dist-types/commands/DeleteJobTaggingCommand.d.ts +14 -3
  35. package/dist-types/commands/DeleteMultiRegionAccessPointCommand.d.ts +1 -0
  36. package/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +1 -0
  37. package/dist-types/commands/DeleteStorageLensConfigurationCommand.d.ts +1 -0
  38. package/dist-types/commands/DeleteStorageLensConfigurationTaggingCommand.d.ts +1 -0
  39. package/dist-types/commands/DescribeJobCommand.d.ts +13 -0
  40. package/dist-types/commands/DescribeMultiRegionAccessPointOperationCommand.d.ts +1 -0
  41. package/dist-types/commands/GetAccessPointCommand.d.ts +1 -0
  42. package/dist-types/commands/GetAccessPointConfigurationForObjectLambdaCommand.d.ts +1 -0
  43. package/dist-types/commands/GetAccessPointForObjectLambdaCommand.d.ts +1 -0
  44. package/dist-types/commands/GetAccessPointPolicyCommand.d.ts +1 -0
  45. package/dist-types/commands/GetAccessPointPolicyForObjectLambdaCommand.d.ts +1 -0
  46. package/dist-types/commands/GetAccessPointPolicyStatusCommand.d.ts +1 -0
  47. package/dist-types/commands/GetAccessPointPolicyStatusForObjectLambdaCommand.d.ts +1 -0
  48. package/dist-types/commands/GetBucketCommand.d.ts +1 -0
  49. package/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +1 -0
  50. package/dist-types/commands/GetBucketPolicyCommand.d.ts +1 -0
  51. package/dist-types/commands/GetBucketReplicationCommand.d.ts +84 -0
  52. package/dist-types/commands/GetBucketTaggingCommand.d.ts +1 -0
  53. package/dist-types/commands/GetBucketVersioningCommand.d.ts +12 -6
  54. package/dist-types/commands/GetJobTaggingCommand.d.ts +14 -3
  55. package/dist-types/commands/GetMultiRegionAccessPointCommand.d.ts +1 -0
  56. package/dist-types/commands/GetMultiRegionAccessPointPolicyCommand.d.ts +1 -0
  57. package/dist-types/commands/GetMultiRegionAccessPointPolicyStatusCommand.d.ts +1 -0
  58. package/dist-types/commands/GetMultiRegionAccessPointRoutesCommand.d.ts +1 -0
  59. package/dist-types/commands/GetPublicAccessBlockCommand.d.ts +6 -0
  60. package/dist-types/commands/GetStorageLensConfigurationCommand.d.ts +2 -1
  61. package/dist-types/commands/GetStorageLensConfigurationTaggingCommand.d.ts +1 -0
  62. package/dist-types/commands/ListAccessPointsCommand.d.ts +9 -4
  63. package/dist-types/commands/ListAccessPointsForObjectLambdaCommand.d.ts +1 -0
  64. package/dist-types/commands/ListJobsCommand.d.ts +10 -0
  65. package/dist-types/commands/ListMultiRegionAccessPointsCommand.d.ts +1 -0
  66. package/dist-types/commands/ListRegionalBucketsCommand.d.ts +1 -0
  67. package/dist-types/commands/ListStorageLensConfigurationsCommand.d.ts +1 -0
  68. package/dist-types/commands/PutAccessPointConfigurationForObjectLambdaCommand.d.ts +1 -0
  69. package/dist-types/commands/PutAccessPointPolicyCommand.d.ts +1 -0
  70. package/dist-types/commands/PutAccessPointPolicyForObjectLambdaCommand.d.ts +1 -0
  71. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +1 -0
  72. package/dist-types/commands/PutBucketPolicyCommand.d.ts +1 -0
  73. package/dist-types/commands/PutBucketReplicationCommand.d.ts +124 -0
  74. package/dist-types/commands/PutBucketTaggingCommand.d.ts +1 -0
  75. package/dist-types/commands/PutBucketVersioningCommand.d.ts +14 -8
  76. package/dist-types/commands/PutJobTaggingCommand.d.ts +17 -2
  77. package/dist-types/commands/PutMultiRegionAccessPointPolicyCommand.d.ts +1 -0
  78. package/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -0
  79. package/dist-types/commands/PutStorageLensConfigurationCommand.d.ts +2 -1
  80. package/dist-types/commands/PutStorageLensConfigurationTaggingCommand.d.ts +1 -0
  81. package/dist-types/commands/SubmitMultiRegionAccessPointRoutesCommand.d.ts +6 -7
  82. package/dist-types/commands/UpdateJobPriorityCommand.d.ts +13 -0
  83. package/dist-types/commands/UpdateJobStatusCommand.d.ts +16 -0
  84. package/dist-types/commands/index.d.ts +3 -0
  85. package/dist-types/models/models_0.d.ts +716 -74
  86. package/dist-types/protocols/Aws_restXml.d.ts +9 -0
  87. package/dist-types/ts3.4/S3Control.d.ts +51 -0
  88. package/dist-types/ts3.4/S3ControlClient.d.ts +18 -0
  89. package/dist-types/ts3.4/commands/DeleteBucketReplicationCommand.d.ts +37 -0
  90. package/dist-types/ts3.4/commands/GetBucketReplicationCommand.d.ts +41 -0
  91. package/dist-types/ts3.4/commands/PutBucketReplicationCommand.d.ts +36 -0
  92. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  93. package/dist-types/ts3.4/models/models_0.d.ts +194 -0
  94. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +36 -0
  95. package/package.json +41 -46
@@ -465,6 +465,35 @@ export const serializeAws_restXmlDeleteBucketPolicyCommand = async (input, conte
465
465
  body,
466
466
  });
467
467
  };
468
+ export const serializeAws_restXmlDeleteBucketReplicationCommand = async (input, context) => {
469
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
470
+ const headers = map({}, isSerializableHeaderValue, {
471
+ "x-amz-account-id": input.AccountId,
472
+ });
473
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/replication";
474
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
475
+ let body;
476
+ let { hostname: resolvedHostname } = await context.endpoint();
477
+ if (context.disableHostPrefix !== true) {
478
+ resolvedHostname = "{AccountId}." + resolvedHostname;
479
+ if (input.AccountId === undefined) {
480
+ throw new Error("Empty value provided for input host prefix: AccountId.");
481
+ }
482
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
483
+ if (!__isValidHostname(resolvedHostname)) {
484
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
485
+ }
486
+ }
487
+ return new __HttpRequest({
488
+ protocol,
489
+ hostname: resolvedHostname,
490
+ port,
491
+ method: "DELETE",
492
+ headers,
493
+ path: resolvedPath,
494
+ body,
495
+ });
496
+ };
468
497
  export const serializeAws_restXmlDeleteBucketTaggingCommand = async (input, context) => {
469
498
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
470
499
  const headers = map({}, isSerializableHeaderValue, {
@@ -1009,6 +1038,35 @@ export const serializeAws_restXmlGetBucketPolicyCommand = async (input, context)
1009
1038
  body,
1010
1039
  });
1011
1040
  };
1041
+ export const serializeAws_restXmlGetBucketReplicationCommand = async (input, context) => {
1042
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1043
+ const headers = map({}, isSerializableHeaderValue, {
1044
+ "x-amz-account-id": input.AccountId,
1045
+ });
1046
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/replication";
1047
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
1048
+ let body;
1049
+ let { hostname: resolvedHostname } = await context.endpoint();
1050
+ if (context.disableHostPrefix !== true) {
1051
+ resolvedHostname = "{AccountId}." + resolvedHostname;
1052
+ if (input.AccountId === undefined) {
1053
+ throw new Error("Empty value provided for input host prefix: AccountId.");
1054
+ }
1055
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
1056
+ if (!__isValidHostname(resolvedHostname)) {
1057
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
1058
+ }
1059
+ }
1060
+ return new __HttpRequest({
1061
+ protocol,
1062
+ hostname: resolvedHostname,
1063
+ port,
1064
+ method: "GET",
1065
+ headers,
1066
+ path: resolvedPath,
1067
+ body,
1068
+ });
1069
+ };
1012
1070
  export const serializeAws_restXmlGetBucketTaggingCommand = async (input, context) => {
1013
1071
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1014
1072
  const headers = map({}, isSerializableHeaderValue, {
@@ -1699,6 +1757,46 @@ export const serializeAws_restXmlPutBucketPolicyCommand = async (input, context)
1699
1757
  body,
1700
1758
  });
1701
1759
  };
1760
+ export const serializeAws_restXmlPutBucketReplicationCommand = async (input, context) => {
1761
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1762
+ const headers = map({}, isSerializableHeaderValue, {
1763
+ "content-type": "application/xml",
1764
+ "x-amz-account-id": input.AccountId,
1765
+ });
1766
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/replication";
1767
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
1768
+ let body;
1769
+ if (input.ReplicationConfiguration !== undefined) {
1770
+ body = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);
1771
+ }
1772
+ let contents;
1773
+ if (input.ReplicationConfiguration !== undefined) {
1774
+ contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);
1775
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
1776
+ contents.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
1777
+ body += contents.toString();
1778
+ }
1779
+ let { hostname: resolvedHostname } = await context.endpoint();
1780
+ if (context.disableHostPrefix !== true) {
1781
+ resolvedHostname = "{AccountId}." + resolvedHostname;
1782
+ if (input.AccountId === undefined) {
1783
+ throw new Error("Empty value provided for input host prefix: AccountId.");
1784
+ }
1785
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
1786
+ if (!__isValidHostname(resolvedHostname)) {
1787
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
1788
+ }
1789
+ }
1790
+ return new __HttpRequest({
1791
+ protocol,
1792
+ hostname: resolvedHostname,
1793
+ port,
1794
+ method: "PUT",
1795
+ headers,
1796
+ path: resolvedPath,
1797
+ body,
1798
+ });
1799
+ };
1702
1800
  export const serializeAws_restXmlPutBucketTaggingCommand = async (input, context) => {
1703
1801
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1704
1802
  const headers = map({}, isSerializableHeaderValue, {
@@ -2141,6 +2239,9 @@ export const deserializeAws_restXmlCreateAccessPointForObjectLambdaCommand = asy
2141
2239
  $metadata: deserializeMetadata(output),
2142
2240
  });
2143
2241
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2242
+ if (data["Alias"] !== undefined) {
2243
+ contents.Alias = deserializeAws_restXmlObjectLambdaAccessPointAlias(data["Alias"], context);
2244
+ }
2144
2245
  if (data["ObjectLambdaAccessPointArn"] !== undefined) {
2145
2246
  contents.ObjectLambdaAccessPointArn = __expectString(data["ObjectLambdaAccessPointArn"]);
2146
2247
  }
@@ -2434,6 +2535,30 @@ const deserializeAws_restXmlDeleteBucketPolicyCommandError = async (output, cont
2434
2535
  errorCode,
2435
2536
  });
2436
2537
  };
2538
+ export const deserializeAws_restXmlDeleteBucketReplicationCommand = async (output, context) => {
2539
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2540
+ return deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context);
2541
+ }
2542
+ const contents = map({
2543
+ $metadata: deserializeMetadata(output),
2544
+ });
2545
+ await collectBody(output.body, context);
2546
+ return contents;
2547
+ };
2548
+ const deserializeAws_restXmlDeleteBucketReplicationCommandError = async (output, context) => {
2549
+ const parsedOutput = {
2550
+ ...output,
2551
+ body: await parseErrorBody(output.body, context),
2552
+ };
2553
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
2554
+ const parsedBody = parsedOutput.body;
2555
+ throwDefaultError({
2556
+ output,
2557
+ parsedBody: parsedBody.Error,
2558
+ exceptionCtor: __BaseException,
2559
+ errorCode,
2560
+ });
2561
+ };
2437
2562
  export const deserializeAws_restXmlDeleteBucketTaggingCommand = async (output, context) => {
2438
2563
  if (output.statusCode !== 204 && output.statusCode >= 300) {
2439
2564
  return deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context);
@@ -2754,6 +2879,9 @@ export const deserializeAws_restXmlGetAccessPointForObjectLambdaCommand = async
2754
2879
  $metadata: deserializeMetadata(output),
2755
2880
  });
2756
2881
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2882
+ if (data["Alias"] !== undefined) {
2883
+ contents.Alias = deserializeAws_restXmlObjectLambdaAccessPointAlias(data["Alias"], context);
2884
+ }
2757
2885
  if (data["CreationDate"] !== undefined) {
2758
2886
  contents.CreationDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreationDate"]));
2759
2887
  }
@@ -2977,6 +3105,33 @@ const deserializeAws_restXmlGetBucketPolicyCommandError = async (output, context
2977
3105
  errorCode,
2978
3106
  });
2979
3107
  };
3108
+ export const deserializeAws_restXmlGetBucketReplicationCommand = async (output, context) => {
3109
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3110
+ return deserializeAws_restXmlGetBucketReplicationCommandError(output, context);
3111
+ }
3112
+ const contents = map({
3113
+ $metadata: deserializeMetadata(output),
3114
+ });
3115
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3116
+ if (data["ReplicationConfiguration"] !== undefined) {
3117
+ contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data["ReplicationConfiguration"], context);
3118
+ }
3119
+ return contents;
3120
+ };
3121
+ const deserializeAws_restXmlGetBucketReplicationCommandError = async (output, context) => {
3122
+ const parsedOutput = {
3123
+ ...output,
3124
+ body: await parseErrorBody(output.body, context),
3125
+ };
3126
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3127
+ const parsedBody = parsedOutput.body;
3128
+ throwDefaultError({
3129
+ output,
3130
+ parsedBody: parsedBody.Error,
3131
+ exceptionCtor: __BaseException,
3132
+ errorCode,
3133
+ });
3134
+ };
2980
3135
  export const deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) => {
2981
3136
  if (output.statusCode !== 200 && output.statusCode >= 300) {
2982
3137
  return deserializeAws_restXmlGetBucketTaggingCommandError(output, context);
@@ -3610,6 +3765,30 @@ const deserializeAws_restXmlPutBucketPolicyCommandError = async (output, context
3610
3765
  errorCode,
3611
3766
  });
3612
3767
  };
3768
+ export const deserializeAws_restXmlPutBucketReplicationCommand = async (output, context) => {
3769
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3770
+ return deserializeAws_restXmlPutBucketReplicationCommandError(output, context);
3771
+ }
3772
+ const contents = map({
3773
+ $metadata: deserializeMetadata(output),
3774
+ });
3775
+ await collectBody(output.body, context);
3776
+ return contents;
3777
+ };
3778
+ const deserializeAws_restXmlPutBucketReplicationCommandError = async (output, context) => {
3779
+ const parsedOutput = {
3780
+ ...output,
3781
+ body: await parseErrorBody(output.body, context),
3782
+ };
3783
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3784
+ const parsedBody = parsedOutput.body;
3785
+ throwDefaultError({
3786
+ output,
3787
+ parsedBody: parsedBody.Error,
3788
+ exceptionCtor: __BaseException,
3789
+ errorCode,
3790
+ });
3791
+ };
3613
3792
  export const deserializeAws_restXmlPutBucketTaggingCommand = async (output, context) => {
3614
3793
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3615
3794
  return deserializeAws_restXmlPutBucketTaggingCommandError(output, context);
@@ -4063,6 +4242,14 @@ const serializeAws_restXmlAbortIncompleteMultipartUpload = (input, context) => {
4063
4242
  }
4064
4243
  return bodyNode;
4065
4244
  };
4245
+ const serializeAws_restXmlAccessControlTranslation = (input, context) => {
4246
+ const bodyNode = new __XmlNode("AccessControlTranslation");
4247
+ if (input.Owner != null) {
4248
+ const node = __XmlNode.of("OwnerOverride", input.Owner).withName("Owner");
4249
+ bodyNode.addChildNode(node);
4250
+ }
4251
+ return bodyNode;
4252
+ };
4066
4253
  const serializeAws_restXmlAccountLevel = (input, context) => {
4067
4254
  const bodyNode = new __XmlNode("AccountLevel");
4068
4255
  if (input.ActivityMetrics != null) {
@@ -4191,6 +4378,14 @@ const serializeAws_restXmlCreateMultiRegionAccessPointInput = (input, context) =
4191
4378
  }
4192
4379
  return bodyNode;
4193
4380
  };
4381
+ const serializeAws_restXmlDeleteMarkerReplication = (input, context) => {
4382
+ const bodyNode = new __XmlNode("DeleteMarkerReplication");
4383
+ if (input.Status != null) {
4384
+ const node = __XmlNode.of("DeleteMarkerReplicationStatus", input.Status).withName("Status");
4385
+ bodyNode.addChildNode(node);
4386
+ }
4387
+ return bodyNode;
4388
+ };
4194
4389
  const serializeAws_restXmlDeleteMultiRegionAccessPointInput = (input, context) => {
4195
4390
  const bodyNode = new __XmlNode("DeleteMultiRegionAccessPointInput");
4196
4391
  if (input.Name != null) {
@@ -4199,6 +4394,38 @@ const serializeAws_restXmlDeleteMultiRegionAccessPointInput = (input, context) =
4199
4394
  }
4200
4395
  return bodyNode;
4201
4396
  };
4397
+ const serializeAws_restXmlDestination = (input, context) => {
4398
+ const bodyNode = new __XmlNode("Destination");
4399
+ if (input.Account != null) {
4400
+ const node = __XmlNode.of("AccountId", input.Account).withName("Account");
4401
+ bodyNode.addChildNode(node);
4402
+ }
4403
+ if (input.Bucket != null) {
4404
+ const node = __XmlNode.of("BucketIdentifierString", input.Bucket).withName("Bucket");
4405
+ bodyNode.addChildNode(node);
4406
+ }
4407
+ if (input.ReplicationTime != null) {
4408
+ const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName("ReplicationTime");
4409
+ bodyNode.addChildNode(node);
4410
+ }
4411
+ if (input.AccessControlTranslation != null) {
4412
+ const node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName("AccessControlTranslation");
4413
+ bodyNode.addChildNode(node);
4414
+ }
4415
+ if (input.EncryptionConfiguration != null) {
4416
+ const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName("EncryptionConfiguration");
4417
+ bodyNode.addChildNode(node);
4418
+ }
4419
+ if (input.Metrics != null) {
4420
+ const node = serializeAws_restXmlMetrics(input.Metrics, context).withName("Metrics");
4421
+ bodyNode.addChildNode(node);
4422
+ }
4423
+ if (input.StorageClass != null) {
4424
+ const node = __XmlNode.of("ReplicationStorageClass", input.StorageClass).withName("StorageClass");
4425
+ bodyNode.addChildNode(node);
4426
+ }
4427
+ return bodyNode;
4428
+ };
4202
4429
  const serializeAws_restXmlDetailedStatusCodesMetrics = (input, context) => {
4203
4430
  const bodyNode = new __XmlNode("DetailedStatusCodesMetrics");
4204
4431
  if (input.IsEnabled != null) {
@@ -4207,6 +4434,14 @@ const serializeAws_restXmlDetailedStatusCodesMetrics = (input, context) => {
4207
4434
  }
4208
4435
  return bodyNode;
4209
4436
  };
4437
+ const serializeAws_restXmlEncryptionConfiguration = (input, context) => {
4438
+ const bodyNode = new __XmlNode("EncryptionConfiguration");
4439
+ if (input.ReplicaKmsKeyID != null) {
4440
+ const node = __XmlNode.of("ReplicaKmsKeyID", input.ReplicaKmsKeyID).withName("ReplicaKmsKeyID");
4441
+ bodyNode.addChildNode(node);
4442
+ }
4443
+ return bodyNode;
4444
+ };
4210
4445
  const serializeAws_restXml_Exclude = (input, context) => {
4211
4446
  const bodyNode = new __XmlNode("Exclude");
4212
4447
  if (input.Buckets != null) {
@@ -4227,6 +4462,14 @@ const serializeAws_restXml_Exclude = (input, context) => {
4227
4462
  }
4228
4463
  return bodyNode;
4229
4464
  };
4465
+ const serializeAws_restXmlExistingObjectReplication = (input, context) => {
4466
+ const bodyNode = new __XmlNode("ExistingObjectReplication");
4467
+ if (input.Status != null) {
4468
+ const node = __XmlNode.of("ExistingObjectReplicationStatus", input.Status).withName("Status");
4469
+ bodyNode.addChildNode(node);
4470
+ }
4471
+ return bodyNode;
4472
+ };
4230
4473
  const serializeAws_restXmlGeneratedManifestEncryption = (input, context) => {
4231
4474
  const bodyNode = new __XmlNode("GeneratedManifestEncryption");
4232
4475
  if (input.SSES3 != null) {
@@ -4565,6 +4808,18 @@ const serializeAws_restXmlLifecycleRules = (input, context) => {
4565
4808
  return node.withName("Rule");
4566
4809
  });
4567
4810
  };
4811
+ const serializeAws_restXmlMetrics = (input, context) => {
4812
+ const bodyNode = new __XmlNode("Metrics");
4813
+ if (input.Status != null) {
4814
+ const node = __XmlNode.of("MetricsStatus", input.Status).withName("Status");
4815
+ bodyNode.addChildNode(node);
4816
+ }
4817
+ if (input.EventThreshold != null) {
4818
+ const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName("EventThreshold");
4819
+ bodyNode.addChildNode(node);
4820
+ }
4821
+ return bodyNode;
4822
+ };
4568
4823
  const serializeAws_restXmlMultiRegionAccessPointRoute = (input, context) => {
4569
4824
  const bodyNode = new __XmlNode("MultiRegionAccessPointRoute");
4570
4825
  if (input.Bucket != null) {
@@ -4761,6 +5016,10 @@ const serializeAws_restXmlRegion = (input, context) => {
4761
5016
  const node = __XmlNode.of("BucketName", input.Bucket).withName("Bucket");
4762
5017
  bodyNode.addChildNode(node);
4763
5018
  }
5019
+ if (input.BucketAccountId != null) {
5020
+ const node = __XmlNode.of("AccountId", input.BucketAccountId).withName("BucketAccountId");
5021
+ bodyNode.addChildNode(node);
5022
+ }
4764
5023
  return bodyNode;
4765
5024
  };
4766
5025
  const serializeAws_restXmlRegionCreationList = (input, context) => {
@@ -4779,6 +5038,114 @@ const serializeAws_restXmlRegions = (input, context) => {
4779
5038
  return node.withName("Region");
4780
5039
  });
4781
5040
  };
5041
+ const serializeAws_restXmlReplicaModifications = (input, context) => {
5042
+ const bodyNode = new __XmlNode("ReplicaModifications");
5043
+ if (input.Status != null) {
5044
+ const node = __XmlNode.of("ReplicaModificationsStatus", input.Status).withName("Status");
5045
+ bodyNode.addChildNode(node);
5046
+ }
5047
+ return bodyNode;
5048
+ };
5049
+ const serializeAws_restXmlReplicationConfiguration = (input, context) => {
5050
+ const bodyNode = new __XmlNode("ReplicationConfiguration");
5051
+ if (input.Role != null) {
5052
+ const node = __XmlNode.of("Role", input.Role).withName("Role");
5053
+ bodyNode.addChildNode(node);
5054
+ }
5055
+ if (input.Rules != null) {
5056
+ const nodes = serializeAws_restXmlReplicationRules(input.Rules, context);
5057
+ const containerNode = new __XmlNode("Rules");
5058
+ nodes.map((node) => {
5059
+ containerNode.addChildNode(node);
5060
+ });
5061
+ bodyNode.addChildNode(containerNode);
5062
+ }
5063
+ return bodyNode;
5064
+ };
5065
+ const serializeAws_restXmlReplicationRule = (input, context) => {
5066
+ const bodyNode = new __XmlNode("ReplicationRule");
5067
+ if (input.ID != null) {
5068
+ const node = __XmlNode.of("ID", input.ID).withName("ID");
5069
+ bodyNode.addChildNode(node);
5070
+ }
5071
+ if (input.Priority != null) {
5072
+ const node = __XmlNode.of("Priority", String(input.Priority)).withName("Priority");
5073
+ bodyNode.addChildNode(node);
5074
+ }
5075
+ if (input.Prefix != null) {
5076
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5077
+ bodyNode.addChildNode(node);
5078
+ }
5079
+ if (input.Filter != null) {
5080
+ const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName("Filter");
5081
+ bodyNode.addChildNode(node);
5082
+ }
5083
+ if (input.Status != null) {
5084
+ const node = __XmlNode.of("ReplicationRuleStatus", input.Status).withName("Status");
5085
+ bodyNode.addChildNode(node);
5086
+ }
5087
+ if (input.SourceSelectionCriteria != null) {
5088
+ const node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName("SourceSelectionCriteria");
5089
+ bodyNode.addChildNode(node);
5090
+ }
5091
+ if (input.ExistingObjectReplication != null) {
5092
+ const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName("ExistingObjectReplication");
5093
+ bodyNode.addChildNode(node);
5094
+ }
5095
+ if (input.Destination != null) {
5096
+ const node = serializeAws_restXmlDestination(input.Destination, context).withName("Destination");
5097
+ bodyNode.addChildNode(node);
5098
+ }
5099
+ if (input.DeleteMarkerReplication != null) {
5100
+ const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName("DeleteMarkerReplication");
5101
+ bodyNode.addChildNode(node);
5102
+ }
5103
+ if (input.Bucket != null) {
5104
+ const node = __XmlNode.of("BucketIdentifierString", input.Bucket).withName("Bucket");
5105
+ bodyNode.addChildNode(node);
5106
+ }
5107
+ return bodyNode;
5108
+ };
5109
+ const serializeAws_restXmlReplicationRuleAndOperator = (input, context) => {
5110
+ const bodyNode = new __XmlNode("ReplicationRuleAndOperator");
5111
+ if (input.Prefix != null) {
5112
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5113
+ bodyNode.addChildNode(node);
5114
+ }
5115
+ if (input.Tags != null) {
5116
+ const nodes = serializeAws_restXmlS3TagSet(input.Tags, context);
5117
+ const containerNode = new __XmlNode("Tags");
5118
+ nodes.map((node) => {
5119
+ containerNode.addChildNode(node);
5120
+ });
5121
+ bodyNode.addChildNode(containerNode);
5122
+ }
5123
+ return bodyNode;
5124
+ };
5125
+ const serializeAws_restXmlReplicationRuleFilter = (input, context) => {
5126
+ const bodyNode = new __XmlNode("ReplicationRuleFilter");
5127
+ if (input.Prefix != null) {
5128
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5129
+ bodyNode.addChildNode(node);
5130
+ }
5131
+ if (input.Tag != null) {
5132
+ const node = serializeAws_restXmlS3Tag(input.Tag, context).withName("Tag");
5133
+ bodyNode.addChildNode(node);
5134
+ }
5135
+ if (input.And != null) {
5136
+ const node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName("And");
5137
+ bodyNode.addChildNode(node);
5138
+ }
5139
+ return bodyNode;
5140
+ };
5141
+ const serializeAws_restXmlReplicationRules = (input, context) => {
5142
+ return input
5143
+ .filter((e) => e != null)
5144
+ .map((entry) => {
5145
+ const node = serializeAws_restXmlReplicationRule(entry, context);
5146
+ return node.withName("Rule");
5147
+ });
5148
+ };
4782
5149
  const serializeAws_restXmlReplicationStatusFilterList = (input, context) => {
4783
5150
  return input
4784
5151
  .filter((e) => e != null)
@@ -4787,6 +5154,26 @@ const serializeAws_restXmlReplicationStatusFilterList = (input, context) => {
4787
5154
  return node.withName("member");
4788
5155
  });
4789
5156
  };
5157
+ const serializeAws_restXmlReplicationTime = (input, context) => {
5158
+ const bodyNode = new __XmlNode("ReplicationTime");
5159
+ if (input.Status != null) {
5160
+ const node = __XmlNode.of("ReplicationTimeStatus", input.Status).withName("Status");
5161
+ bodyNode.addChildNode(node);
5162
+ }
5163
+ if (input.Time != null) {
5164
+ const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName("Time");
5165
+ bodyNode.addChildNode(node);
5166
+ }
5167
+ return bodyNode;
5168
+ };
5169
+ const serializeAws_restXmlReplicationTimeValue = (input, context) => {
5170
+ const bodyNode = new __XmlNode("ReplicationTimeValue");
5171
+ if (input.Minutes != null) {
5172
+ const node = __XmlNode.of("Minutes", String(input.Minutes)).withName("Minutes");
5173
+ bodyNode.addChildNode(node);
5174
+ }
5175
+ return bodyNode;
5176
+ };
4790
5177
  const serializeAws_restXmlRouteList = (input, context) => {
4791
5178
  return input
4792
5179
  .filter((e) => e != null)
@@ -5230,6 +5617,18 @@ const serializeAws_restXmlSelectionCriteria = (input, context) => {
5230
5617
  }
5231
5618
  return bodyNode;
5232
5619
  };
5620
+ const serializeAws_restXmlSourceSelectionCriteria = (input, context) => {
5621
+ const bodyNode = new __XmlNode("SourceSelectionCriteria");
5622
+ if (input.SseKmsEncryptedObjects != null) {
5623
+ const node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName("SseKmsEncryptedObjects");
5624
+ bodyNode.addChildNode(node);
5625
+ }
5626
+ if (input.ReplicaModifications != null) {
5627
+ const node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName("ReplicaModifications");
5628
+ bodyNode.addChildNode(node);
5629
+ }
5630
+ return bodyNode;
5631
+ };
5233
5632
  const serializeAws_restXmlSSEKMS = (input, context) => {
5234
5633
  const bodyNode = new __XmlNode("SSE-KMS");
5235
5634
  if (input.KeyId != null) {
@@ -5238,6 +5637,14 @@ const serializeAws_restXmlSSEKMS = (input, context) => {
5238
5637
  }
5239
5638
  return bodyNode;
5240
5639
  };
5640
+ const serializeAws_restXmlSseKmsEncryptedObjects = (input, context) => {
5641
+ const bodyNode = new __XmlNode("SseKmsEncryptedObjects");
5642
+ if (input.Status != null) {
5643
+ const node = __XmlNode.of("SseKmsEncryptedObjectsStatus", input.Status).withName("Status");
5644
+ bodyNode.addChildNode(node);
5645
+ }
5646
+ return bodyNode;
5647
+ };
5241
5648
  const serializeAws_restXmlSSEKMSEncryption = (input, context) => {
5242
5649
  const bodyNode = new __XmlNode("SSE-KMS");
5243
5650
  if (input.KeyId != null) {
@@ -5407,6 +5814,15 @@ const deserializeAws_restXmlAbortIncompleteMultipartUpload = (output, context) =
5407
5814
  }
5408
5815
  return contents;
5409
5816
  };
5817
+ const deserializeAws_restXmlAccessControlTranslation = (output, context) => {
5818
+ const contents = {
5819
+ Owner: undefined,
5820
+ };
5821
+ if (output["Owner"] !== undefined) {
5822
+ contents.Owner = __expectString(output["Owner"]);
5823
+ }
5824
+ return contents;
5825
+ };
5410
5826
  const deserializeAws_restXmlAccessPoint = (output, context) => {
5411
5827
  const contents = {
5412
5828
  Name: undefined,
@@ -5653,6 +6069,15 @@ const deserializeAws_restXmlCreateMultiRegionAccessPointInput = (output, context
5653
6069
  }
5654
6070
  return contents;
5655
6071
  };
6072
+ const deserializeAws_restXmlDeleteMarkerReplication = (output, context) => {
6073
+ const contents = {
6074
+ Status: undefined,
6075
+ };
6076
+ if (output["Status"] !== undefined) {
6077
+ contents.Status = __expectString(output["Status"]);
6078
+ }
6079
+ return contents;
6080
+ };
5656
6081
  const deserializeAws_restXmlDeleteMultiRegionAccessPointInput = (output, context) => {
5657
6082
  const contents = {
5658
6083
  Name: undefined,
@@ -5662,6 +6087,39 @@ const deserializeAws_restXmlDeleteMultiRegionAccessPointInput = (output, context
5662
6087
  }
5663
6088
  return contents;
5664
6089
  };
6090
+ const deserializeAws_restXmlDestination = (output, context) => {
6091
+ const contents = {
6092
+ Account: undefined,
6093
+ Bucket: undefined,
6094
+ ReplicationTime: undefined,
6095
+ AccessControlTranslation: undefined,
6096
+ EncryptionConfiguration: undefined,
6097
+ Metrics: undefined,
6098
+ StorageClass: undefined,
6099
+ };
6100
+ if (output["Account"] !== undefined) {
6101
+ contents.Account = __expectString(output["Account"]);
6102
+ }
6103
+ if (output["Bucket"] !== undefined) {
6104
+ contents.Bucket = __expectString(output["Bucket"]);
6105
+ }
6106
+ if (output["ReplicationTime"] !== undefined) {
6107
+ contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output["ReplicationTime"], context);
6108
+ }
6109
+ if (output["AccessControlTranslation"] !== undefined) {
6110
+ contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output["AccessControlTranslation"], context);
6111
+ }
6112
+ if (output["EncryptionConfiguration"] !== undefined) {
6113
+ contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output["EncryptionConfiguration"], context);
6114
+ }
6115
+ if (output["Metrics"] !== undefined) {
6116
+ contents.Metrics = deserializeAws_restXmlMetrics(output["Metrics"], context);
6117
+ }
6118
+ if (output["StorageClass"] !== undefined) {
6119
+ contents.StorageClass = __expectString(output["StorageClass"]);
6120
+ }
6121
+ return contents;
6122
+ };
5665
6123
  const deserializeAws_restXmlDetailedStatusCodesMetrics = (output, context) => {
5666
6124
  const contents = {
5667
6125
  IsEnabled: undefined,
@@ -5671,6 +6129,15 @@ const deserializeAws_restXmlDetailedStatusCodesMetrics = (output, context) => {
5671
6129
  }
5672
6130
  return contents;
5673
6131
  };
6132
+ const deserializeAws_restXmlEncryptionConfiguration = (output, context) => {
6133
+ const contents = {
6134
+ ReplicaKmsKeyID: undefined,
6135
+ };
6136
+ if (output["ReplicaKmsKeyID"] !== undefined) {
6137
+ contents.ReplicaKmsKeyID = __expectString(output["ReplicaKmsKeyID"]);
6138
+ }
6139
+ return contents;
6140
+ };
5674
6141
  const deserializeAws_restXmlEndpoints = (output, context) => {
5675
6142
  return output.reduce((acc, pair) => {
5676
6143
  if (pair["value"] === null) {
@@ -5708,6 +6175,15 @@ const deserializeAws_restXml_Exclude = (output, context) => {
5708
6175
  }
5709
6176
  return contents;
5710
6177
  };
6178
+ const deserializeAws_restXmlExistingObjectReplication = (output, context) => {
6179
+ const contents = {
6180
+ Status: undefined,
6181
+ };
6182
+ if (output["Status"] !== undefined) {
6183
+ contents.Status = __expectString(output["Status"]);
6184
+ }
6185
+ return contents;
6186
+ };
5711
6187
  const deserializeAws_restXmlGeneratedManifestEncryption = (output, context) => {
5712
6188
  const contents = {
5713
6189
  SSES3: undefined,
@@ -6219,6 +6695,19 @@ const deserializeAws_restXmlListStorageLensConfigurationEntry = (output, context
6219
6695
  }
6220
6696
  return contents;
6221
6697
  };
6698
+ const deserializeAws_restXmlMetrics = (output, context) => {
6699
+ const contents = {
6700
+ Status: undefined,
6701
+ EventThreshold: undefined,
6702
+ };
6703
+ if (output["Status"] !== undefined) {
6704
+ contents.Status = __expectString(output["Status"]);
6705
+ }
6706
+ if (output["EventThreshold"] !== undefined) {
6707
+ contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output["EventThreshold"], context);
6708
+ }
6709
+ return contents;
6710
+ };
6222
6711
  const deserializeAws_restXmlMultiRegionAccessPointPolicyDocument = (output, context) => {
6223
6712
  const contents = {
6224
6713
  Established: undefined,
@@ -6357,6 +6846,7 @@ const deserializeAws_restXmlObjectLambdaAccessPoint = (output, context) => {
6357
6846
  const contents = {
6358
6847
  Name: undefined,
6359
6848
  ObjectLambdaAccessPointArn: undefined,
6849
+ Alias: undefined,
6360
6850
  };
6361
6851
  if (output["Name"] !== undefined) {
6362
6852
  contents.Name = __expectString(output["Name"]);
@@ -6364,6 +6854,22 @@ const deserializeAws_restXmlObjectLambdaAccessPoint = (output, context) => {
6364
6854
  if (output["ObjectLambdaAccessPointArn"] !== undefined) {
6365
6855
  contents.ObjectLambdaAccessPointArn = __expectString(output["ObjectLambdaAccessPointArn"]);
6366
6856
  }
6857
+ if (output["Alias"] !== undefined) {
6858
+ contents.Alias = deserializeAws_restXmlObjectLambdaAccessPointAlias(output["Alias"], context);
6859
+ }
6860
+ return contents;
6861
+ };
6862
+ const deserializeAws_restXmlObjectLambdaAccessPointAlias = (output, context) => {
6863
+ const contents = {
6864
+ Value: undefined,
6865
+ Status: undefined,
6866
+ };
6867
+ if (output["Value"] !== undefined) {
6868
+ contents.Value = __expectString(output["Value"]);
6869
+ }
6870
+ if (output["Status"] !== undefined) {
6871
+ contents.Status = __expectString(output["Status"]);
6872
+ }
6367
6873
  return contents;
6368
6874
  };
6369
6875
  const deserializeAws_restXmlObjectLambdaAccessPointList = (output, context) => {
@@ -6525,10 +7031,14 @@ const deserializeAws_restXmlPutMultiRegionAccessPointPolicyInput = (output, cont
6525
7031
  const deserializeAws_restXmlRegion = (output, context) => {
6526
7032
  const contents = {
6527
7033
  Bucket: undefined,
7034
+ BucketAccountId: undefined,
6528
7035
  };
6529
7036
  if (output["Bucket"] !== undefined) {
6530
7037
  contents.Bucket = __expectString(output["Bucket"]);
6531
7038
  }
7039
+ if (output["BucketAccountId"] !== undefined) {
7040
+ contents.BucketAccountId = __expectString(output["BucketAccountId"]);
7041
+ }
6532
7042
  return contents;
6533
7043
  };
6534
7044
  const deserializeAws_restXmlRegionalBucket = (output, context) => {
@@ -6574,6 +7084,7 @@ const deserializeAws_restXmlRegionReport = (output, context) => {
6574
7084
  const contents = {
6575
7085
  Bucket: undefined,
6576
7086
  Region: undefined,
7087
+ BucketAccountId: undefined,
6577
7088
  };
6578
7089
  if (output["Bucket"] !== undefined) {
6579
7090
  contents.Bucket = __expectString(output["Bucket"]);
@@ -6581,6 +7092,9 @@ const deserializeAws_restXmlRegionReport = (output, context) => {
6581
7092
  if (output["Region"] !== undefined) {
6582
7093
  contents.Region = __expectString(output["Region"]);
6583
7094
  }
7095
+ if (output["BucketAccountId"] !== undefined) {
7096
+ contents.BucketAccountId = __expectString(output["BucketAccountId"]);
7097
+ }
6584
7098
  return contents;
6585
7099
  };
6586
7100
  const deserializeAws_restXmlRegionReportList = (output, context) => {
@@ -6597,6 +7111,116 @@ const deserializeAws_restXmlRegions = (output, context) => {
6597
7111
  return __expectString(entry);
6598
7112
  });
6599
7113
  };
7114
+ const deserializeAws_restXmlReplicaModifications = (output, context) => {
7115
+ const contents = {
7116
+ Status: undefined,
7117
+ };
7118
+ if (output["Status"] !== undefined) {
7119
+ contents.Status = __expectString(output["Status"]);
7120
+ }
7121
+ return contents;
7122
+ };
7123
+ const deserializeAws_restXmlReplicationConfiguration = (output, context) => {
7124
+ const contents = {
7125
+ Role: undefined,
7126
+ Rules: undefined,
7127
+ };
7128
+ if (output["Role"] !== undefined) {
7129
+ contents.Role = __expectString(output["Role"]);
7130
+ }
7131
+ if (output.Rules === "") {
7132
+ contents.Rules = [];
7133
+ }
7134
+ else if (output["Rules"] !== undefined && output["Rules"]["Rule"] !== undefined) {
7135
+ contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output["Rules"]["Rule"]), context);
7136
+ }
7137
+ return contents;
7138
+ };
7139
+ const deserializeAws_restXmlReplicationRule = (output, context) => {
7140
+ const contents = {
7141
+ ID: undefined,
7142
+ Priority: undefined,
7143
+ Prefix: undefined,
7144
+ Filter: undefined,
7145
+ Status: undefined,
7146
+ SourceSelectionCriteria: undefined,
7147
+ ExistingObjectReplication: undefined,
7148
+ Destination: undefined,
7149
+ DeleteMarkerReplication: undefined,
7150
+ Bucket: undefined,
7151
+ };
7152
+ if (output["ID"] !== undefined) {
7153
+ contents.ID = __expectString(output["ID"]);
7154
+ }
7155
+ if (output["Priority"] !== undefined) {
7156
+ contents.Priority = __strictParseInt32(output["Priority"]);
7157
+ }
7158
+ if (output["Prefix"] !== undefined) {
7159
+ contents.Prefix = __expectString(output["Prefix"]);
7160
+ }
7161
+ if (output["Filter"] !== undefined) {
7162
+ contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output["Filter"], context);
7163
+ }
7164
+ if (output["Status"] !== undefined) {
7165
+ contents.Status = __expectString(output["Status"]);
7166
+ }
7167
+ if (output["SourceSelectionCriteria"] !== undefined) {
7168
+ contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output["SourceSelectionCriteria"], context);
7169
+ }
7170
+ if (output["ExistingObjectReplication"] !== undefined) {
7171
+ contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output["ExistingObjectReplication"], context);
7172
+ }
7173
+ if (output["Destination"] !== undefined) {
7174
+ contents.Destination = deserializeAws_restXmlDestination(output["Destination"], context);
7175
+ }
7176
+ if (output["DeleteMarkerReplication"] !== undefined) {
7177
+ contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output["DeleteMarkerReplication"], context);
7178
+ }
7179
+ if (output["Bucket"] !== undefined) {
7180
+ contents.Bucket = __expectString(output["Bucket"]);
7181
+ }
7182
+ return contents;
7183
+ };
7184
+ const deserializeAws_restXmlReplicationRuleAndOperator = (output, context) => {
7185
+ const contents = {
7186
+ Prefix: undefined,
7187
+ Tags: undefined,
7188
+ };
7189
+ if (output["Prefix"] !== undefined) {
7190
+ contents.Prefix = __expectString(output["Prefix"]);
7191
+ }
7192
+ if (output.Tags === "") {
7193
+ contents.Tags = [];
7194
+ }
7195
+ else if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) {
7196
+ contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["Tags"]["member"]), context);
7197
+ }
7198
+ return contents;
7199
+ };
7200
+ const deserializeAws_restXmlReplicationRuleFilter = (output, context) => {
7201
+ const contents = {
7202
+ Prefix: undefined,
7203
+ Tag: undefined,
7204
+ And: undefined,
7205
+ };
7206
+ if (output["Prefix"] !== undefined) {
7207
+ contents.Prefix = __expectString(output["Prefix"]);
7208
+ }
7209
+ if (output["Tag"] !== undefined) {
7210
+ contents.Tag = deserializeAws_restXmlS3Tag(output["Tag"], context);
7211
+ }
7212
+ if (output["And"] !== undefined) {
7213
+ contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context);
7214
+ }
7215
+ return contents;
7216
+ };
7217
+ const deserializeAws_restXmlReplicationRules = (output, context) => {
7218
+ return (output || [])
7219
+ .filter((e) => e != null)
7220
+ .map((entry) => {
7221
+ return deserializeAws_restXmlReplicationRule(entry, context);
7222
+ });
7223
+ };
6600
7224
  const deserializeAws_restXmlReplicationStatusFilterList = (output, context) => {
6601
7225
  return (output || [])
6602
7226
  .filter((e) => e != null)
@@ -6604,6 +7228,28 @@ const deserializeAws_restXmlReplicationStatusFilterList = (output, context) => {
6604
7228
  return __expectString(entry);
6605
7229
  });
6606
7230
  };
7231
+ const deserializeAws_restXmlReplicationTime = (output, context) => {
7232
+ const contents = {
7233
+ Status: undefined,
7234
+ Time: undefined,
7235
+ };
7236
+ if (output["Status"] !== undefined) {
7237
+ contents.Status = __expectString(output["Status"]);
7238
+ }
7239
+ if (output["Time"] !== undefined) {
7240
+ contents.Time = deserializeAws_restXmlReplicationTimeValue(output["Time"], context);
7241
+ }
7242
+ return contents;
7243
+ };
7244
+ const deserializeAws_restXmlReplicationTimeValue = (output, context) => {
7245
+ const contents = {
7246
+ Minutes: undefined,
7247
+ };
7248
+ if (output["Minutes"] !== undefined) {
7249
+ contents.Minutes = __strictParseInt32(output["Minutes"]);
7250
+ }
7251
+ return contents;
7252
+ };
6607
7253
  const deserializeAws_restXmlRouteList = (output, context) => {
6608
7254
  return (output || [])
6609
7255
  .filter((e) => e != null)
@@ -7049,6 +7695,19 @@ const deserializeAws_restXmlSelectionCriteria = (output, context) => {
7049
7695
  }
7050
7696
  return contents;
7051
7697
  };
7698
+ const deserializeAws_restXmlSourceSelectionCriteria = (output, context) => {
7699
+ const contents = {
7700
+ SseKmsEncryptedObjects: undefined,
7701
+ ReplicaModifications: undefined,
7702
+ };
7703
+ if (output["SseKmsEncryptedObjects"] !== undefined) {
7704
+ contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output["SseKmsEncryptedObjects"], context);
7705
+ }
7706
+ if (output["ReplicaModifications"] !== undefined) {
7707
+ contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output["ReplicaModifications"], context);
7708
+ }
7709
+ return contents;
7710
+ };
7052
7711
  const deserializeAws_restXmlSSEKMS = (output, context) => {
7053
7712
  const contents = {
7054
7713
  KeyId: undefined,
@@ -7058,6 +7717,15 @@ const deserializeAws_restXmlSSEKMS = (output, context) => {
7058
7717
  }
7059
7718
  return contents;
7060
7719
  };
7720
+ const deserializeAws_restXmlSseKmsEncryptedObjects = (output, context) => {
7721
+ const contents = {
7722
+ Status: undefined,
7723
+ };
7724
+ if (output["Status"] !== undefined) {
7725
+ contents.Status = __expectString(output["Status"]);
7726
+ }
7727
+ return contents;
7728
+ };
7061
7729
  const deserializeAws_restXmlSSEKMSEncryption = (output, context) => {
7062
7730
  const contents = {
7063
7731
  KeyId: undefined,