@aws-sdk/client-s3-control 3.288.0 → 3.290.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 +133 -5
  9. package/dist-cjs/protocols/Aws_restXml.js +654 -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 +108 -0
  17. package/dist-es/protocols/Aws_restXml.js +645 -0
  18. package/dist-types/S3Control.d.ts +222 -29
  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 +85 -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 +122 -0
  74. package/dist-types/commands/PutBucketTaggingCommand.d.ts +1 -0
  75. package/dist-types/commands/PutBucketVersioningCommand.d.ts +16 -9
  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 +1 -0
  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 +680 -73
  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 +180 -0
  94. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +36 -0
  95. package/package.json +34 -34
@@ -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, {
@@ -2434,6 +2532,30 @@ const deserializeAws_restXmlDeleteBucketPolicyCommandError = async (output, cont
2434
2532
  errorCode,
2435
2533
  });
2436
2534
  };
2535
+ export const deserializeAws_restXmlDeleteBucketReplicationCommand = async (output, context) => {
2536
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2537
+ return deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context);
2538
+ }
2539
+ const contents = map({
2540
+ $metadata: deserializeMetadata(output),
2541
+ });
2542
+ await collectBody(output.body, context);
2543
+ return contents;
2544
+ };
2545
+ const deserializeAws_restXmlDeleteBucketReplicationCommandError = async (output, context) => {
2546
+ const parsedOutput = {
2547
+ ...output,
2548
+ body: await parseErrorBody(output.body, context),
2549
+ };
2550
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
2551
+ const parsedBody = parsedOutput.body;
2552
+ throwDefaultError({
2553
+ output,
2554
+ parsedBody: parsedBody.Error,
2555
+ exceptionCtor: __BaseException,
2556
+ errorCode,
2557
+ });
2558
+ };
2437
2559
  export const deserializeAws_restXmlDeleteBucketTaggingCommand = async (output, context) => {
2438
2560
  if (output.statusCode !== 204 && output.statusCode >= 300) {
2439
2561
  return deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context);
@@ -2977,6 +3099,33 @@ const deserializeAws_restXmlGetBucketPolicyCommandError = async (output, context
2977
3099
  errorCode,
2978
3100
  });
2979
3101
  };
3102
+ export const deserializeAws_restXmlGetBucketReplicationCommand = async (output, context) => {
3103
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3104
+ return deserializeAws_restXmlGetBucketReplicationCommandError(output, context);
3105
+ }
3106
+ const contents = map({
3107
+ $metadata: deserializeMetadata(output),
3108
+ });
3109
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3110
+ if (data["ReplicationConfiguration"] !== undefined) {
3111
+ contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data["ReplicationConfiguration"], context);
3112
+ }
3113
+ return contents;
3114
+ };
3115
+ const deserializeAws_restXmlGetBucketReplicationCommandError = async (output, context) => {
3116
+ const parsedOutput = {
3117
+ ...output,
3118
+ body: await parseErrorBody(output.body, context),
3119
+ };
3120
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3121
+ const parsedBody = parsedOutput.body;
3122
+ throwDefaultError({
3123
+ output,
3124
+ parsedBody: parsedBody.Error,
3125
+ exceptionCtor: __BaseException,
3126
+ errorCode,
3127
+ });
3128
+ };
2980
3129
  export const deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) => {
2981
3130
  if (output.statusCode !== 200 && output.statusCode >= 300) {
2982
3131
  return deserializeAws_restXmlGetBucketTaggingCommandError(output, context);
@@ -3610,6 +3759,30 @@ const deserializeAws_restXmlPutBucketPolicyCommandError = async (output, context
3610
3759
  errorCode,
3611
3760
  });
3612
3761
  };
3762
+ export const deserializeAws_restXmlPutBucketReplicationCommand = async (output, context) => {
3763
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3764
+ return deserializeAws_restXmlPutBucketReplicationCommandError(output, context);
3765
+ }
3766
+ const contents = map({
3767
+ $metadata: deserializeMetadata(output),
3768
+ });
3769
+ await collectBody(output.body, context);
3770
+ return contents;
3771
+ };
3772
+ const deserializeAws_restXmlPutBucketReplicationCommandError = async (output, context) => {
3773
+ const parsedOutput = {
3774
+ ...output,
3775
+ body: await parseErrorBody(output.body, context),
3776
+ };
3777
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3778
+ const parsedBody = parsedOutput.body;
3779
+ throwDefaultError({
3780
+ output,
3781
+ parsedBody: parsedBody.Error,
3782
+ exceptionCtor: __BaseException,
3783
+ errorCode,
3784
+ });
3785
+ };
3613
3786
  export const deserializeAws_restXmlPutBucketTaggingCommand = async (output, context) => {
3614
3787
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3615
3788
  return deserializeAws_restXmlPutBucketTaggingCommandError(output, context);
@@ -4063,6 +4236,14 @@ const serializeAws_restXmlAbortIncompleteMultipartUpload = (input, context) => {
4063
4236
  }
4064
4237
  return bodyNode;
4065
4238
  };
4239
+ const serializeAws_restXmlAccessControlTranslation = (input, context) => {
4240
+ const bodyNode = new __XmlNode("AccessControlTranslation");
4241
+ if (input.Owner != null) {
4242
+ const node = __XmlNode.of("OwnerOverride", input.Owner).withName("Owner");
4243
+ bodyNode.addChildNode(node);
4244
+ }
4245
+ return bodyNode;
4246
+ };
4066
4247
  const serializeAws_restXmlAccountLevel = (input, context) => {
4067
4248
  const bodyNode = new __XmlNode("AccountLevel");
4068
4249
  if (input.ActivityMetrics != null) {
@@ -4191,6 +4372,14 @@ const serializeAws_restXmlCreateMultiRegionAccessPointInput = (input, context) =
4191
4372
  }
4192
4373
  return bodyNode;
4193
4374
  };
4375
+ const serializeAws_restXmlDeleteMarkerReplication = (input, context) => {
4376
+ const bodyNode = new __XmlNode("DeleteMarkerReplication");
4377
+ if (input.Status != null) {
4378
+ const node = __XmlNode.of("DeleteMarkerReplicationStatus", input.Status).withName("Status");
4379
+ bodyNode.addChildNode(node);
4380
+ }
4381
+ return bodyNode;
4382
+ };
4194
4383
  const serializeAws_restXmlDeleteMultiRegionAccessPointInput = (input, context) => {
4195
4384
  const bodyNode = new __XmlNode("DeleteMultiRegionAccessPointInput");
4196
4385
  if (input.Name != null) {
@@ -4199,6 +4388,38 @@ const serializeAws_restXmlDeleteMultiRegionAccessPointInput = (input, context) =
4199
4388
  }
4200
4389
  return bodyNode;
4201
4390
  };
4391
+ const serializeAws_restXmlDestination = (input, context) => {
4392
+ const bodyNode = new __XmlNode("Destination");
4393
+ if (input.Account != null) {
4394
+ const node = __XmlNode.of("AccountId", input.Account).withName("Account");
4395
+ bodyNode.addChildNode(node);
4396
+ }
4397
+ if (input.Bucket != null) {
4398
+ const node = __XmlNode.of("BucketIdentifierString", input.Bucket).withName("Bucket");
4399
+ bodyNode.addChildNode(node);
4400
+ }
4401
+ if (input.ReplicationTime != null) {
4402
+ const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName("ReplicationTime");
4403
+ bodyNode.addChildNode(node);
4404
+ }
4405
+ if (input.AccessControlTranslation != null) {
4406
+ const node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName("AccessControlTranslation");
4407
+ bodyNode.addChildNode(node);
4408
+ }
4409
+ if (input.EncryptionConfiguration != null) {
4410
+ const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName("EncryptionConfiguration");
4411
+ bodyNode.addChildNode(node);
4412
+ }
4413
+ if (input.Metrics != null) {
4414
+ const node = serializeAws_restXmlMetrics(input.Metrics, context).withName("Metrics");
4415
+ bodyNode.addChildNode(node);
4416
+ }
4417
+ if (input.StorageClass != null) {
4418
+ const node = __XmlNode.of("ReplicationStorageClass", input.StorageClass).withName("StorageClass");
4419
+ bodyNode.addChildNode(node);
4420
+ }
4421
+ return bodyNode;
4422
+ };
4202
4423
  const serializeAws_restXmlDetailedStatusCodesMetrics = (input, context) => {
4203
4424
  const bodyNode = new __XmlNode("DetailedStatusCodesMetrics");
4204
4425
  if (input.IsEnabled != null) {
@@ -4207,6 +4428,14 @@ const serializeAws_restXmlDetailedStatusCodesMetrics = (input, context) => {
4207
4428
  }
4208
4429
  return bodyNode;
4209
4430
  };
4431
+ const serializeAws_restXmlEncryptionConfiguration = (input, context) => {
4432
+ const bodyNode = new __XmlNode("EncryptionConfiguration");
4433
+ if (input.ReplicaKmsKeyID != null) {
4434
+ const node = __XmlNode.of("ReplicaKmsKeyID", input.ReplicaKmsKeyID).withName("ReplicaKmsKeyID");
4435
+ bodyNode.addChildNode(node);
4436
+ }
4437
+ return bodyNode;
4438
+ };
4210
4439
  const serializeAws_restXml_Exclude = (input, context) => {
4211
4440
  const bodyNode = new __XmlNode("Exclude");
4212
4441
  if (input.Buckets != null) {
@@ -4227,6 +4456,14 @@ const serializeAws_restXml_Exclude = (input, context) => {
4227
4456
  }
4228
4457
  return bodyNode;
4229
4458
  };
4459
+ const serializeAws_restXmlExistingObjectReplication = (input, context) => {
4460
+ const bodyNode = new __XmlNode("ExistingObjectReplication");
4461
+ if (input.Status != null) {
4462
+ const node = __XmlNode.of("ExistingObjectReplicationStatus", input.Status).withName("Status");
4463
+ bodyNode.addChildNode(node);
4464
+ }
4465
+ return bodyNode;
4466
+ };
4230
4467
  const serializeAws_restXmlGeneratedManifestEncryption = (input, context) => {
4231
4468
  const bodyNode = new __XmlNode("GeneratedManifestEncryption");
4232
4469
  if (input.SSES3 != null) {
@@ -4565,6 +4802,18 @@ const serializeAws_restXmlLifecycleRules = (input, context) => {
4565
4802
  return node.withName("Rule");
4566
4803
  });
4567
4804
  };
4805
+ const serializeAws_restXmlMetrics = (input, context) => {
4806
+ const bodyNode = new __XmlNode("Metrics");
4807
+ if (input.Status != null) {
4808
+ const node = __XmlNode.of("MetricsStatus", input.Status).withName("Status");
4809
+ bodyNode.addChildNode(node);
4810
+ }
4811
+ if (input.EventThreshold != null) {
4812
+ const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName("EventThreshold");
4813
+ bodyNode.addChildNode(node);
4814
+ }
4815
+ return bodyNode;
4816
+ };
4568
4817
  const serializeAws_restXmlMultiRegionAccessPointRoute = (input, context) => {
4569
4818
  const bodyNode = new __XmlNode("MultiRegionAccessPointRoute");
4570
4819
  if (input.Bucket != null) {
@@ -4761,6 +5010,10 @@ const serializeAws_restXmlRegion = (input, context) => {
4761
5010
  const node = __XmlNode.of("BucketName", input.Bucket).withName("Bucket");
4762
5011
  bodyNode.addChildNode(node);
4763
5012
  }
5013
+ if (input.BucketAccountId != null) {
5014
+ const node = __XmlNode.of("AccountId", input.BucketAccountId).withName("BucketAccountId");
5015
+ bodyNode.addChildNode(node);
5016
+ }
4764
5017
  return bodyNode;
4765
5018
  };
4766
5019
  const serializeAws_restXmlRegionCreationList = (input, context) => {
@@ -4779,6 +5032,114 @@ const serializeAws_restXmlRegions = (input, context) => {
4779
5032
  return node.withName("Region");
4780
5033
  });
4781
5034
  };
5035
+ const serializeAws_restXmlReplicaModifications = (input, context) => {
5036
+ const bodyNode = new __XmlNode("ReplicaModifications");
5037
+ if (input.Status != null) {
5038
+ const node = __XmlNode.of("ReplicaModificationsStatus", input.Status).withName("Status");
5039
+ bodyNode.addChildNode(node);
5040
+ }
5041
+ return bodyNode;
5042
+ };
5043
+ const serializeAws_restXmlReplicationConfiguration = (input, context) => {
5044
+ const bodyNode = new __XmlNode("ReplicationConfiguration");
5045
+ if (input.Role != null) {
5046
+ const node = __XmlNode.of("Role", input.Role).withName("Role");
5047
+ bodyNode.addChildNode(node);
5048
+ }
5049
+ if (input.Rules != null) {
5050
+ const nodes = serializeAws_restXmlReplicationRules(input.Rules, context);
5051
+ const containerNode = new __XmlNode("Rules");
5052
+ nodes.map((node) => {
5053
+ containerNode.addChildNode(node);
5054
+ });
5055
+ bodyNode.addChildNode(containerNode);
5056
+ }
5057
+ return bodyNode;
5058
+ };
5059
+ const serializeAws_restXmlReplicationRule = (input, context) => {
5060
+ const bodyNode = new __XmlNode("ReplicationRule");
5061
+ if (input.ID != null) {
5062
+ const node = __XmlNode.of("ID", input.ID).withName("ID");
5063
+ bodyNode.addChildNode(node);
5064
+ }
5065
+ if (input.Priority != null) {
5066
+ const node = __XmlNode.of("Priority", String(input.Priority)).withName("Priority");
5067
+ bodyNode.addChildNode(node);
5068
+ }
5069
+ if (input.Prefix != null) {
5070
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5071
+ bodyNode.addChildNode(node);
5072
+ }
5073
+ if (input.Filter != null) {
5074
+ const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName("Filter");
5075
+ bodyNode.addChildNode(node);
5076
+ }
5077
+ if (input.Status != null) {
5078
+ const node = __XmlNode.of("ReplicationRuleStatus", input.Status).withName("Status");
5079
+ bodyNode.addChildNode(node);
5080
+ }
5081
+ if (input.SourceSelectionCriteria != null) {
5082
+ const node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName("SourceSelectionCriteria");
5083
+ bodyNode.addChildNode(node);
5084
+ }
5085
+ if (input.ExistingObjectReplication != null) {
5086
+ const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName("ExistingObjectReplication");
5087
+ bodyNode.addChildNode(node);
5088
+ }
5089
+ if (input.Destination != null) {
5090
+ const node = serializeAws_restXmlDestination(input.Destination, context).withName("Destination");
5091
+ bodyNode.addChildNode(node);
5092
+ }
5093
+ if (input.DeleteMarkerReplication != null) {
5094
+ const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName("DeleteMarkerReplication");
5095
+ bodyNode.addChildNode(node);
5096
+ }
5097
+ if (input.Bucket != null) {
5098
+ const node = __XmlNode.of("BucketIdentifierString", input.Bucket).withName("Bucket");
5099
+ bodyNode.addChildNode(node);
5100
+ }
5101
+ return bodyNode;
5102
+ };
5103
+ const serializeAws_restXmlReplicationRuleAndOperator = (input, context) => {
5104
+ const bodyNode = new __XmlNode("ReplicationRuleAndOperator");
5105
+ if (input.Prefix != null) {
5106
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5107
+ bodyNode.addChildNode(node);
5108
+ }
5109
+ if (input.Tags != null) {
5110
+ const nodes = serializeAws_restXmlS3TagSet(input.Tags, context);
5111
+ const containerNode = new __XmlNode("Tags");
5112
+ nodes.map((node) => {
5113
+ containerNode.addChildNode(node);
5114
+ });
5115
+ bodyNode.addChildNode(containerNode);
5116
+ }
5117
+ return bodyNode;
5118
+ };
5119
+ const serializeAws_restXmlReplicationRuleFilter = (input, context) => {
5120
+ const bodyNode = new __XmlNode("ReplicationRuleFilter");
5121
+ if (input.Prefix != null) {
5122
+ const node = __XmlNode.of("Prefix", input.Prefix).withName("Prefix");
5123
+ bodyNode.addChildNode(node);
5124
+ }
5125
+ if (input.Tag != null) {
5126
+ const node = serializeAws_restXmlS3Tag(input.Tag, context).withName("Tag");
5127
+ bodyNode.addChildNode(node);
5128
+ }
5129
+ if (input.And != null) {
5130
+ const node = serializeAws_restXmlReplicationRuleAndOperator(input.And, context).withName("And");
5131
+ bodyNode.addChildNode(node);
5132
+ }
5133
+ return bodyNode;
5134
+ };
5135
+ const serializeAws_restXmlReplicationRules = (input, context) => {
5136
+ return input
5137
+ .filter((e) => e != null)
5138
+ .map((entry) => {
5139
+ const node = serializeAws_restXmlReplicationRule(entry, context);
5140
+ return node.withName("Rule");
5141
+ });
5142
+ };
4782
5143
  const serializeAws_restXmlReplicationStatusFilterList = (input, context) => {
4783
5144
  return input
4784
5145
  .filter((e) => e != null)
@@ -4787,6 +5148,26 @@ const serializeAws_restXmlReplicationStatusFilterList = (input, context) => {
4787
5148
  return node.withName("member");
4788
5149
  });
4789
5150
  };
5151
+ const serializeAws_restXmlReplicationTime = (input, context) => {
5152
+ const bodyNode = new __XmlNode("ReplicationTime");
5153
+ if (input.Status != null) {
5154
+ const node = __XmlNode.of("ReplicationTimeStatus", input.Status).withName("Status");
5155
+ bodyNode.addChildNode(node);
5156
+ }
5157
+ if (input.Time != null) {
5158
+ const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName("Time");
5159
+ bodyNode.addChildNode(node);
5160
+ }
5161
+ return bodyNode;
5162
+ };
5163
+ const serializeAws_restXmlReplicationTimeValue = (input, context) => {
5164
+ const bodyNode = new __XmlNode("ReplicationTimeValue");
5165
+ if (input.Minutes != null) {
5166
+ const node = __XmlNode.of("Minutes", String(input.Minutes)).withName("Minutes");
5167
+ bodyNode.addChildNode(node);
5168
+ }
5169
+ return bodyNode;
5170
+ };
4790
5171
  const serializeAws_restXmlRouteList = (input, context) => {
4791
5172
  return input
4792
5173
  .filter((e) => e != null)
@@ -5230,6 +5611,18 @@ const serializeAws_restXmlSelectionCriteria = (input, context) => {
5230
5611
  }
5231
5612
  return bodyNode;
5232
5613
  };
5614
+ const serializeAws_restXmlSourceSelectionCriteria = (input, context) => {
5615
+ const bodyNode = new __XmlNode("SourceSelectionCriteria");
5616
+ if (input.SseKmsEncryptedObjects != null) {
5617
+ const node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName("SseKmsEncryptedObjects");
5618
+ bodyNode.addChildNode(node);
5619
+ }
5620
+ if (input.ReplicaModifications != null) {
5621
+ const node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName("ReplicaModifications");
5622
+ bodyNode.addChildNode(node);
5623
+ }
5624
+ return bodyNode;
5625
+ };
5233
5626
  const serializeAws_restXmlSSEKMS = (input, context) => {
5234
5627
  const bodyNode = new __XmlNode("SSE-KMS");
5235
5628
  if (input.KeyId != null) {
@@ -5238,6 +5631,14 @@ const serializeAws_restXmlSSEKMS = (input, context) => {
5238
5631
  }
5239
5632
  return bodyNode;
5240
5633
  };
5634
+ const serializeAws_restXmlSseKmsEncryptedObjects = (input, context) => {
5635
+ const bodyNode = new __XmlNode("SseKmsEncryptedObjects");
5636
+ if (input.Status != null) {
5637
+ const node = __XmlNode.of("SseKmsEncryptedObjectsStatus", input.Status).withName("Status");
5638
+ bodyNode.addChildNode(node);
5639
+ }
5640
+ return bodyNode;
5641
+ };
5241
5642
  const serializeAws_restXmlSSEKMSEncryption = (input, context) => {
5242
5643
  const bodyNode = new __XmlNode("SSE-KMS");
5243
5644
  if (input.KeyId != null) {
@@ -5407,6 +5808,15 @@ const deserializeAws_restXmlAbortIncompleteMultipartUpload = (output, context) =
5407
5808
  }
5408
5809
  return contents;
5409
5810
  };
5811
+ const deserializeAws_restXmlAccessControlTranslation = (output, context) => {
5812
+ const contents = {
5813
+ Owner: undefined,
5814
+ };
5815
+ if (output["Owner"] !== undefined) {
5816
+ contents.Owner = __expectString(output["Owner"]);
5817
+ }
5818
+ return contents;
5819
+ };
5410
5820
  const deserializeAws_restXmlAccessPoint = (output, context) => {
5411
5821
  const contents = {
5412
5822
  Name: undefined,
@@ -5653,6 +6063,15 @@ const deserializeAws_restXmlCreateMultiRegionAccessPointInput = (output, context
5653
6063
  }
5654
6064
  return contents;
5655
6065
  };
6066
+ const deserializeAws_restXmlDeleteMarkerReplication = (output, context) => {
6067
+ const contents = {
6068
+ Status: undefined,
6069
+ };
6070
+ if (output["Status"] !== undefined) {
6071
+ contents.Status = __expectString(output["Status"]);
6072
+ }
6073
+ return contents;
6074
+ };
5656
6075
  const deserializeAws_restXmlDeleteMultiRegionAccessPointInput = (output, context) => {
5657
6076
  const contents = {
5658
6077
  Name: undefined,
@@ -5662,6 +6081,39 @@ const deserializeAws_restXmlDeleteMultiRegionAccessPointInput = (output, context
5662
6081
  }
5663
6082
  return contents;
5664
6083
  };
6084
+ const deserializeAws_restXmlDestination = (output, context) => {
6085
+ const contents = {
6086
+ Account: undefined,
6087
+ Bucket: undefined,
6088
+ ReplicationTime: undefined,
6089
+ AccessControlTranslation: undefined,
6090
+ EncryptionConfiguration: undefined,
6091
+ Metrics: undefined,
6092
+ StorageClass: undefined,
6093
+ };
6094
+ if (output["Account"] !== undefined) {
6095
+ contents.Account = __expectString(output["Account"]);
6096
+ }
6097
+ if (output["Bucket"] !== undefined) {
6098
+ contents.Bucket = __expectString(output["Bucket"]);
6099
+ }
6100
+ if (output["ReplicationTime"] !== undefined) {
6101
+ contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output["ReplicationTime"], context);
6102
+ }
6103
+ if (output["AccessControlTranslation"] !== undefined) {
6104
+ contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output["AccessControlTranslation"], context);
6105
+ }
6106
+ if (output["EncryptionConfiguration"] !== undefined) {
6107
+ contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output["EncryptionConfiguration"], context);
6108
+ }
6109
+ if (output["Metrics"] !== undefined) {
6110
+ contents.Metrics = deserializeAws_restXmlMetrics(output["Metrics"], context);
6111
+ }
6112
+ if (output["StorageClass"] !== undefined) {
6113
+ contents.StorageClass = __expectString(output["StorageClass"]);
6114
+ }
6115
+ return contents;
6116
+ };
5665
6117
  const deserializeAws_restXmlDetailedStatusCodesMetrics = (output, context) => {
5666
6118
  const contents = {
5667
6119
  IsEnabled: undefined,
@@ -5671,6 +6123,15 @@ const deserializeAws_restXmlDetailedStatusCodesMetrics = (output, context) => {
5671
6123
  }
5672
6124
  return contents;
5673
6125
  };
6126
+ const deserializeAws_restXmlEncryptionConfiguration = (output, context) => {
6127
+ const contents = {
6128
+ ReplicaKmsKeyID: undefined,
6129
+ };
6130
+ if (output["ReplicaKmsKeyID"] !== undefined) {
6131
+ contents.ReplicaKmsKeyID = __expectString(output["ReplicaKmsKeyID"]);
6132
+ }
6133
+ return contents;
6134
+ };
5674
6135
  const deserializeAws_restXmlEndpoints = (output, context) => {
5675
6136
  return output.reduce((acc, pair) => {
5676
6137
  if (pair["value"] === null) {
@@ -5708,6 +6169,15 @@ const deserializeAws_restXml_Exclude = (output, context) => {
5708
6169
  }
5709
6170
  return contents;
5710
6171
  };
6172
+ const deserializeAws_restXmlExistingObjectReplication = (output, context) => {
6173
+ const contents = {
6174
+ Status: undefined,
6175
+ };
6176
+ if (output["Status"] !== undefined) {
6177
+ contents.Status = __expectString(output["Status"]);
6178
+ }
6179
+ return contents;
6180
+ };
5711
6181
  const deserializeAws_restXmlGeneratedManifestEncryption = (output, context) => {
5712
6182
  const contents = {
5713
6183
  SSES3: undefined,
@@ -6219,6 +6689,19 @@ const deserializeAws_restXmlListStorageLensConfigurationEntry = (output, context
6219
6689
  }
6220
6690
  return contents;
6221
6691
  };
6692
+ const deserializeAws_restXmlMetrics = (output, context) => {
6693
+ const contents = {
6694
+ Status: undefined,
6695
+ EventThreshold: undefined,
6696
+ };
6697
+ if (output["Status"] !== undefined) {
6698
+ contents.Status = __expectString(output["Status"]);
6699
+ }
6700
+ if (output["EventThreshold"] !== undefined) {
6701
+ contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output["EventThreshold"], context);
6702
+ }
6703
+ return contents;
6704
+ };
6222
6705
  const deserializeAws_restXmlMultiRegionAccessPointPolicyDocument = (output, context) => {
6223
6706
  const contents = {
6224
6707
  Established: undefined,
@@ -6525,10 +7008,14 @@ const deserializeAws_restXmlPutMultiRegionAccessPointPolicyInput = (output, cont
6525
7008
  const deserializeAws_restXmlRegion = (output, context) => {
6526
7009
  const contents = {
6527
7010
  Bucket: undefined,
7011
+ BucketAccountId: undefined,
6528
7012
  };
6529
7013
  if (output["Bucket"] !== undefined) {
6530
7014
  contents.Bucket = __expectString(output["Bucket"]);
6531
7015
  }
7016
+ if (output["BucketAccountId"] !== undefined) {
7017
+ contents.BucketAccountId = __expectString(output["BucketAccountId"]);
7018
+ }
6532
7019
  return contents;
6533
7020
  };
6534
7021
  const deserializeAws_restXmlRegionalBucket = (output, context) => {
@@ -6574,6 +7061,7 @@ const deserializeAws_restXmlRegionReport = (output, context) => {
6574
7061
  const contents = {
6575
7062
  Bucket: undefined,
6576
7063
  Region: undefined,
7064
+ BucketAccountId: undefined,
6577
7065
  };
6578
7066
  if (output["Bucket"] !== undefined) {
6579
7067
  contents.Bucket = __expectString(output["Bucket"]);
@@ -6581,6 +7069,9 @@ const deserializeAws_restXmlRegionReport = (output, context) => {
6581
7069
  if (output["Region"] !== undefined) {
6582
7070
  contents.Region = __expectString(output["Region"]);
6583
7071
  }
7072
+ if (output["BucketAccountId"] !== undefined) {
7073
+ contents.BucketAccountId = __expectString(output["BucketAccountId"]);
7074
+ }
6584
7075
  return contents;
6585
7076
  };
6586
7077
  const deserializeAws_restXmlRegionReportList = (output, context) => {
@@ -6597,6 +7088,116 @@ const deserializeAws_restXmlRegions = (output, context) => {
6597
7088
  return __expectString(entry);
6598
7089
  });
6599
7090
  };
7091
+ const deserializeAws_restXmlReplicaModifications = (output, context) => {
7092
+ const contents = {
7093
+ Status: undefined,
7094
+ };
7095
+ if (output["Status"] !== undefined) {
7096
+ contents.Status = __expectString(output["Status"]);
7097
+ }
7098
+ return contents;
7099
+ };
7100
+ const deserializeAws_restXmlReplicationConfiguration = (output, context) => {
7101
+ const contents = {
7102
+ Role: undefined,
7103
+ Rules: undefined,
7104
+ };
7105
+ if (output["Role"] !== undefined) {
7106
+ contents.Role = __expectString(output["Role"]);
7107
+ }
7108
+ if (output.Rules === "") {
7109
+ contents.Rules = [];
7110
+ }
7111
+ else if (output["Rules"] !== undefined && output["Rules"]["Rule"] !== undefined) {
7112
+ contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output["Rules"]["Rule"]), context);
7113
+ }
7114
+ return contents;
7115
+ };
7116
+ const deserializeAws_restXmlReplicationRule = (output, context) => {
7117
+ const contents = {
7118
+ ID: undefined,
7119
+ Priority: undefined,
7120
+ Prefix: undefined,
7121
+ Filter: undefined,
7122
+ Status: undefined,
7123
+ SourceSelectionCriteria: undefined,
7124
+ ExistingObjectReplication: undefined,
7125
+ Destination: undefined,
7126
+ DeleteMarkerReplication: undefined,
7127
+ Bucket: undefined,
7128
+ };
7129
+ if (output["ID"] !== undefined) {
7130
+ contents.ID = __expectString(output["ID"]);
7131
+ }
7132
+ if (output["Priority"] !== undefined) {
7133
+ contents.Priority = __strictParseInt32(output["Priority"]);
7134
+ }
7135
+ if (output["Prefix"] !== undefined) {
7136
+ contents.Prefix = __expectString(output["Prefix"]);
7137
+ }
7138
+ if (output["Filter"] !== undefined) {
7139
+ contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output["Filter"], context);
7140
+ }
7141
+ if (output["Status"] !== undefined) {
7142
+ contents.Status = __expectString(output["Status"]);
7143
+ }
7144
+ if (output["SourceSelectionCriteria"] !== undefined) {
7145
+ contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output["SourceSelectionCriteria"], context);
7146
+ }
7147
+ if (output["ExistingObjectReplication"] !== undefined) {
7148
+ contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output["ExistingObjectReplication"], context);
7149
+ }
7150
+ if (output["Destination"] !== undefined) {
7151
+ contents.Destination = deserializeAws_restXmlDestination(output["Destination"], context);
7152
+ }
7153
+ if (output["DeleteMarkerReplication"] !== undefined) {
7154
+ contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output["DeleteMarkerReplication"], context);
7155
+ }
7156
+ if (output["Bucket"] !== undefined) {
7157
+ contents.Bucket = __expectString(output["Bucket"]);
7158
+ }
7159
+ return contents;
7160
+ };
7161
+ const deserializeAws_restXmlReplicationRuleAndOperator = (output, context) => {
7162
+ const contents = {
7163
+ Prefix: undefined,
7164
+ Tags: undefined,
7165
+ };
7166
+ if (output["Prefix"] !== undefined) {
7167
+ contents.Prefix = __expectString(output["Prefix"]);
7168
+ }
7169
+ if (output.Tags === "") {
7170
+ contents.Tags = [];
7171
+ }
7172
+ else if (output["Tags"] !== undefined && output["Tags"]["member"] !== undefined) {
7173
+ contents.Tags = deserializeAws_restXmlS3TagSet(__getArrayIfSingleItem(output["Tags"]["member"]), context);
7174
+ }
7175
+ return contents;
7176
+ };
7177
+ const deserializeAws_restXmlReplicationRuleFilter = (output, context) => {
7178
+ const contents = {
7179
+ Prefix: undefined,
7180
+ Tag: undefined,
7181
+ And: undefined,
7182
+ };
7183
+ if (output["Prefix"] !== undefined) {
7184
+ contents.Prefix = __expectString(output["Prefix"]);
7185
+ }
7186
+ if (output["Tag"] !== undefined) {
7187
+ contents.Tag = deserializeAws_restXmlS3Tag(output["Tag"], context);
7188
+ }
7189
+ if (output["And"] !== undefined) {
7190
+ contents.And = deserializeAws_restXmlReplicationRuleAndOperator(output["And"], context);
7191
+ }
7192
+ return contents;
7193
+ };
7194
+ const deserializeAws_restXmlReplicationRules = (output, context) => {
7195
+ return (output || [])
7196
+ .filter((e) => e != null)
7197
+ .map((entry) => {
7198
+ return deserializeAws_restXmlReplicationRule(entry, context);
7199
+ });
7200
+ };
6600
7201
  const deserializeAws_restXmlReplicationStatusFilterList = (output, context) => {
6601
7202
  return (output || [])
6602
7203
  .filter((e) => e != null)
@@ -6604,6 +7205,28 @@ const deserializeAws_restXmlReplicationStatusFilterList = (output, context) => {
6604
7205
  return __expectString(entry);
6605
7206
  });
6606
7207
  };
7208
+ const deserializeAws_restXmlReplicationTime = (output, context) => {
7209
+ const contents = {
7210
+ Status: undefined,
7211
+ Time: undefined,
7212
+ };
7213
+ if (output["Status"] !== undefined) {
7214
+ contents.Status = __expectString(output["Status"]);
7215
+ }
7216
+ if (output["Time"] !== undefined) {
7217
+ contents.Time = deserializeAws_restXmlReplicationTimeValue(output["Time"], context);
7218
+ }
7219
+ return contents;
7220
+ };
7221
+ const deserializeAws_restXmlReplicationTimeValue = (output, context) => {
7222
+ const contents = {
7223
+ Minutes: undefined,
7224
+ };
7225
+ if (output["Minutes"] !== undefined) {
7226
+ contents.Minutes = __strictParseInt32(output["Minutes"]);
7227
+ }
7228
+ return contents;
7229
+ };
6607
7230
  const deserializeAws_restXmlRouteList = (output, context) => {
6608
7231
  return (output || [])
6609
7232
  .filter((e) => e != null)
@@ -7049,6 +7672,19 @@ const deserializeAws_restXmlSelectionCriteria = (output, context) => {
7049
7672
  }
7050
7673
  return contents;
7051
7674
  };
7675
+ const deserializeAws_restXmlSourceSelectionCriteria = (output, context) => {
7676
+ const contents = {
7677
+ SseKmsEncryptedObjects: undefined,
7678
+ ReplicaModifications: undefined,
7679
+ };
7680
+ if (output["SseKmsEncryptedObjects"] !== undefined) {
7681
+ contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output["SseKmsEncryptedObjects"], context);
7682
+ }
7683
+ if (output["ReplicaModifications"] !== undefined) {
7684
+ contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output["ReplicaModifications"], context);
7685
+ }
7686
+ return contents;
7687
+ };
7052
7688
  const deserializeAws_restXmlSSEKMS = (output, context) => {
7053
7689
  const contents = {
7054
7690
  KeyId: undefined,
@@ -7058,6 +7694,15 @@ const deserializeAws_restXmlSSEKMS = (output, context) => {
7058
7694
  }
7059
7695
  return contents;
7060
7696
  };
7697
+ const deserializeAws_restXmlSseKmsEncryptedObjects = (output, context) => {
7698
+ const contents = {
7699
+ Status: undefined,
7700
+ };
7701
+ if (output["Status"] !== undefined) {
7702
+ contents.Status = __expectString(output["Status"]);
7703
+ }
7704
+ return contents;
7705
+ };
7061
7706
  const deserializeAws_restXmlSSEKMSEncryption = (output, context) => {
7062
7707
  const contents = {
7063
7708
  KeyId: undefined,