@aws-sdk/client-sesv2 3.199.0 → 3.201.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 (54) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +7 -7
  3. package/dist-cjs/SESv2.js +60 -0
  4. package/dist-cjs/commands/BatchGetMetricDataCommand.js +46 -0
  5. package/dist-cjs/commands/ListRecommendationsCommand.js +46 -0
  6. package/dist-cjs/commands/PutAccountVdmAttributesCommand.js +46 -0
  7. package/dist-cjs/commands/PutConfigurationSetVdmOptionsCommand.js +46 -0
  8. package/dist-cjs/commands/index.js +4 -0
  9. package/dist-cjs/endpoint/EndpointParameters.js +2 -3
  10. package/dist-cjs/endpoint/ruleset.js +1 -1
  11. package/dist-cjs/models/models_0.js +173 -32
  12. package/dist-cjs/pagination/ListRecommendationsPaginator.js +36 -0
  13. package/dist-cjs/pagination/index.js +1 -0
  14. package/dist-cjs/protocols/Aws_restJson1.js +567 -97
  15. package/dist-cjs/runtimeConfig.browser.js +16 -16
  16. package/dist-cjs/runtimeConfig.js +20 -19
  17. package/dist-cjs/runtimeConfig.native.js +1 -2
  18. package/dist-cjs/runtimeConfig.shared.js +8 -11
  19. package/dist-es/SESv2.js +60 -0
  20. package/dist-es/commands/BatchGetMetricDataCommand.js +42 -0
  21. package/dist-es/commands/ListRecommendationsCommand.js +42 -0
  22. package/dist-es/commands/PutAccountVdmAttributesCommand.js +42 -0
  23. package/dist-es/commands/PutConfigurationSetVdmOptionsCommand.js +42 -0
  24. package/dist-es/commands/index.js +4 -0
  25. package/dist-es/endpoint/ruleset.js +1 -1
  26. package/dist-es/models/models_0.js +146 -24
  27. package/dist-es/pagination/ListRecommendationsPaginator.js +32 -0
  28. package/dist-es/pagination/index.js +1 -0
  29. package/dist-es/protocols/Aws_restJson1.js +467 -1
  30. package/dist-types/SESv2.d.ts +33 -0
  31. package/dist-types/SESv2Client.d.ts +6 -2
  32. package/dist-types/commands/BatchGetMetricDataCommand.d.ts +39 -0
  33. package/dist-types/commands/ListRecommendationsCommand.d.ts +38 -0
  34. package/dist-types/commands/PutAccountVdmAttributesCommand.d.ts +38 -0
  35. package/dist-types/commands/PutConfigurationSetVdmOptionsCommand.d.ts +38 -0
  36. package/dist-types/commands/index.d.ts +4 -0
  37. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  38. package/dist-types/models/models_0.d.ts +552 -22
  39. package/dist-types/pagination/ListRecommendationsPaginator.d.ts +4 -0
  40. package/dist-types/pagination/index.d.ts +1 -0
  41. package/dist-types/protocols/Aws_restJson1.d.ts +12 -0
  42. package/dist-types/ts3.4/SESv2.d.ts +68 -0
  43. package/dist-types/ts3.4/SESv2Client.d.ts +24 -0
  44. package/dist-types/ts3.4/commands/BatchGetMetricDataCommand.d.ts +38 -0
  45. package/dist-types/ts3.4/commands/ListRecommendationsCommand.d.ts +38 -0
  46. package/dist-types/ts3.4/commands/PutAccountVdmAttributesCommand.d.ts +41 -0
  47. package/dist-types/ts3.4/commands/PutConfigurationSetVdmOptionsCommand.d.ts +41 -0
  48. package/dist-types/ts3.4/commands/index.d.ts +4 -0
  49. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  50. package/dist-types/ts3.4/models/models_0.d.ts +194 -12
  51. package/dist-types/ts3.4/pagination/ListRecommendationsPaginator.d.ts +11 -0
  52. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  53. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +48 -0
  54. package/package.json +33 -33
@@ -1,19 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeAws_restJson1ListImportJobsCommand = exports.serializeAws_restJson1ListEmailTemplatesCommand = exports.serializeAws_restJson1ListEmailIdentitiesCommand = exports.serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = exports.serializeAws_restJson1ListDeliverabilityTestReportsCommand = exports.serializeAws_restJson1ListDedicatedIpPoolsCommand = exports.serializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = exports.serializeAws_restJson1ListContactsCommand = exports.serializeAws_restJson1ListContactListsCommand = exports.serializeAws_restJson1ListConfigurationSetsCommand = exports.serializeAws_restJson1GetSuppressedDestinationCommand = exports.serializeAws_restJson1GetImportJobCommand = exports.serializeAws_restJson1GetEmailTemplateCommand = exports.serializeAws_restJson1GetEmailIdentityPoliciesCommand = exports.serializeAws_restJson1GetEmailIdentityCommand = exports.serializeAws_restJson1GetDomainStatisticsReportCommand = exports.serializeAws_restJson1GetDomainDeliverabilityCampaignCommand = exports.serializeAws_restJson1GetDeliverabilityTestReportCommand = exports.serializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = exports.serializeAws_restJson1GetDedicatedIpsCommand = exports.serializeAws_restJson1GetDedicatedIpPoolCommand = exports.serializeAws_restJson1GetDedicatedIpCommand = exports.serializeAws_restJson1GetCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1GetContactListCommand = exports.serializeAws_restJson1GetContactCommand = exports.serializeAws_restJson1GetConfigurationSetEventDestinationsCommand = exports.serializeAws_restJson1GetConfigurationSetCommand = exports.serializeAws_restJson1GetBlacklistReportsCommand = exports.serializeAws_restJson1GetAccountCommand = exports.serializeAws_restJson1DeleteSuppressedDestinationCommand = exports.serializeAws_restJson1DeleteEmailTemplateCommand = exports.serializeAws_restJson1DeleteEmailIdentityPolicyCommand = exports.serializeAws_restJson1DeleteEmailIdentityCommand = exports.serializeAws_restJson1DeleteDedicatedIpPoolCommand = exports.serializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1DeleteContactListCommand = exports.serializeAws_restJson1DeleteContactCommand = exports.serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1DeleteConfigurationSetCommand = exports.serializeAws_restJson1CreateImportJobCommand = exports.serializeAws_restJson1CreateEmailTemplateCommand = exports.serializeAws_restJson1CreateEmailIdentityPolicyCommand = exports.serializeAws_restJson1CreateEmailIdentityCommand = exports.serializeAws_restJson1CreateDeliverabilityTestReportCommand = exports.serializeAws_restJson1CreateDedicatedIpPoolCommand = exports.serializeAws_restJson1CreateCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1CreateContactListCommand = exports.serializeAws_restJson1CreateContactCommand = exports.serializeAws_restJson1CreateConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1CreateConfigurationSetCommand = void 0;
4
- exports.deserializeAws_restJson1DeleteEmailIdentityCommand = exports.deserializeAws_restJson1DeleteDedicatedIpPoolCommand = exports.deserializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1DeleteContactListCommand = exports.deserializeAws_restJson1DeleteContactCommand = exports.deserializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1DeleteConfigurationSetCommand = exports.deserializeAws_restJson1CreateImportJobCommand = exports.deserializeAws_restJson1CreateEmailTemplateCommand = exports.deserializeAws_restJson1CreateEmailIdentityPolicyCommand = exports.deserializeAws_restJson1CreateEmailIdentityCommand = exports.deserializeAws_restJson1CreateDeliverabilityTestReportCommand = exports.deserializeAws_restJson1CreateDedicatedIpPoolCommand = exports.deserializeAws_restJson1CreateCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1CreateContactListCommand = exports.deserializeAws_restJson1CreateContactCommand = exports.deserializeAws_restJson1CreateConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1CreateConfigurationSetCommand = exports.serializeAws_restJson1UpdateEmailTemplateCommand = exports.serializeAws_restJson1UpdateEmailIdentityPolicyCommand = exports.serializeAws_restJson1UpdateCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1UpdateContactListCommand = exports.serializeAws_restJson1UpdateContactCommand = exports.serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1UntagResourceCommand = exports.serializeAws_restJson1TestRenderEmailTemplateCommand = exports.serializeAws_restJson1TagResourceCommand = exports.serializeAws_restJson1SendEmailCommand = exports.serializeAws_restJson1SendCustomVerificationEmailCommand = exports.serializeAws_restJson1SendBulkEmailCommand = exports.serializeAws_restJson1PutSuppressedDestinationCommand = exports.serializeAws_restJson1PutEmailIdentityMailFromAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityFeedbackAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityDkimSigningAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityDkimAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityConfigurationSetAttributesCommand = exports.serializeAws_restJson1PutDeliverabilityDashboardOptionCommand = exports.serializeAws_restJson1PutDedicatedIpWarmupAttributesCommand = exports.serializeAws_restJson1PutDedicatedIpInPoolCommand = exports.serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetSuppressionOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetSendingOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetReputationOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = exports.serializeAws_restJson1PutAccountSuppressionAttributesCommand = exports.serializeAws_restJson1PutAccountSendingAttributesCommand = exports.serializeAws_restJson1PutAccountDetailsCommand = exports.serializeAws_restJson1PutAccountDedicatedIpWarmupAttributesCommand = exports.serializeAws_restJson1ListTagsForResourceCommand = exports.serializeAws_restJson1ListSuppressedDestinationsCommand = void 0;
5
- exports.deserializeAws_restJson1PutEmailIdentityFeedbackAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityDkimSigningAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityDkimAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityConfigurationSetAttributesCommand = exports.deserializeAws_restJson1PutDeliverabilityDashboardOptionCommand = exports.deserializeAws_restJson1PutDedicatedIpWarmupAttributesCommand = exports.deserializeAws_restJson1PutDedicatedIpInPoolCommand = exports.deserializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetSuppressionOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetSendingOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetReputationOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = exports.deserializeAws_restJson1PutAccountSuppressionAttributesCommand = exports.deserializeAws_restJson1PutAccountSendingAttributesCommand = exports.deserializeAws_restJson1PutAccountDetailsCommand = exports.deserializeAws_restJson1PutAccountDedicatedIpWarmupAttributesCommand = exports.deserializeAws_restJson1ListTagsForResourceCommand = exports.deserializeAws_restJson1ListSuppressedDestinationsCommand = exports.deserializeAws_restJson1ListImportJobsCommand = exports.deserializeAws_restJson1ListEmailTemplatesCommand = exports.deserializeAws_restJson1ListEmailIdentitiesCommand = exports.deserializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = exports.deserializeAws_restJson1ListDeliverabilityTestReportsCommand = exports.deserializeAws_restJson1ListDedicatedIpPoolsCommand = exports.deserializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = exports.deserializeAws_restJson1ListContactsCommand = exports.deserializeAws_restJson1ListContactListsCommand = exports.deserializeAws_restJson1ListConfigurationSetsCommand = exports.deserializeAws_restJson1GetSuppressedDestinationCommand = exports.deserializeAws_restJson1GetImportJobCommand = exports.deserializeAws_restJson1GetEmailTemplateCommand = exports.deserializeAws_restJson1GetEmailIdentityPoliciesCommand = exports.deserializeAws_restJson1GetEmailIdentityCommand = exports.deserializeAws_restJson1GetDomainStatisticsReportCommand = exports.deserializeAws_restJson1GetDomainDeliverabilityCampaignCommand = exports.deserializeAws_restJson1GetDeliverabilityTestReportCommand = exports.deserializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = exports.deserializeAws_restJson1GetDedicatedIpsCommand = exports.deserializeAws_restJson1GetDedicatedIpPoolCommand = exports.deserializeAws_restJson1GetDedicatedIpCommand = exports.deserializeAws_restJson1GetCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1GetContactListCommand = exports.deserializeAws_restJson1GetContactCommand = exports.deserializeAws_restJson1GetConfigurationSetEventDestinationsCommand = exports.deserializeAws_restJson1GetConfigurationSetCommand = exports.deserializeAws_restJson1GetBlacklistReportsCommand = exports.deserializeAws_restJson1GetAccountCommand = exports.deserializeAws_restJson1DeleteSuppressedDestinationCommand = exports.deserializeAws_restJson1DeleteEmailTemplateCommand = exports.deserializeAws_restJson1DeleteEmailIdentityPolicyCommand = void 0;
6
- exports.deserializeAws_restJson1UpdateEmailTemplateCommand = exports.deserializeAws_restJson1UpdateEmailIdentityPolicyCommand = exports.deserializeAws_restJson1UpdateCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1UpdateContactListCommand = exports.deserializeAws_restJson1UpdateContactCommand = exports.deserializeAws_restJson1UpdateConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1UntagResourceCommand = exports.deserializeAws_restJson1TestRenderEmailTemplateCommand = exports.deserializeAws_restJson1TagResourceCommand = exports.deserializeAws_restJson1SendEmailCommand = exports.deserializeAws_restJson1SendCustomVerificationEmailCommand = exports.deserializeAws_restJson1SendBulkEmailCommand = exports.deserializeAws_restJson1PutSuppressedDestinationCommand = exports.deserializeAws_restJson1PutEmailIdentityMailFromAttributesCommand = void 0;
3
+ exports.serializeAws_restJson1ListEmailTemplatesCommand = exports.serializeAws_restJson1ListEmailIdentitiesCommand = exports.serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = exports.serializeAws_restJson1ListDeliverabilityTestReportsCommand = exports.serializeAws_restJson1ListDedicatedIpPoolsCommand = exports.serializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = exports.serializeAws_restJson1ListContactsCommand = exports.serializeAws_restJson1ListContactListsCommand = exports.serializeAws_restJson1ListConfigurationSetsCommand = exports.serializeAws_restJson1GetSuppressedDestinationCommand = exports.serializeAws_restJson1GetImportJobCommand = exports.serializeAws_restJson1GetEmailTemplateCommand = exports.serializeAws_restJson1GetEmailIdentityPoliciesCommand = exports.serializeAws_restJson1GetEmailIdentityCommand = exports.serializeAws_restJson1GetDomainStatisticsReportCommand = exports.serializeAws_restJson1GetDomainDeliverabilityCampaignCommand = exports.serializeAws_restJson1GetDeliverabilityTestReportCommand = exports.serializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = exports.serializeAws_restJson1GetDedicatedIpsCommand = exports.serializeAws_restJson1GetDedicatedIpPoolCommand = exports.serializeAws_restJson1GetDedicatedIpCommand = exports.serializeAws_restJson1GetCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1GetContactListCommand = exports.serializeAws_restJson1GetContactCommand = exports.serializeAws_restJson1GetConfigurationSetEventDestinationsCommand = exports.serializeAws_restJson1GetConfigurationSetCommand = exports.serializeAws_restJson1GetBlacklistReportsCommand = exports.serializeAws_restJson1GetAccountCommand = exports.serializeAws_restJson1DeleteSuppressedDestinationCommand = exports.serializeAws_restJson1DeleteEmailTemplateCommand = exports.serializeAws_restJson1DeleteEmailIdentityPolicyCommand = exports.serializeAws_restJson1DeleteEmailIdentityCommand = exports.serializeAws_restJson1DeleteDedicatedIpPoolCommand = exports.serializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1DeleteContactListCommand = exports.serializeAws_restJson1DeleteContactCommand = exports.serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1DeleteConfigurationSetCommand = exports.serializeAws_restJson1CreateImportJobCommand = exports.serializeAws_restJson1CreateEmailTemplateCommand = exports.serializeAws_restJson1CreateEmailIdentityPolicyCommand = exports.serializeAws_restJson1CreateEmailIdentityCommand = exports.serializeAws_restJson1CreateDeliverabilityTestReportCommand = exports.serializeAws_restJson1CreateDedicatedIpPoolCommand = exports.serializeAws_restJson1CreateCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1CreateContactListCommand = exports.serializeAws_restJson1CreateContactCommand = exports.serializeAws_restJson1CreateConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1CreateConfigurationSetCommand = exports.serializeAws_restJson1BatchGetMetricDataCommand = void 0;
4
+ exports.deserializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1DeleteConfigurationSetCommand = exports.deserializeAws_restJson1CreateImportJobCommand = exports.deserializeAws_restJson1CreateEmailTemplateCommand = exports.deserializeAws_restJson1CreateEmailIdentityPolicyCommand = exports.deserializeAws_restJson1CreateEmailIdentityCommand = exports.deserializeAws_restJson1CreateDeliverabilityTestReportCommand = exports.deserializeAws_restJson1CreateDedicatedIpPoolCommand = exports.deserializeAws_restJson1CreateCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1CreateContactListCommand = exports.deserializeAws_restJson1CreateContactCommand = exports.deserializeAws_restJson1CreateConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1CreateConfigurationSetCommand = exports.deserializeAws_restJson1BatchGetMetricDataCommand = exports.serializeAws_restJson1UpdateEmailTemplateCommand = exports.serializeAws_restJson1UpdateEmailIdentityPolicyCommand = exports.serializeAws_restJson1UpdateCustomVerificationEmailTemplateCommand = exports.serializeAws_restJson1UpdateContactListCommand = exports.serializeAws_restJson1UpdateContactCommand = exports.serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand = exports.serializeAws_restJson1UntagResourceCommand = exports.serializeAws_restJson1TestRenderEmailTemplateCommand = exports.serializeAws_restJson1TagResourceCommand = exports.serializeAws_restJson1SendEmailCommand = exports.serializeAws_restJson1SendCustomVerificationEmailCommand = exports.serializeAws_restJson1SendBulkEmailCommand = exports.serializeAws_restJson1PutSuppressedDestinationCommand = exports.serializeAws_restJson1PutEmailIdentityMailFromAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityFeedbackAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityDkimSigningAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityDkimAttributesCommand = exports.serializeAws_restJson1PutEmailIdentityConfigurationSetAttributesCommand = exports.serializeAws_restJson1PutDeliverabilityDashboardOptionCommand = exports.serializeAws_restJson1PutDedicatedIpWarmupAttributesCommand = exports.serializeAws_restJson1PutDedicatedIpInPoolCommand = exports.serializeAws_restJson1PutConfigurationSetVdmOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetSuppressionOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetSendingOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetReputationOptionsCommand = exports.serializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = exports.serializeAws_restJson1PutAccountVdmAttributesCommand = exports.serializeAws_restJson1PutAccountSuppressionAttributesCommand = exports.serializeAws_restJson1PutAccountSendingAttributesCommand = exports.serializeAws_restJson1PutAccountDetailsCommand = exports.serializeAws_restJson1PutAccountDedicatedIpWarmupAttributesCommand = exports.serializeAws_restJson1ListTagsForResourceCommand = exports.serializeAws_restJson1ListSuppressedDestinationsCommand = exports.serializeAws_restJson1ListRecommendationsCommand = exports.serializeAws_restJson1ListImportJobsCommand = void 0;
5
+ exports.deserializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetSuppressionOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetSendingOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetReputationOptionsCommand = exports.deserializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = exports.deserializeAws_restJson1PutAccountVdmAttributesCommand = exports.deserializeAws_restJson1PutAccountSuppressionAttributesCommand = exports.deserializeAws_restJson1PutAccountSendingAttributesCommand = exports.deserializeAws_restJson1PutAccountDetailsCommand = exports.deserializeAws_restJson1PutAccountDedicatedIpWarmupAttributesCommand = exports.deserializeAws_restJson1ListTagsForResourceCommand = exports.deserializeAws_restJson1ListSuppressedDestinationsCommand = exports.deserializeAws_restJson1ListRecommendationsCommand = exports.deserializeAws_restJson1ListImportJobsCommand = exports.deserializeAws_restJson1ListEmailTemplatesCommand = exports.deserializeAws_restJson1ListEmailIdentitiesCommand = exports.deserializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = exports.deserializeAws_restJson1ListDeliverabilityTestReportsCommand = exports.deserializeAws_restJson1ListDedicatedIpPoolsCommand = exports.deserializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = exports.deserializeAws_restJson1ListContactsCommand = exports.deserializeAws_restJson1ListContactListsCommand = exports.deserializeAws_restJson1ListConfigurationSetsCommand = exports.deserializeAws_restJson1GetSuppressedDestinationCommand = exports.deserializeAws_restJson1GetImportJobCommand = exports.deserializeAws_restJson1GetEmailTemplateCommand = exports.deserializeAws_restJson1GetEmailIdentityPoliciesCommand = exports.deserializeAws_restJson1GetEmailIdentityCommand = exports.deserializeAws_restJson1GetDomainStatisticsReportCommand = exports.deserializeAws_restJson1GetDomainDeliverabilityCampaignCommand = exports.deserializeAws_restJson1GetDeliverabilityTestReportCommand = exports.deserializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = exports.deserializeAws_restJson1GetDedicatedIpsCommand = exports.deserializeAws_restJson1GetDedicatedIpPoolCommand = exports.deserializeAws_restJson1GetDedicatedIpCommand = exports.deserializeAws_restJson1GetCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1GetContactListCommand = exports.deserializeAws_restJson1GetContactCommand = exports.deserializeAws_restJson1GetConfigurationSetEventDestinationsCommand = exports.deserializeAws_restJson1GetConfigurationSetCommand = exports.deserializeAws_restJson1GetBlacklistReportsCommand = exports.deserializeAws_restJson1GetAccountCommand = exports.deserializeAws_restJson1DeleteSuppressedDestinationCommand = exports.deserializeAws_restJson1DeleteEmailTemplateCommand = exports.deserializeAws_restJson1DeleteEmailIdentityPolicyCommand = exports.deserializeAws_restJson1DeleteEmailIdentityCommand = exports.deserializeAws_restJson1DeleteDedicatedIpPoolCommand = exports.deserializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1DeleteContactListCommand = exports.deserializeAws_restJson1DeleteContactCommand = void 0;
6
+ exports.deserializeAws_restJson1UpdateEmailTemplateCommand = exports.deserializeAws_restJson1UpdateEmailIdentityPolicyCommand = exports.deserializeAws_restJson1UpdateCustomVerificationEmailTemplateCommand = exports.deserializeAws_restJson1UpdateContactListCommand = exports.deserializeAws_restJson1UpdateContactCommand = exports.deserializeAws_restJson1UpdateConfigurationSetEventDestinationCommand = exports.deserializeAws_restJson1UntagResourceCommand = exports.deserializeAws_restJson1TestRenderEmailTemplateCommand = exports.deserializeAws_restJson1TagResourceCommand = exports.deserializeAws_restJson1SendEmailCommand = exports.deserializeAws_restJson1SendCustomVerificationEmailCommand = exports.deserializeAws_restJson1SendBulkEmailCommand = exports.deserializeAws_restJson1PutSuppressedDestinationCommand = exports.deserializeAws_restJson1PutEmailIdentityMailFromAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityFeedbackAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityDkimSigningAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityDkimAttributesCommand = exports.deserializeAws_restJson1PutEmailIdentityConfigurationSetAttributesCommand = exports.deserializeAws_restJson1PutDeliverabilityDashboardOptionCommand = exports.deserializeAws_restJson1PutDedicatedIpWarmupAttributesCommand = exports.deserializeAws_restJson1PutDedicatedIpInPoolCommand = exports.deserializeAws_restJson1PutConfigurationSetVdmOptionsCommand = void 0;
7
7
  const protocol_http_1 = require("@aws-sdk/protocol-http");
8
8
  const smithy_client_1 = require("@aws-sdk/smithy-client");
9
9
  const models_0_1 = require("../models/models_0");
10
10
  const SESv2ServiceException_1 = require("../models/SESv2ServiceException");
11
+ const serializeAws_restJson1BatchGetMetricDataCommand = async (input, context) => {
12
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
13
+ const headers = {
14
+ "content-type": "application/json",
15
+ };
16
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/metrics/batch";
17
+ let body;
18
+ body = JSON.stringify({
19
+ ...(input.Queries != null && { Queries: serializeAws_restJson1BatchGetMetricDataQueries(input.Queries, context) }),
20
+ });
21
+ return new protocol_http_1.HttpRequest({
22
+ protocol,
23
+ hostname,
24
+ port,
25
+ method: "POST",
26
+ headers,
27
+ path: resolvedPath,
28
+ body,
29
+ });
30
+ };
31
+ exports.serializeAws_restJson1BatchGetMetricDataCommand = serializeAws_restJson1BatchGetMetricDataCommand;
11
32
  const serializeAws_restJson1CreateConfigurationSetCommand = async (input, context) => {
12
33
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
13
34
  const headers = {
14
35
  "content-type": "application/json",
15
36
  };
16
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/configuration-sets";
37
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/configuration-sets";
17
38
  let body;
18
39
  body = JSON.stringify({
19
40
  ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
@@ -33,6 +54,7 @@ const serializeAws_restJson1CreateConfigurationSetCommand = async (input, contex
33
54
  ...(input.TrackingOptions != null && {
34
55
  TrackingOptions: serializeAws_restJson1TrackingOptions(input.TrackingOptions, context),
35
56
  }),
57
+ ...(input.VdmOptions != null && { VdmOptions: serializeAws_restJson1VdmOptions(input.VdmOptions, context) }),
36
58
  });
37
59
  return new protocol_http_1.HttpRequest({
38
60
  protocol,
@@ -50,7 +72,7 @@ const serializeAws_restJson1CreateConfigurationSetEventDestinationCommand = asyn
50
72
  const headers = {
51
73
  "content-type": "application/json",
52
74
  };
53
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
75
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
54
76
  "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations";
55
77
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
56
78
  let body;
@@ -76,7 +98,7 @@ const serializeAws_restJson1CreateContactCommand = async (input, context) => {
76
98
  const headers = {
77
99
  "content-type": "application/json",
78
100
  };
79
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
101
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
80
102
  "/v2/email/contact-lists/{ContactListName}/contacts";
81
103
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
82
104
  let body;
@@ -104,7 +126,7 @@ const serializeAws_restJson1CreateContactListCommand = async (input, context) =>
104
126
  const headers = {
105
127
  "content-type": "application/json",
106
128
  };
107
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists";
129
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists";
108
130
  let body;
109
131
  body = JSON.stringify({
110
132
  ...(input.ContactListName != null && { ContactListName: input.ContactListName }),
@@ -128,7 +150,7 @@ const serializeAws_restJson1CreateCustomVerificationEmailTemplateCommand = async
128
150
  const headers = {
129
151
  "content-type": "application/json",
130
152
  };
131
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
153
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
132
154
  "/v2/email/custom-verification-email-templates";
133
155
  let body;
134
156
  body = JSON.stringify({
@@ -155,7 +177,7 @@ const serializeAws_restJson1CreateDedicatedIpPoolCommand = async (input, context
155
177
  const headers = {
156
178
  "content-type": "application/json",
157
179
  };
158
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools";
180
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools";
159
181
  let body;
160
182
  body = JSON.stringify({
161
183
  ...(input.PoolName != null && { PoolName: input.PoolName }),
@@ -178,7 +200,7 @@ const serializeAws_restJson1CreateDeliverabilityTestReportCommand = async (input
178
200
  const headers = {
179
201
  "content-type": "application/json",
180
202
  };
181
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard/test";
203
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard/test";
182
204
  let body;
183
205
  body = JSON.stringify({
184
206
  ...(input.Content != null && { Content: serializeAws_restJson1EmailContent(input.Content, context) }),
@@ -202,7 +224,7 @@ const serializeAws_restJson1CreateEmailIdentityCommand = async (input, context)
202
224
  const headers = {
203
225
  "content-type": "application/json",
204
226
  };
205
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities";
227
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities";
206
228
  let body;
207
229
  body = JSON.stringify({
208
230
  ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
@@ -228,7 +250,7 @@ const serializeAws_restJson1CreateEmailIdentityPolicyCommand = async (input, con
228
250
  const headers = {
229
251
  "content-type": "application/json",
230
252
  };
231
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
253
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
232
254
  "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}";
233
255
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
234
256
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "PolicyName", () => input.PolicyName, "{PolicyName}", false);
@@ -252,7 +274,7 @@ const serializeAws_restJson1CreateEmailTemplateCommand = async (input, context)
252
274
  const headers = {
253
275
  "content-type": "application/json",
254
276
  };
255
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates";
277
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates";
256
278
  let body;
257
279
  body = JSON.stringify({
258
280
  ...(input.TemplateContent != null && {
@@ -276,7 +298,7 @@ const serializeAws_restJson1CreateImportJobCommand = async (input, context) => {
276
298
  const headers = {
277
299
  "content-type": "application/json",
278
300
  };
279
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs";
301
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs";
280
302
  let body;
281
303
  body = JSON.stringify({
282
304
  ...(input.ImportDataSource != null && {
@@ -300,7 +322,7 @@ exports.serializeAws_restJson1CreateImportJobCommand = serializeAws_restJson1Cre
300
322
  const serializeAws_restJson1DeleteConfigurationSetCommand = async (input, context) => {
301
323
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
302
324
  const headers = {};
303
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
325
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
304
326
  "/v2/email/configuration-sets/{ConfigurationSetName}";
305
327
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
306
328
  let body;
@@ -318,7 +340,7 @@ exports.serializeAws_restJson1DeleteConfigurationSetCommand = serializeAws_restJ
318
340
  const serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = async (input, context) => {
319
341
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
320
342
  const headers = {};
321
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
343
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
322
344
  "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}";
323
345
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
324
346
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EventDestinationName", () => input.EventDestinationName, "{EventDestinationName}", false);
@@ -337,7 +359,7 @@ exports.serializeAws_restJson1DeleteConfigurationSetEventDestinationCommand = se
337
359
  const serializeAws_restJson1DeleteContactCommand = async (input, context) => {
338
360
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
339
361
  const headers = {};
340
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
362
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
341
363
  "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}";
342
364
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
343
365
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
@@ -356,7 +378,7 @@ exports.serializeAws_restJson1DeleteContactCommand = serializeAws_restJson1Delet
356
378
  const serializeAws_restJson1DeleteContactListCommand = async (input, context) => {
357
379
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
358
380
  const headers = {};
359
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
381
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
360
382
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
361
383
  let body;
362
384
  return new protocol_http_1.HttpRequest({
@@ -373,7 +395,7 @@ exports.serializeAws_restJson1DeleteContactListCommand = serializeAws_restJson1D
373
395
  const serializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = async (input, context) => {
374
396
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
375
397
  const headers = {};
376
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
398
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
377
399
  "/v2/email/custom-verification-email-templates/{TemplateName}";
378
400
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
379
401
  let body;
@@ -391,7 +413,7 @@ exports.serializeAws_restJson1DeleteCustomVerificationEmailTemplateCommand = ser
391
413
  const serializeAws_restJson1DeleteDedicatedIpPoolCommand = async (input, context) => {
392
414
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
393
415
  const headers = {};
394
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools/{PoolName}";
416
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools/{PoolName}";
395
417
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "PoolName", () => input.PoolName, "{PoolName}", false);
396
418
  let body;
397
419
  return new protocol_http_1.HttpRequest({
@@ -408,7 +430,7 @@ exports.serializeAws_restJson1DeleteDedicatedIpPoolCommand = serializeAws_restJs
408
430
  const serializeAws_restJson1DeleteEmailIdentityCommand = async (input, context) => {
409
431
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
410
432
  const headers = {};
411
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}";
433
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}";
412
434
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
413
435
  let body;
414
436
  return new protocol_http_1.HttpRequest({
@@ -425,7 +447,7 @@ exports.serializeAws_restJson1DeleteEmailIdentityCommand = serializeAws_restJson
425
447
  const serializeAws_restJson1DeleteEmailIdentityPolicyCommand = async (input, context) => {
426
448
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
427
449
  const headers = {};
428
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
450
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
429
451
  "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}";
430
452
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
431
453
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "PolicyName", () => input.PolicyName, "{PolicyName}", false);
@@ -444,7 +466,7 @@ exports.serializeAws_restJson1DeleteEmailIdentityPolicyCommand = serializeAws_re
444
466
  const serializeAws_restJson1DeleteEmailTemplateCommand = async (input, context) => {
445
467
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
446
468
  const headers = {};
447
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
469
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
448
470
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
449
471
  let body;
450
472
  return new protocol_http_1.HttpRequest({
@@ -461,7 +483,7 @@ exports.serializeAws_restJson1DeleteEmailTemplateCommand = serializeAws_restJson
461
483
  const serializeAws_restJson1DeleteSuppressedDestinationCommand = async (input, context) => {
462
484
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
463
485
  const headers = {};
464
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
486
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
465
487
  "/v2/email/suppression/addresses/{EmailAddress}";
466
488
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
467
489
  let body;
@@ -481,7 +503,7 @@ const serializeAws_restJson1GetAccountCommand = async (input, context) => {
481
503
  const headers = {
482
504
  "content-type": "application/json",
483
505
  };
484
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account";
506
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account";
485
507
  let body;
486
508
  body = "";
487
509
  return new protocol_http_1.HttpRequest({
@@ -498,7 +520,7 @@ exports.serializeAws_restJson1GetAccountCommand = serializeAws_restJson1GetAccou
498
520
  const serializeAws_restJson1GetBlacklistReportsCommand = async (input, context) => {
499
521
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
500
522
  const headers = {};
501
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
523
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
502
524
  "/v2/email/deliverability-dashboard/blacklist-report";
503
525
  const query = map({
504
526
  BlacklistItemNames: [
@@ -522,7 +544,7 @@ exports.serializeAws_restJson1GetBlacklistReportsCommand = serializeAws_restJson
522
544
  const serializeAws_restJson1GetConfigurationSetCommand = async (input, context) => {
523
545
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
524
546
  const headers = {};
525
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
547
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
526
548
  "/v2/email/configuration-sets/{ConfigurationSetName}";
527
549
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
528
550
  let body;
@@ -540,7 +562,7 @@ exports.serializeAws_restJson1GetConfigurationSetCommand = serializeAws_restJson
540
562
  const serializeAws_restJson1GetConfigurationSetEventDestinationsCommand = async (input, context) => {
541
563
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
542
564
  const headers = {};
543
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
565
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
544
566
  "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations";
545
567
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
546
568
  let body;
@@ -558,7 +580,7 @@ exports.serializeAws_restJson1GetConfigurationSetEventDestinationsCommand = seri
558
580
  const serializeAws_restJson1GetContactCommand = async (input, context) => {
559
581
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
560
582
  const headers = {};
561
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
583
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
562
584
  "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}";
563
585
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
564
586
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
@@ -577,7 +599,7 @@ exports.serializeAws_restJson1GetContactCommand = serializeAws_restJson1GetConta
577
599
  const serializeAws_restJson1GetContactListCommand = async (input, context) => {
578
600
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
579
601
  const headers = {};
580
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
602
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
581
603
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
582
604
  let body;
583
605
  return new protocol_http_1.HttpRequest({
@@ -594,7 +616,7 @@ exports.serializeAws_restJson1GetContactListCommand = serializeAws_restJson1GetC
594
616
  const serializeAws_restJson1GetCustomVerificationEmailTemplateCommand = async (input, context) => {
595
617
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
596
618
  const headers = {};
597
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
619
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
598
620
  "/v2/email/custom-verification-email-templates/{TemplateName}";
599
621
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
600
622
  let body;
@@ -612,7 +634,7 @@ exports.serializeAws_restJson1GetCustomVerificationEmailTemplateCommand = serial
612
634
  const serializeAws_restJson1GetDedicatedIpCommand = async (input, context) => {
613
635
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
614
636
  const headers = {};
615
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}";
637
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}";
616
638
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Ip", () => input.Ip, "{Ip}", false);
617
639
  let body;
618
640
  return new protocol_http_1.HttpRequest({
@@ -629,7 +651,7 @@ exports.serializeAws_restJson1GetDedicatedIpCommand = serializeAws_restJson1GetD
629
651
  const serializeAws_restJson1GetDedicatedIpPoolCommand = async (input, context) => {
630
652
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
631
653
  const headers = {};
632
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools/{PoolName}";
654
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools/{PoolName}";
633
655
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "PoolName", () => input.PoolName, "{PoolName}", false);
634
656
  let body;
635
657
  return new protocol_http_1.HttpRequest({
@@ -646,7 +668,7 @@ exports.serializeAws_restJson1GetDedicatedIpPoolCommand = serializeAws_restJson1
646
668
  const serializeAws_restJson1GetDedicatedIpsCommand = async (input, context) => {
647
669
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
648
670
  const headers = {};
649
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips";
671
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips";
650
672
  const query = map({
651
673
  PoolName: [, input.PoolName],
652
674
  NextToken: [, input.NextToken],
@@ -670,7 +692,7 @@ const serializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = async (in
670
692
  const headers = {
671
693
  "content-type": "application/json",
672
694
  };
673
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard";
695
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard";
674
696
  let body;
675
697
  body = "";
676
698
  return new protocol_http_1.HttpRequest({
@@ -687,7 +709,7 @@ exports.serializeAws_restJson1GetDeliverabilityDashboardOptionsCommand = seriali
687
709
  const serializeAws_restJson1GetDeliverabilityTestReportCommand = async (input, context) => {
688
710
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
689
711
  const headers = {};
690
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
712
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
691
713
  "/v2/email/deliverability-dashboard/test-reports/{ReportId}";
692
714
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ReportId", () => input.ReportId, "{ReportId}", false);
693
715
  let body;
@@ -705,7 +727,7 @@ exports.serializeAws_restJson1GetDeliverabilityTestReportCommand = serializeAws_
705
727
  const serializeAws_restJson1GetDomainDeliverabilityCampaignCommand = async (input, context) => {
706
728
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
707
729
  const headers = {};
708
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
730
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
709
731
  "/v2/email/deliverability-dashboard/campaigns/{CampaignId}";
710
732
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "CampaignId", () => input.CampaignId, "{CampaignId}", false);
711
733
  let body;
@@ -723,7 +745,7 @@ exports.serializeAws_restJson1GetDomainDeliverabilityCampaignCommand = serialize
723
745
  const serializeAws_restJson1GetDomainStatisticsReportCommand = async (input, context) => {
724
746
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
725
747
  const headers = {};
726
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
748
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
727
749
  "/v2/email/deliverability-dashboard/statistics-report/{Domain}";
728
750
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Domain", () => input.Domain, "{Domain}", false);
729
751
  const query = map({
@@ -749,7 +771,7 @@ exports.serializeAws_restJson1GetDomainStatisticsReportCommand = serializeAws_re
749
771
  const serializeAws_restJson1GetEmailIdentityCommand = async (input, context) => {
750
772
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
751
773
  const headers = {};
752
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}";
774
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}";
753
775
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
754
776
  let body;
755
777
  return new protocol_http_1.HttpRequest({
@@ -766,7 +788,7 @@ exports.serializeAws_restJson1GetEmailIdentityCommand = serializeAws_restJson1Ge
766
788
  const serializeAws_restJson1GetEmailIdentityPoliciesCommand = async (input, context) => {
767
789
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
768
790
  const headers = {};
769
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
791
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
770
792
  "/v2/email/identities/{EmailIdentity}/policies";
771
793
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
772
794
  let body;
@@ -784,7 +806,7 @@ exports.serializeAws_restJson1GetEmailIdentityPoliciesCommand = serializeAws_res
784
806
  const serializeAws_restJson1GetEmailTemplateCommand = async (input, context) => {
785
807
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
786
808
  const headers = {};
787
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
809
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
788
810
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
789
811
  let body;
790
812
  return new protocol_http_1.HttpRequest({
@@ -801,7 +823,7 @@ exports.serializeAws_restJson1GetEmailTemplateCommand = serializeAws_restJson1Ge
801
823
  const serializeAws_restJson1GetImportJobCommand = async (input, context) => {
802
824
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
803
825
  const headers = {};
804
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs/{JobId}";
826
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs/{JobId}";
805
827
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "JobId", () => input.JobId, "{JobId}", false);
806
828
  let body;
807
829
  return new protocol_http_1.HttpRequest({
@@ -818,7 +840,7 @@ exports.serializeAws_restJson1GetImportJobCommand = serializeAws_restJson1GetImp
818
840
  const serializeAws_restJson1GetSuppressedDestinationCommand = async (input, context) => {
819
841
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
820
842
  const headers = {};
821
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
843
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
822
844
  "/v2/email/suppression/addresses/{EmailAddress}";
823
845
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
824
846
  let body;
@@ -836,7 +858,7 @@ exports.serializeAws_restJson1GetSuppressedDestinationCommand = serializeAws_res
836
858
  const serializeAws_restJson1ListConfigurationSetsCommand = async (input, context) => {
837
859
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
838
860
  const headers = {};
839
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/configuration-sets";
861
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/configuration-sets";
840
862
  const query = map({
841
863
  NextToken: [, input.NextToken],
842
864
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
@@ -857,7 +879,7 @@ exports.serializeAws_restJson1ListConfigurationSetsCommand = serializeAws_restJs
857
879
  const serializeAws_restJson1ListContactListsCommand = async (input, context) => {
858
880
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
859
881
  const headers = {};
860
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists";
882
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists";
861
883
  const query = map({
862
884
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
863
885
  NextToken: [, input.NextToken],
@@ -880,7 +902,7 @@ const serializeAws_restJson1ListContactsCommand = async (input, context) => {
880
902
  const headers = {
881
903
  "content-type": "application/json",
882
904
  };
883
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
905
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
884
906
  "/v2/email/contact-lists/{ContactListName}/contacts";
885
907
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
886
908
  const query = map({
@@ -906,7 +928,7 @@ exports.serializeAws_restJson1ListContactsCommand = serializeAws_restJson1ListCo
906
928
  const serializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = async (input, context) => {
907
929
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
908
930
  const headers = {};
909
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
931
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
910
932
  "/v2/email/custom-verification-email-templates";
911
933
  const query = map({
912
934
  NextToken: [, input.NextToken],
@@ -928,7 +950,7 @@ exports.serializeAws_restJson1ListCustomVerificationEmailTemplatesCommand = seri
928
950
  const serializeAws_restJson1ListDedicatedIpPoolsCommand = async (input, context) => {
929
951
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
930
952
  const headers = {};
931
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools";
953
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools";
932
954
  const query = map({
933
955
  NextToken: [, input.NextToken],
934
956
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
@@ -949,7 +971,7 @@ exports.serializeAws_restJson1ListDedicatedIpPoolsCommand = serializeAws_restJso
949
971
  const serializeAws_restJson1ListDeliverabilityTestReportsCommand = async (input, context) => {
950
972
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
951
973
  const headers = {};
952
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
974
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
953
975
  "/v2/email/deliverability-dashboard/test-reports";
954
976
  const query = map({
955
977
  NextToken: [, input.NextToken],
@@ -971,7 +993,7 @@ exports.serializeAws_restJson1ListDeliverabilityTestReportsCommand = serializeAw
971
993
  const serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = async (input, context) => {
972
994
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
973
995
  const headers = {};
974
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
996
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
975
997
  "/v2/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns";
976
998
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "SubscribedDomain", () => input.SubscribedDomain, "{SubscribedDomain}", false);
977
999
  const query = map({
@@ -999,7 +1021,7 @@ exports.serializeAws_restJson1ListDomainDeliverabilityCampaignsCommand = seriali
999
1021
  const serializeAws_restJson1ListEmailIdentitiesCommand = async (input, context) => {
1000
1022
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1001
1023
  const headers = {};
1002
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities";
1024
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities";
1003
1025
  const query = map({
1004
1026
  NextToken: [, input.NextToken],
1005
1027
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
@@ -1020,7 +1042,7 @@ exports.serializeAws_restJson1ListEmailIdentitiesCommand = serializeAws_restJson
1020
1042
  const serializeAws_restJson1ListEmailTemplatesCommand = async (input, context) => {
1021
1043
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1022
1044
  const headers = {};
1023
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates";
1045
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates";
1024
1046
  const query = map({
1025
1047
  NextToken: [, input.NextToken],
1026
1048
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
@@ -1043,7 +1065,7 @@ const serializeAws_restJson1ListImportJobsCommand = async (input, context) => {
1043
1065
  const headers = {
1044
1066
  "content-type": "application/json",
1045
1067
  };
1046
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs";
1068
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs";
1047
1069
  const query = map({
1048
1070
  NextToken: [, input.NextToken],
1049
1071
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
@@ -1064,10 +1086,33 @@ const serializeAws_restJson1ListImportJobsCommand = async (input, context) => {
1064
1086
  });
1065
1087
  };
1066
1088
  exports.serializeAws_restJson1ListImportJobsCommand = serializeAws_restJson1ListImportJobsCommand;
1089
+ const serializeAws_restJson1ListRecommendationsCommand = async (input, context) => {
1090
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1091
+ const headers = {
1092
+ "content-type": "application/json",
1093
+ };
1094
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/vdm/recommendations";
1095
+ let body;
1096
+ body = JSON.stringify({
1097
+ ...(input.Filter != null && { Filter: serializeAws_restJson1ListRecommendationsFilter(input.Filter, context) }),
1098
+ ...(input.NextToken != null && { NextToken: input.NextToken }),
1099
+ ...(input.PageSize != null && { PageSize: input.PageSize }),
1100
+ });
1101
+ return new protocol_http_1.HttpRequest({
1102
+ protocol,
1103
+ hostname,
1104
+ port,
1105
+ method: "POST",
1106
+ headers,
1107
+ path: resolvedPath,
1108
+ body,
1109
+ });
1110
+ };
1111
+ exports.serializeAws_restJson1ListRecommendationsCommand = serializeAws_restJson1ListRecommendationsCommand;
1067
1112
  const serializeAws_restJson1ListSuppressedDestinationsCommand = async (input, context) => {
1068
1113
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1069
1114
  const headers = {};
1070
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/suppression/addresses";
1115
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/suppression/addresses";
1071
1116
  const query = map({
1072
1117
  Reason: [() => input.Reasons !== void 0, () => (input.Reasons || []).map((_entry) => _entry)],
1073
1118
  StartDate: [
@@ -1094,7 +1139,7 @@ exports.serializeAws_restJson1ListSuppressedDestinationsCommand = serializeAws_r
1094
1139
  const serializeAws_restJson1ListTagsForResourceCommand = async (input, context) => {
1095
1140
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1096
1141
  const headers = {};
1097
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1142
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1098
1143
  const query = map({
1099
1144
  ResourceArn: [, input.ResourceArn],
1100
1145
  });
@@ -1116,7 +1161,7 @@ const serializeAws_restJson1PutAccountDedicatedIpWarmupAttributesCommand = async
1116
1161
  const headers = {
1117
1162
  "content-type": "application/json",
1118
1163
  };
1119
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/dedicated-ips/warmup";
1164
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/dedicated-ips/warmup";
1120
1165
  let body;
1121
1166
  body = JSON.stringify({
1122
1167
  ...(input.AutoWarmupEnabled != null && { AutoWarmupEnabled: input.AutoWarmupEnabled }),
@@ -1137,7 +1182,7 @@ const serializeAws_restJson1PutAccountDetailsCommand = async (input, context) =>
1137
1182
  const headers = {
1138
1183
  "content-type": "application/json",
1139
1184
  };
1140
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/details";
1185
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/details";
1141
1186
  let body;
1142
1187
  body = JSON.stringify({
1143
1188
  ...(input.AdditionalContactEmailAddresses != null && {
@@ -1165,7 +1210,7 @@ const serializeAws_restJson1PutAccountSendingAttributesCommand = async (input, c
1165
1210
  const headers = {
1166
1211
  "content-type": "application/json",
1167
1212
  };
1168
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/sending";
1213
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/sending";
1169
1214
  let body;
1170
1215
  body = JSON.stringify({
1171
1216
  ...(input.SendingEnabled != null && { SendingEnabled: input.SendingEnabled }),
@@ -1186,7 +1231,7 @@ const serializeAws_restJson1PutAccountSuppressionAttributesCommand = async (inpu
1186
1231
  const headers = {
1187
1232
  "content-type": "application/json",
1188
1233
  };
1189
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/suppression";
1234
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/suppression";
1190
1235
  let body;
1191
1236
  body = JSON.stringify({
1192
1237
  ...(input.SuppressedReasons != null && {
@@ -1204,12 +1249,35 @@ const serializeAws_restJson1PutAccountSuppressionAttributesCommand = async (inpu
1204
1249
  });
1205
1250
  };
1206
1251
  exports.serializeAws_restJson1PutAccountSuppressionAttributesCommand = serializeAws_restJson1PutAccountSuppressionAttributesCommand;
1252
+ const serializeAws_restJson1PutAccountVdmAttributesCommand = async (input, context) => {
1253
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1254
+ const headers = {
1255
+ "content-type": "application/json",
1256
+ };
1257
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/vdm";
1258
+ let body;
1259
+ body = JSON.stringify({
1260
+ ...(input.VdmAttributes != null && {
1261
+ VdmAttributes: serializeAws_restJson1VdmAttributes(input.VdmAttributes, context),
1262
+ }),
1263
+ });
1264
+ return new protocol_http_1.HttpRequest({
1265
+ protocol,
1266
+ hostname,
1267
+ port,
1268
+ method: "PUT",
1269
+ headers,
1270
+ path: resolvedPath,
1271
+ body,
1272
+ });
1273
+ };
1274
+ exports.serializeAws_restJson1PutAccountVdmAttributesCommand = serializeAws_restJson1PutAccountVdmAttributesCommand;
1207
1275
  const serializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = async (input, context) => {
1208
1276
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1209
1277
  const headers = {
1210
1278
  "content-type": "application/json",
1211
1279
  };
1212
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1280
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1213
1281
  "/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options";
1214
1282
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1215
1283
  let body;
@@ -1233,7 +1301,7 @@ const serializeAws_restJson1PutConfigurationSetReputationOptionsCommand = async
1233
1301
  const headers = {
1234
1302
  "content-type": "application/json",
1235
1303
  };
1236
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1304
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1237
1305
  "/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options";
1238
1306
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1239
1307
  let body;
@@ -1256,7 +1324,7 @@ const serializeAws_restJson1PutConfigurationSetSendingOptionsCommand = async (in
1256
1324
  const headers = {
1257
1325
  "content-type": "application/json",
1258
1326
  };
1259
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1327
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1260
1328
  "/v2/email/configuration-sets/{ConfigurationSetName}/sending";
1261
1329
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1262
1330
  let body;
@@ -1279,7 +1347,7 @@ const serializeAws_restJson1PutConfigurationSetSuppressionOptionsCommand = async
1279
1347
  const headers = {
1280
1348
  "content-type": "application/json",
1281
1349
  };
1282
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1350
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1283
1351
  "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options";
1284
1352
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1285
1353
  let body;
@@ -1304,7 +1372,7 @@ const serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = async (i
1304
1372
  const headers = {
1305
1373
  "content-type": "application/json",
1306
1374
  };
1307
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1375
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1308
1376
  "/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options";
1309
1377
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1310
1378
  let body;
@@ -1322,12 +1390,35 @@ const serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = async (i
1322
1390
  });
1323
1391
  };
1324
1392
  exports.serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand = serializeAws_restJson1PutConfigurationSetTrackingOptionsCommand;
1393
+ const serializeAws_restJson1PutConfigurationSetVdmOptionsCommand = async (input, context) => {
1394
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1395
+ const headers = {
1396
+ "content-type": "application/json",
1397
+ };
1398
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1399
+ "/v2/email/configuration-sets/{ConfigurationSetName}/vdm-options";
1400
+ resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1401
+ let body;
1402
+ body = JSON.stringify({
1403
+ ...(input.VdmOptions != null && { VdmOptions: serializeAws_restJson1VdmOptions(input.VdmOptions, context) }),
1404
+ });
1405
+ return new protocol_http_1.HttpRequest({
1406
+ protocol,
1407
+ hostname,
1408
+ port,
1409
+ method: "PUT",
1410
+ headers,
1411
+ path: resolvedPath,
1412
+ body,
1413
+ });
1414
+ };
1415
+ exports.serializeAws_restJson1PutConfigurationSetVdmOptionsCommand = serializeAws_restJson1PutConfigurationSetVdmOptionsCommand;
1325
1416
  const serializeAws_restJson1PutDedicatedIpInPoolCommand = async (input, context) => {
1326
1417
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1327
1418
  const headers = {
1328
1419
  "content-type": "application/json",
1329
1420
  };
1330
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/pool";
1421
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/pool";
1331
1422
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Ip", () => input.Ip, "{Ip}", false);
1332
1423
  let body;
1333
1424
  body = JSON.stringify({
@@ -1349,7 +1440,7 @@ const serializeAws_restJson1PutDedicatedIpWarmupAttributesCommand = async (input
1349
1440
  const headers = {
1350
1441
  "content-type": "application/json",
1351
1442
  };
1352
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/warmup";
1443
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/warmup";
1353
1444
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "Ip", () => input.Ip, "{Ip}", false);
1354
1445
  let body;
1355
1446
  body = JSON.stringify({
@@ -1371,7 +1462,7 @@ const serializeAws_restJson1PutDeliverabilityDashboardOptionCommand = async (inp
1371
1462
  const headers = {
1372
1463
  "content-type": "application/json",
1373
1464
  };
1374
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard";
1465
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard";
1375
1466
  let body;
1376
1467
  body = JSON.stringify({
1377
1468
  ...(input.DashboardEnabled != null && { DashboardEnabled: input.DashboardEnabled }),
@@ -1395,7 +1486,7 @@ const serializeAws_restJson1PutEmailIdentityConfigurationSetAttributesCommand =
1395
1486
  const headers = {
1396
1487
  "content-type": "application/json",
1397
1488
  };
1398
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1489
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1399
1490
  "/v2/email/identities/{EmailIdentity}/configuration-set";
1400
1491
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1401
1492
  let body;
@@ -1418,7 +1509,7 @@ const serializeAws_restJson1PutEmailIdentityDkimAttributesCommand = async (input
1418
1509
  const headers = {
1419
1510
  "content-type": "application/json",
1420
1511
  };
1421
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}/dkim";
1512
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}/dkim";
1422
1513
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1423
1514
  let body;
1424
1515
  body = JSON.stringify({
@@ -1440,7 +1531,7 @@ const serializeAws_restJson1PutEmailIdentityDkimSigningAttributesCommand = async
1440
1531
  const headers = {
1441
1532
  "content-type": "application/json",
1442
1533
  };
1443
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1534
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1444
1535
  "/v1/email/identities/{EmailIdentity}/dkim/signing";
1445
1536
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1446
1537
  let body;
@@ -1466,7 +1557,7 @@ const serializeAws_restJson1PutEmailIdentityFeedbackAttributesCommand = async (i
1466
1557
  const headers = {
1467
1558
  "content-type": "application/json",
1468
1559
  };
1469
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1560
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1470
1561
  "/v2/email/identities/{EmailIdentity}/feedback";
1471
1562
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1472
1563
  let body;
@@ -1489,7 +1580,7 @@ const serializeAws_restJson1PutEmailIdentityMailFromAttributesCommand = async (i
1489
1580
  const headers = {
1490
1581
  "content-type": "application/json",
1491
1582
  };
1492
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1583
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1493
1584
  "/v2/email/identities/{EmailIdentity}/mail-from";
1494
1585
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1495
1586
  let body;
@@ -1513,7 +1604,7 @@ const serializeAws_restJson1PutSuppressedDestinationCommand = async (input, cont
1513
1604
  const headers = {
1514
1605
  "content-type": "application/json",
1515
1606
  };
1516
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/suppression/addresses";
1607
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/suppression/addresses";
1517
1608
  let body;
1518
1609
  body = JSON.stringify({
1519
1610
  ...(input.EmailAddress != null && { EmailAddress: input.EmailAddress }),
@@ -1535,7 +1626,7 @@ const serializeAws_restJson1SendBulkEmailCommand = async (input, context) => {
1535
1626
  const headers = {
1536
1627
  "content-type": "application/json",
1537
1628
  };
1538
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-bulk-emails";
1629
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-bulk-emails";
1539
1630
  let body;
1540
1631
  body = JSON.stringify({
1541
1632
  ...(input.BulkEmailEntries != null && {
@@ -1578,7 +1669,7 @@ const serializeAws_restJson1SendCustomVerificationEmailCommand = async (input, c
1578
1669
  const headers = {
1579
1670
  "content-type": "application/json",
1580
1671
  };
1581
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1672
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1582
1673
  "/v2/email/outbound-custom-verification-emails";
1583
1674
  let body;
1584
1675
  body = JSON.stringify({
@@ -1602,7 +1693,7 @@ const serializeAws_restJson1SendEmailCommand = async (input, context) => {
1602
1693
  const headers = {
1603
1694
  "content-type": "application/json",
1604
1695
  };
1605
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-emails";
1696
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-emails";
1606
1697
  let body;
1607
1698
  body = JSON.stringify({
1608
1699
  ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
@@ -1642,7 +1733,7 @@ const serializeAws_restJson1TagResourceCommand = async (input, context) => {
1642
1733
  const headers = {
1643
1734
  "content-type": "application/json",
1644
1735
  };
1645
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1736
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1646
1737
  let body;
1647
1738
  body = JSON.stringify({
1648
1739
  ...(input.ResourceArn != null && { ResourceArn: input.ResourceArn }),
@@ -1664,7 +1755,7 @@ const serializeAws_restJson1TestRenderEmailTemplateCommand = async (input, conte
1664
1755
  const headers = {
1665
1756
  "content-type": "application/json",
1666
1757
  };
1667
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}/render";
1758
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}/render";
1668
1759
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1669
1760
  let body;
1670
1761
  body = JSON.stringify({
@@ -1684,7 +1775,7 @@ exports.serializeAws_restJson1TestRenderEmailTemplateCommand = serializeAws_rest
1684
1775
  const serializeAws_restJson1UntagResourceCommand = async (input, context) => {
1685
1776
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1686
1777
  const headers = {};
1687
- const resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1778
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1688
1779
  const query = map({
1689
1780
  ResourceArn: [, input.ResourceArn],
1690
1781
  TagKeys: [() => input.TagKeys !== void 0, () => (input.TagKeys || []).map((_entry) => _entry)],
@@ -1707,7 +1798,7 @@ const serializeAws_restJson1UpdateConfigurationSetEventDestinationCommand = asyn
1707
1798
  const headers = {
1708
1799
  "content-type": "application/json",
1709
1800
  };
1710
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1801
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1711
1802
  "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}";
1712
1803
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1713
1804
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EventDestinationName", () => input.EventDestinationName, "{EventDestinationName}", false);
@@ -1733,7 +1824,7 @@ const serializeAws_restJson1UpdateContactCommand = async (input, context) => {
1733
1824
  const headers = {
1734
1825
  "content-type": "application/json",
1735
1826
  };
1736
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1827
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1737
1828
  "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}";
1738
1829
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
1739
1830
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
@@ -1761,7 +1852,7 @@ const serializeAws_restJson1UpdateContactListCommand = async (input, context) =>
1761
1852
  const headers = {
1762
1853
  "content-type": "application/json",
1763
1854
  };
1764
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
1855
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
1765
1856
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
1766
1857
  let body;
1767
1858
  body = JSON.stringify({
@@ -1784,7 +1875,7 @@ const serializeAws_restJson1UpdateCustomVerificationEmailTemplateCommand = async
1784
1875
  const headers = {
1785
1876
  "content-type": "application/json",
1786
1877
  };
1787
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1878
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1788
1879
  "/v2/email/custom-verification-email-templates/{TemplateName}";
1789
1880
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1790
1881
  let body;
@@ -1811,7 +1902,7 @@ const serializeAws_restJson1UpdateEmailIdentityPolicyCommand = async (input, con
1811
1902
  const headers = {
1812
1903
  "content-type": "application/json",
1813
1904
  };
1814
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` +
1905
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1815
1906
  "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}";
1816
1907
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1817
1908
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "PolicyName", () => input.PolicyName, "{PolicyName}", false);
@@ -1835,7 +1926,7 @@ const serializeAws_restJson1UpdateEmailTemplateCommand = async (input, context)
1835
1926
  const headers = {
1836
1927
  "content-type": "application/json",
1837
1928
  };
1838
- let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
1929
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
1839
1930
  resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1840
1931
  let body;
1841
1932
  body = JSON.stringify({
@@ -1854,6 +1945,52 @@ const serializeAws_restJson1UpdateEmailTemplateCommand = async (input, context)
1854
1945
  });
1855
1946
  };
1856
1947
  exports.serializeAws_restJson1UpdateEmailTemplateCommand = serializeAws_restJson1UpdateEmailTemplateCommand;
1948
+ const deserializeAws_restJson1BatchGetMetricDataCommand = async (output, context) => {
1949
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1950
+ return deserializeAws_restJson1BatchGetMetricDataCommandError(output, context);
1951
+ }
1952
+ const contents = map({
1953
+ $metadata: deserializeMetadata(output),
1954
+ });
1955
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
1956
+ if (data.Errors != null) {
1957
+ contents.Errors = deserializeAws_restJson1MetricDataErrorList(data.Errors, context);
1958
+ }
1959
+ if (data.Results != null) {
1960
+ contents.Results = deserializeAws_restJson1MetricDataResultList(data.Results, context);
1961
+ }
1962
+ return contents;
1963
+ };
1964
+ exports.deserializeAws_restJson1BatchGetMetricDataCommand = deserializeAws_restJson1BatchGetMetricDataCommand;
1965
+ const deserializeAws_restJson1BatchGetMetricDataCommandError = async (output, context) => {
1966
+ const parsedOutput = {
1967
+ ...output,
1968
+ body: await parseErrorBody(output.body, context),
1969
+ };
1970
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1971
+ switch (errorCode) {
1972
+ case "BadRequestException":
1973
+ case "com.amazonaws.sesv2#BadRequestException":
1974
+ throw await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context);
1975
+ case "InternalServiceErrorException":
1976
+ case "com.amazonaws.sesv2#InternalServiceErrorException":
1977
+ throw await deserializeAws_restJson1InternalServiceErrorExceptionResponse(parsedOutput, context);
1978
+ case "NotFoundException":
1979
+ case "com.amazonaws.sesv2#NotFoundException":
1980
+ throw await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context);
1981
+ case "TooManyRequestsException":
1982
+ case "com.amazonaws.sesv2#TooManyRequestsException":
1983
+ throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);
1984
+ default:
1985
+ const parsedBody = parsedOutput.body;
1986
+ (0, smithy_client_1.throwDefaultError)({
1987
+ output,
1988
+ parsedBody,
1989
+ exceptionCtor: SESv2ServiceException_1.SESv2ServiceException,
1990
+ errorCode,
1991
+ });
1992
+ }
1993
+ };
1857
1994
  const deserializeAws_restJson1CreateConfigurationSetCommand = async (output, context) => {
1858
1995
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1859
1996
  return deserializeAws_restJson1CreateConfigurationSetCommandError(output, context);
@@ -2759,6 +2896,9 @@ const deserializeAws_restJson1GetAccountCommand = async (output, context) => {
2759
2896
  if (data.SuppressionAttributes != null) {
2760
2897
  contents.SuppressionAttributes = deserializeAws_restJson1SuppressionAttributes(data.SuppressionAttributes, context);
2761
2898
  }
2899
+ if (data.VdmAttributes != null) {
2900
+ contents.VdmAttributes = deserializeAws_restJson1VdmAttributes(data.VdmAttributes, context);
2901
+ }
2762
2902
  return contents;
2763
2903
  };
2764
2904
  exports.deserializeAws_restJson1GetAccountCommand = deserializeAws_restJson1GetAccountCommand;
@@ -2854,6 +2994,9 @@ const deserializeAws_restJson1GetConfigurationSetCommand = async (output, contex
2854
2994
  if (data.TrackingOptions != null) {
2855
2995
  contents.TrackingOptions = deserializeAws_restJson1TrackingOptions(data.TrackingOptions, context);
2856
2996
  }
2997
+ if (data.VdmOptions != null) {
2998
+ contents.VdmOptions = deserializeAws_restJson1VdmOptions(data.VdmOptions, context);
2999
+ }
2857
3000
  return contents;
2858
3001
  };
2859
3002
  exports.deserializeAws_restJson1GetConfigurationSetCommand = deserializeAws_restJson1GetConfigurationSetCommand;
@@ -4064,6 +4207,49 @@ const deserializeAws_restJson1ListImportJobsCommandError = async (output, contex
4064
4207
  });
4065
4208
  }
4066
4209
  };
4210
+ const deserializeAws_restJson1ListRecommendationsCommand = async (output, context) => {
4211
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4212
+ return deserializeAws_restJson1ListRecommendationsCommandError(output, context);
4213
+ }
4214
+ const contents = map({
4215
+ $metadata: deserializeMetadata(output),
4216
+ });
4217
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
4218
+ if (data.NextToken != null) {
4219
+ contents.NextToken = (0, smithy_client_1.expectString)(data.NextToken);
4220
+ }
4221
+ if (data.Recommendations != null) {
4222
+ contents.Recommendations = deserializeAws_restJson1RecommendationsList(data.Recommendations, context);
4223
+ }
4224
+ return contents;
4225
+ };
4226
+ exports.deserializeAws_restJson1ListRecommendationsCommand = deserializeAws_restJson1ListRecommendationsCommand;
4227
+ const deserializeAws_restJson1ListRecommendationsCommandError = async (output, context) => {
4228
+ const parsedOutput = {
4229
+ ...output,
4230
+ body: await parseErrorBody(output.body, context),
4231
+ };
4232
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
4233
+ switch (errorCode) {
4234
+ case "BadRequestException":
4235
+ case "com.amazonaws.sesv2#BadRequestException":
4236
+ throw await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context);
4237
+ case "NotFoundException":
4238
+ case "com.amazonaws.sesv2#NotFoundException":
4239
+ throw await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context);
4240
+ case "TooManyRequestsException":
4241
+ case "com.amazonaws.sesv2#TooManyRequestsException":
4242
+ throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);
4243
+ default:
4244
+ const parsedBody = parsedOutput.body;
4245
+ (0, smithy_client_1.throwDefaultError)({
4246
+ output,
4247
+ parsedBody,
4248
+ exceptionCtor: SESv2ServiceException_1.SESv2ServiceException,
4249
+ errorCode,
4250
+ });
4251
+ }
4252
+ };
4067
4253
  const deserializeAws_restJson1ListSuppressedDestinationsCommand = async (output, context) => {
4068
4254
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4069
4255
  return deserializeAws_restJson1ListSuppressedDestinationsCommandError(output, context);
@@ -4286,6 +4472,40 @@ const deserializeAws_restJson1PutAccountSuppressionAttributesCommandError = asyn
4286
4472
  });
4287
4473
  }
4288
4474
  };
4475
+ const deserializeAws_restJson1PutAccountVdmAttributesCommand = async (output, context) => {
4476
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4477
+ return deserializeAws_restJson1PutAccountVdmAttributesCommandError(output, context);
4478
+ }
4479
+ const contents = map({
4480
+ $metadata: deserializeMetadata(output),
4481
+ });
4482
+ await collectBody(output.body, context);
4483
+ return contents;
4484
+ };
4485
+ exports.deserializeAws_restJson1PutAccountVdmAttributesCommand = deserializeAws_restJson1PutAccountVdmAttributesCommand;
4486
+ const deserializeAws_restJson1PutAccountVdmAttributesCommandError = async (output, context) => {
4487
+ const parsedOutput = {
4488
+ ...output,
4489
+ body: await parseErrorBody(output.body, context),
4490
+ };
4491
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
4492
+ switch (errorCode) {
4493
+ case "BadRequestException":
4494
+ case "com.amazonaws.sesv2#BadRequestException":
4495
+ throw await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context);
4496
+ case "TooManyRequestsException":
4497
+ case "com.amazonaws.sesv2#TooManyRequestsException":
4498
+ throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);
4499
+ default:
4500
+ const parsedBody = parsedOutput.body;
4501
+ (0, smithy_client_1.throwDefaultError)({
4502
+ output,
4503
+ parsedBody,
4504
+ exceptionCtor: SESv2ServiceException_1.SESv2ServiceException,
4505
+ errorCode,
4506
+ });
4507
+ }
4508
+ };
4289
4509
  const deserializeAws_restJson1PutConfigurationSetDeliveryOptionsCommand = async (output, context) => {
4290
4510
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4291
4511
  return deserializeAws_restJson1PutConfigurationSetDeliveryOptionsCommandError(output, context);
@@ -4471,6 +4691,43 @@ const deserializeAws_restJson1PutConfigurationSetTrackingOptionsCommandError = a
4471
4691
  });
4472
4692
  }
4473
4693
  };
4694
+ const deserializeAws_restJson1PutConfigurationSetVdmOptionsCommand = async (output, context) => {
4695
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4696
+ return deserializeAws_restJson1PutConfigurationSetVdmOptionsCommandError(output, context);
4697
+ }
4698
+ const contents = map({
4699
+ $metadata: deserializeMetadata(output),
4700
+ });
4701
+ await collectBody(output.body, context);
4702
+ return contents;
4703
+ };
4704
+ exports.deserializeAws_restJson1PutConfigurationSetVdmOptionsCommand = deserializeAws_restJson1PutConfigurationSetVdmOptionsCommand;
4705
+ const deserializeAws_restJson1PutConfigurationSetVdmOptionsCommandError = async (output, context) => {
4706
+ const parsedOutput = {
4707
+ ...output,
4708
+ body: await parseErrorBody(output.body, context),
4709
+ };
4710
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
4711
+ switch (errorCode) {
4712
+ case "BadRequestException":
4713
+ case "com.amazonaws.sesv2#BadRequestException":
4714
+ throw await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context);
4715
+ case "NotFoundException":
4716
+ case "com.amazonaws.sesv2#NotFoundException":
4717
+ throw await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context);
4718
+ case "TooManyRequestsException":
4719
+ case "com.amazonaws.sesv2#TooManyRequestsException":
4720
+ throw await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context);
4721
+ default:
4722
+ const parsedBody = parsedOutput.body;
4723
+ (0, smithy_client_1.throwDefaultError)({
4724
+ output,
4725
+ parsedBody,
4726
+ exceptionCtor: SESv2ServiceException_1.SESv2ServiceException,
4727
+ errorCode,
4728
+ });
4729
+ }
4730
+ };
4474
4731
  const deserializeAws_restJson1PutDedicatedIpInPoolCommand = async (output, context) => {
4475
4732
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4476
4733
  return deserializeAws_restJson1PutDedicatedIpInPoolCommandError(output, context);
@@ -5384,6 +5641,18 @@ const deserializeAws_restJson1ConflictExceptionResponse = async (parsedOutput, c
5384
5641
  });
5385
5642
  return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
5386
5643
  };
5644
+ const deserializeAws_restJson1InternalServiceErrorExceptionResponse = async (parsedOutput, context) => {
5645
+ const contents = map({});
5646
+ const data = parsedOutput.body;
5647
+ if (data.message != null) {
5648
+ contents.message = (0, smithy_client_1.expectString)(data.message);
5649
+ }
5650
+ const exception = new models_0_1.InternalServiceErrorException({
5651
+ $metadata: deserializeMetadata(parsedOutput),
5652
+ ...contents,
5653
+ });
5654
+ return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
5655
+ };
5387
5656
  const deserializeAws_restJson1InvalidNextTokenExceptionResponse = async (parsedOutput, context) => {
5388
5657
  const contents = map({});
5389
5658
  const data = parsedOutput.body;
@@ -5475,6 +5744,23 @@ const serializeAws_restJson1AdditionalContactEmailAddresses = (input, context) =
5475
5744
  return entry;
5476
5745
  });
5477
5746
  };
5747
+ const serializeAws_restJson1BatchGetMetricDataQueries = (input, context) => {
5748
+ return input
5749
+ .filter((e) => e != null)
5750
+ .map((entry) => {
5751
+ return serializeAws_restJson1BatchGetMetricDataQuery(entry, context);
5752
+ });
5753
+ };
5754
+ const serializeAws_restJson1BatchGetMetricDataQuery = (input, context) => {
5755
+ return {
5756
+ ...(input.Dimensions != null && { Dimensions: serializeAws_restJson1Dimensions(input.Dimensions, context) }),
5757
+ ...(input.EndDate != null && { EndDate: Math.round(input.EndDate.getTime() / 1000) }),
5758
+ ...(input.Id != null && { Id: input.Id }),
5759
+ ...(input.Metric != null && { Metric: input.Metric }),
5760
+ ...(input.Namespace != null && { Namespace: input.Namespace }),
5761
+ ...(input.StartDate != null && { StartDate: Math.round(input.StartDate.getTime() / 1000) }),
5762
+ };
5763
+ };
5478
5764
  const serializeAws_restJson1Body = (input, context) => {
5479
5765
  return {
5480
5766
  ...(input.Html != null && { Html: serializeAws_restJson1Content(input.Html, context) }),
@@ -5537,6 +5823,16 @@ const serializeAws_restJson1Content = (input, context) => {
5537
5823
  ...(input.Data != null && { Data: input.Data }),
5538
5824
  };
5539
5825
  };
5826
+ const serializeAws_restJson1DashboardAttributes = (input, context) => {
5827
+ return {
5828
+ ...(input.EngagementMetrics != null && { EngagementMetrics: input.EngagementMetrics }),
5829
+ };
5830
+ };
5831
+ const serializeAws_restJson1DashboardOptions = (input, context) => {
5832
+ return {
5833
+ ...(input.EngagementMetrics != null && { EngagementMetrics: input.EngagementMetrics }),
5834
+ };
5835
+ };
5540
5836
  const serializeAws_restJson1DeliveryOptions = (input, context) => {
5541
5837
  return {
5542
5838
  ...(input.SendingPoolName != null && { SendingPoolName: input.SendingPoolName }),
@@ -5556,6 +5852,17 @@ const serializeAws_restJson1Destination = (input, context) => {
5556
5852
  }),
5557
5853
  };
5558
5854
  };
5855
+ const serializeAws_restJson1Dimensions = (input, context) => {
5856
+ return Object.entries(input).reduce((acc, [key, value]) => {
5857
+ if (value === null) {
5858
+ return acc;
5859
+ }
5860
+ return {
5861
+ ...acc,
5862
+ [key]: value,
5863
+ };
5864
+ }, {});
5865
+ };
5559
5866
  const serializeAws_restJson1DkimSigningAttributes = (input, context) => {
5560
5867
  return {
5561
5868
  ...(input.DomainSigningPrivateKey != null && { DomainSigningPrivateKey: input.DomainSigningPrivateKey }),
@@ -5629,6 +5936,16 @@ const serializeAws_restJson1EventTypes = (input, context) => {
5629
5936
  return entry;
5630
5937
  });
5631
5938
  };
5939
+ const serializeAws_restJson1GuardianAttributes = (input, context) => {
5940
+ return {
5941
+ ...(input.OptimizedSharedDelivery != null && { OptimizedSharedDelivery: input.OptimizedSharedDelivery }),
5942
+ };
5943
+ };
5944
+ const serializeAws_restJson1GuardianOptions = (input, context) => {
5945
+ return {
5946
+ ...(input.OptimizedSharedDelivery != null && { OptimizedSharedDelivery: input.OptimizedSharedDelivery }),
5947
+ };
5948
+ };
5632
5949
  const serializeAws_restJson1ImportDataSource = (input, context) => {
5633
5950
  return {
5634
5951
  ...(input.DataFormat != null && { DataFormat: input.DataFormat }),
@@ -5676,6 +5993,17 @@ const serializeAws_restJson1ListManagementOptions = (input, context) => {
5676
5993
  ...(input.TopicName != null && { TopicName: input.TopicName }),
5677
5994
  };
5678
5995
  };
5996
+ const serializeAws_restJson1ListRecommendationsFilter = (input, context) => {
5997
+ return Object.entries(input).reduce((acc, [key, value]) => {
5998
+ if (value === null) {
5999
+ return acc;
6000
+ }
6001
+ return {
6002
+ ...acc,
6003
+ [key]: value,
6004
+ };
6005
+ }, {});
6006
+ };
5679
6007
  const serializeAws_restJson1Message = (input, context) => {
5680
6008
  return {
5681
6009
  ...(input.Body != null && { Body: serializeAws_restJson1Body(input.Body, context) }),
@@ -5815,6 +6143,27 @@ const serializeAws_restJson1TrackingOptions = (input, context) => {
5815
6143
  ...(input.CustomRedirectDomain != null && { CustomRedirectDomain: input.CustomRedirectDomain }),
5816
6144
  };
5817
6145
  };
6146
+ const serializeAws_restJson1VdmAttributes = (input, context) => {
6147
+ return {
6148
+ ...(input.DashboardAttributes != null && {
6149
+ DashboardAttributes: serializeAws_restJson1DashboardAttributes(input.DashboardAttributes, context),
6150
+ }),
6151
+ ...(input.GuardianAttributes != null && {
6152
+ GuardianAttributes: serializeAws_restJson1GuardianAttributes(input.GuardianAttributes, context),
6153
+ }),
6154
+ ...(input.VdmEnabled != null && { VdmEnabled: input.VdmEnabled }),
6155
+ };
6156
+ };
6157
+ const serializeAws_restJson1VdmOptions = (input, context) => {
6158
+ return {
6159
+ ...(input.DashboardOptions != null && {
6160
+ DashboardOptions: serializeAws_restJson1DashboardOptions(input.DashboardOptions, context),
6161
+ }),
6162
+ ...(input.GuardianOptions != null && {
6163
+ GuardianOptions: serializeAws_restJson1GuardianOptions(input.GuardianOptions, context),
6164
+ }),
6165
+ };
6166
+ };
5818
6167
  const deserializeAws_restJson1AccountDetails = (output, context) => {
5819
6168
  return {
5820
6169
  AdditionalContactEmailAddresses: output.AdditionalContactEmailAddresses != null
@@ -5994,6 +6343,16 @@ const deserializeAws_restJson1DailyVolumes = (output, context) => {
5994
6343
  });
5995
6344
  return retVal;
5996
6345
  };
6346
+ const deserializeAws_restJson1DashboardAttributes = (output, context) => {
6347
+ return {
6348
+ EngagementMetrics: (0, smithy_client_1.expectString)(output.EngagementMetrics),
6349
+ };
6350
+ };
6351
+ const deserializeAws_restJson1DashboardOptions = (output, context) => {
6352
+ return {
6353
+ EngagementMetrics: (0, smithy_client_1.expectString)(output.EngagementMetrics),
6354
+ };
6355
+ };
5997
6356
  const deserializeAws_restJson1DedicatedIp = (output, context) => {
5998
6357
  return {
5999
6358
  Ip: (0, smithy_client_1.expectString)(output.Ip),
@@ -6231,6 +6590,16 @@ const deserializeAws_restJson1FailureInfo = (output, context) => {
6231
6590
  FailedRecordsS3Url: (0, smithy_client_1.expectString)(output.FailedRecordsS3Url),
6232
6591
  };
6233
6592
  };
6593
+ const deserializeAws_restJson1GuardianAttributes = (output, context) => {
6594
+ return {
6595
+ OptimizedSharedDelivery: (0, smithy_client_1.expectString)(output.OptimizedSharedDelivery),
6596
+ };
6597
+ };
6598
+ const deserializeAws_restJson1GuardianOptions = (output, context) => {
6599
+ return {
6600
+ OptimizedSharedDelivery: (0, smithy_client_1.expectString)(output.OptimizedSharedDelivery),
6601
+ };
6602
+ };
6234
6603
  const deserializeAws_restJson1IdentityInfo = (output, context) => {
6235
6604
  return {
6236
6605
  IdentityName: (0, smithy_client_1.expectString)(output.IdentityName),
@@ -6384,6 +6753,53 @@ const deserializeAws_restJson1MailFromAttributes = (output, context) => {
6384
6753
  MailFromDomainStatus: (0, smithy_client_1.expectString)(output.MailFromDomainStatus),
6385
6754
  };
6386
6755
  };
6756
+ const deserializeAws_restJson1MetricDataError = (output, context) => {
6757
+ return {
6758
+ Code: (0, smithy_client_1.expectString)(output.Code),
6759
+ Id: (0, smithy_client_1.expectString)(output.Id),
6760
+ Message: (0, smithy_client_1.expectString)(output.Message),
6761
+ };
6762
+ };
6763
+ const deserializeAws_restJson1MetricDataErrorList = (output, context) => {
6764
+ const retVal = (output || [])
6765
+ .filter((e) => e != null)
6766
+ .map((entry) => {
6767
+ if (entry === null) {
6768
+ return null;
6769
+ }
6770
+ return deserializeAws_restJson1MetricDataError(entry, context);
6771
+ });
6772
+ return retVal;
6773
+ };
6774
+ const deserializeAws_restJson1MetricDataResult = (output, context) => {
6775
+ return {
6776
+ Id: (0, smithy_client_1.expectString)(output.Id),
6777
+ Timestamps: output.Timestamps != null ? deserializeAws_restJson1TimestampList(output.Timestamps, context) : undefined,
6778
+ Values: output.Values != null ? deserializeAws_restJson1MetricValueList(output.Values, context) : undefined,
6779
+ };
6780
+ };
6781
+ const deserializeAws_restJson1MetricDataResultList = (output, context) => {
6782
+ const retVal = (output || [])
6783
+ .filter((e) => e != null)
6784
+ .map((entry) => {
6785
+ if (entry === null) {
6786
+ return null;
6787
+ }
6788
+ return deserializeAws_restJson1MetricDataResult(entry, context);
6789
+ });
6790
+ return retVal;
6791
+ };
6792
+ const deserializeAws_restJson1MetricValueList = (output, context) => {
6793
+ const retVal = (output || [])
6794
+ .filter((e) => e != null)
6795
+ .map((entry) => {
6796
+ if (entry === null) {
6797
+ return null;
6798
+ }
6799
+ return (0, smithy_client_1.expectLong)(entry);
6800
+ });
6801
+ return retVal;
6802
+ };
6387
6803
  const deserializeAws_restJson1OverallVolume = (output, context) => {
6388
6804
  return {
6389
6805
  DomainIspPlacements: output.DomainIspPlacements != null
@@ -6420,6 +6836,32 @@ const deserializeAws_restJson1PolicyMap = (output, context) => {
6420
6836
  };
6421
6837
  }, {});
6422
6838
  };
6839
+ const deserializeAws_restJson1Recommendation = (output, context) => {
6840
+ return {
6841
+ CreatedTimestamp: output.CreatedTimestamp != null
6842
+ ? (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(output.CreatedTimestamp)))
6843
+ : undefined,
6844
+ Description: (0, smithy_client_1.expectString)(output.Description),
6845
+ Impact: (0, smithy_client_1.expectString)(output.Impact),
6846
+ LastUpdatedTimestamp: output.LastUpdatedTimestamp != null
6847
+ ? (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(output.LastUpdatedTimestamp)))
6848
+ : undefined,
6849
+ ResourceArn: (0, smithy_client_1.expectString)(output.ResourceArn),
6850
+ Status: (0, smithy_client_1.expectString)(output.Status),
6851
+ Type: (0, smithy_client_1.expectString)(output.Type),
6852
+ };
6853
+ };
6854
+ const deserializeAws_restJson1RecommendationsList = (output, context) => {
6855
+ const retVal = (output || [])
6856
+ .filter((e) => e != null)
6857
+ .map((entry) => {
6858
+ if (entry === null) {
6859
+ return null;
6860
+ }
6861
+ return deserializeAws_restJson1Recommendation(entry, context);
6862
+ });
6863
+ return retVal;
6864
+ };
6423
6865
  const deserializeAws_restJson1ReputationOptions = (output, context) => {
6424
6866
  return {
6425
6867
  LastFreshStart: output.LastFreshStart != null
@@ -6536,6 +6978,17 @@ const deserializeAws_restJson1TagList = (output, context) => {
6536
6978
  });
6537
6979
  return retVal;
6538
6980
  };
6981
+ const deserializeAws_restJson1TimestampList = (output, context) => {
6982
+ const retVal = (output || [])
6983
+ .filter((e) => e != null)
6984
+ .map((entry) => {
6985
+ if (entry === null) {
6986
+ return null;
6987
+ }
6988
+ return (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(entry)));
6989
+ });
6990
+ return retVal;
6991
+ };
6539
6992
  const deserializeAws_restJson1Topic = (output, context) => {
6540
6993
  return {
6541
6994
  DefaultSubscriptionStatus: (0, smithy_client_1.expectString)(output.DefaultSubscriptionStatus),
@@ -6577,6 +7030,27 @@ const deserializeAws_restJson1TrackingOptions = (output, context) => {
6577
7030
  CustomRedirectDomain: (0, smithy_client_1.expectString)(output.CustomRedirectDomain),
6578
7031
  };
6579
7032
  };
7033
+ const deserializeAws_restJson1VdmAttributes = (output, context) => {
7034
+ return {
7035
+ DashboardAttributes: output.DashboardAttributes != null
7036
+ ? deserializeAws_restJson1DashboardAttributes(output.DashboardAttributes, context)
7037
+ : undefined,
7038
+ GuardianAttributes: output.GuardianAttributes != null
7039
+ ? deserializeAws_restJson1GuardianAttributes(output.GuardianAttributes, context)
7040
+ : undefined,
7041
+ VdmEnabled: (0, smithy_client_1.expectString)(output.VdmEnabled),
7042
+ };
7043
+ };
7044
+ const deserializeAws_restJson1VdmOptions = (output, context) => {
7045
+ return {
7046
+ DashboardOptions: output.DashboardOptions != null
7047
+ ? deserializeAws_restJson1DashboardOptions(output.DashboardOptions, context)
7048
+ : undefined,
7049
+ GuardianOptions: output.GuardianOptions != null
7050
+ ? deserializeAws_restJson1GuardianOptions(output.GuardianOptions, context)
7051
+ : undefined,
7052
+ };
7053
+ };
6580
7054
  const deserializeAws_restJson1VolumeStatistics = (output, context) => {
6581
7055
  return {
6582
7056
  InboxRawCount: (0, smithy_client_1.expectLong)(output.InboxRawCount),
@@ -6585,15 +7059,12 @@ const deserializeAws_restJson1VolumeStatistics = (output, context) => {
6585
7059
  SpamRawCount: (0, smithy_client_1.expectLong)(output.SpamRawCount),
6586
7060
  };
6587
7061
  };
6588
- const deserializeMetadata = (output) => {
6589
- var _a, _b;
6590
- return ({
6591
- httpStatusCode: output.statusCode,
6592
- requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"],
6593
- extendedRequestId: output.headers["x-amz-id-2"],
6594
- cfId: output.headers["x-amz-cf-id"],
6595
- });
6596
- };
7062
+ const deserializeMetadata = (output) => ({
7063
+ httpStatusCode: output.statusCode,
7064
+ requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
7065
+ extendedRequestId: output.headers["x-amz-id-2"],
7066
+ cfId: output.headers["x-amz-cf-id"],
7067
+ });
6597
7068
  const collectBody = (streamBody = new Uint8Array(), context) => {
6598
7069
  if (streamBody instanceof Uint8Array) {
6599
7070
  return Promise.resolve(streamBody);
@@ -6613,9 +7084,8 @@ const parseBody = (streamBody, context) => collectBodyString(streamBody, context
6613
7084
  return {};
6614
7085
  });
6615
7086
  const parseErrorBody = async (errorBody, context) => {
6616
- var _a;
6617
7087
  const value = await parseBody(errorBody, context);
6618
- value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message;
7088
+ value.message = value.message ?? value.Message;
6619
7089
  return value;
6620
7090
  };
6621
7091
  const loadRestJsonErrorCode = (output, data) => {