@aws-sdk/client-sesv2 3.312.0 → 3.316.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.
@@ -1,5 +1,5 @@
1
1
  import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
2
- import { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map as __map, parseEpochTimestamp as __parseEpochTimestamp, resolvedPath as __resolvedPath, throwDefaultError, } from "@aws-sdk/smithy-client";
2
+ import { _json, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, parseEpochTimestamp as __parseEpochTimestamp, resolvedPath as __resolvedPath, take, withBaseException, } from "@aws-sdk/smithy-client";
3
3
  import { AccountSuspendedException, AlreadyExistsException, BadRequestException, ConcurrentModificationException, ConflictException, InternalServiceErrorException, InvalidNextTokenException, LimitExceededException, MailFromDomainNotVerifiedException, MessageRejected, NotFoundException, SendingPausedException, TooManyRequestsException, } from "../models/models_0";
4
4
  import { SESv2ServiceException as __BaseException } from "../models/SESv2ServiceException";
5
5
  export const se_BatchGetMetricDataCommand = async (input, context) => {
@@ -9,9 +9,9 @@ export const se_BatchGetMetricDataCommand = async (input, context) => {
9
9
  };
10
10
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/metrics/batch";
11
11
  let body;
12
- body = JSON.stringify({
13
- ...(input.Queries != null && { Queries: se_BatchGetMetricDataQueries(input.Queries, context) }),
14
- });
12
+ body = JSON.stringify(take(input, {
13
+ Queries: (_) => se_BatchGetMetricDataQueries(_, context),
14
+ }));
15
15
  return new __HttpRequest({
16
16
  protocol,
17
17
  hostname,
@@ -29,20 +29,16 @@ export const se_CreateConfigurationSetCommand = async (input, context) => {
29
29
  };
30
30
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/configuration-sets";
31
31
  let body;
32
- body = JSON.stringify({
33
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
34
- ...(input.DeliveryOptions != null && { DeliveryOptions: se_DeliveryOptions(input.DeliveryOptions, context) }),
35
- ...(input.ReputationOptions != null && {
36
- ReputationOptions: se_ReputationOptions(input.ReputationOptions, context),
37
- }),
38
- ...(input.SendingOptions != null && { SendingOptions: se_SendingOptions(input.SendingOptions, context) }),
39
- ...(input.SuppressionOptions != null && {
40
- SuppressionOptions: se_SuppressionOptions(input.SuppressionOptions, context),
41
- }),
42
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
43
- ...(input.TrackingOptions != null && { TrackingOptions: se_TrackingOptions(input.TrackingOptions, context) }),
44
- ...(input.VdmOptions != null && { VdmOptions: se_VdmOptions(input.VdmOptions, context) }),
45
- });
32
+ body = JSON.stringify(take(input, {
33
+ ConfigurationSetName: [],
34
+ DeliveryOptions: (_) => _json(_),
35
+ ReputationOptions: (_) => se_ReputationOptions(_, context),
36
+ SendingOptions: (_) => _json(_),
37
+ SuppressionOptions: (_) => _json(_),
38
+ Tags: (_) => _json(_),
39
+ TrackingOptions: (_) => _json(_),
40
+ VdmOptions: (_) => _json(_),
41
+ }));
46
42
  return new __HttpRequest({
47
43
  protocol,
48
44
  hostname,
@@ -62,12 +58,10 @@ export const se_CreateConfigurationSetEventDestinationCommand = async (input, co
62
58
  "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations";
63
59
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
64
60
  let body;
65
- body = JSON.stringify({
66
- ...(input.EventDestination != null && {
67
- EventDestination: se_EventDestinationDefinition(input.EventDestination, context),
68
- }),
69
- ...(input.EventDestinationName != null && { EventDestinationName: input.EventDestinationName }),
70
- });
61
+ body = JSON.stringify(take(input, {
62
+ EventDestination: (_) => _json(_),
63
+ EventDestinationName: [],
64
+ }));
71
65
  return new __HttpRequest({
72
66
  protocol,
73
67
  hostname,
@@ -87,14 +81,12 @@ export const se_CreateContactCommand = async (input, context) => {
87
81
  "/v2/email/contact-lists/{ContactListName}/contacts";
88
82
  resolvedPath = __resolvedPath(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
89
83
  let body;
90
- body = JSON.stringify({
91
- ...(input.AttributesData != null && { AttributesData: input.AttributesData }),
92
- ...(input.EmailAddress != null && { EmailAddress: input.EmailAddress }),
93
- ...(input.TopicPreferences != null && {
94
- TopicPreferences: se_TopicPreferenceList(input.TopicPreferences, context),
95
- }),
96
- ...(input.UnsubscribeAll != null && { UnsubscribeAll: input.UnsubscribeAll }),
97
- });
84
+ body = JSON.stringify(take(input, {
85
+ AttributesData: [],
86
+ EmailAddress: [],
87
+ TopicPreferences: (_) => _json(_),
88
+ UnsubscribeAll: [],
89
+ }));
98
90
  return new __HttpRequest({
99
91
  protocol,
100
92
  hostname,
@@ -112,12 +104,12 @@ export const se_CreateContactListCommand = async (input, context) => {
112
104
  };
113
105
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists";
114
106
  let body;
115
- body = JSON.stringify({
116
- ...(input.ContactListName != null && { ContactListName: input.ContactListName }),
117
- ...(input.Description != null && { Description: input.Description }),
118
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
119
- ...(input.Topics != null && { Topics: se_Topics(input.Topics, context) }),
120
- });
107
+ body = JSON.stringify(take(input, {
108
+ ContactListName: [],
109
+ Description: [],
110
+ Tags: (_) => _json(_),
111
+ Topics: (_) => _json(_),
112
+ }));
121
113
  return new __HttpRequest({
122
114
  protocol,
123
115
  hostname,
@@ -136,14 +128,14 @@ export const se_CreateCustomVerificationEmailTemplateCommand = async (input, con
136
128
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
137
129
  "/v2/email/custom-verification-email-templates";
138
130
  let body;
139
- body = JSON.stringify({
140
- ...(input.FailureRedirectionURL != null && { FailureRedirectionURL: input.FailureRedirectionURL }),
141
- ...(input.FromEmailAddress != null && { FromEmailAddress: input.FromEmailAddress }),
142
- ...(input.SuccessRedirectionURL != null && { SuccessRedirectionURL: input.SuccessRedirectionURL }),
143
- ...(input.TemplateContent != null && { TemplateContent: input.TemplateContent }),
144
- ...(input.TemplateName != null && { TemplateName: input.TemplateName }),
145
- ...(input.TemplateSubject != null && { TemplateSubject: input.TemplateSubject }),
146
- });
131
+ body = JSON.stringify(take(input, {
132
+ FailureRedirectionURL: [],
133
+ FromEmailAddress: [],
134
+ SuccessRedirectionURL: [],
135
+ TemplateContent: [],
136
+ TemplateName: [],
137
+ TemplateSubject: [],
138
+ }));
147
139
  return new __HttpRequest({
148
140
  protocol,
149
141
  hostname,
@@ -161,11 +153,11 @@ export const se_CreateDedicatedIpPoolCommand = async (input, context) => {
161
153
  };
162
154
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ip-pools";
163
155
  let body;
164
- body = JSON.stringify({
165
- ...(input.PoolName != null && { PoolName: input.PoolName }),
166
- ...(input.ScalingMode != null && { ScalingMode: input.ScalingMode }),
167
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
168
- });
156
+ body = JSON.stringify(take(input, {
157
+ PoolName: [],
158
+ ScalingMode: [],
159
+ Tags: (_) => _json(_),
160
+ }));
169
161
  return new __HttpRequest({
170
162
  protocol,
171
163
  hostname,
@@ -183,12 +175,12 @@ export const se_CreateDeliverabilityTestReportCommand = async (input, context) =
183
175
  };
184
176
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard/test";
185
177
  let body;
186
- body = JSON.stringify({
187
- ...(input.Content != null && { Content: se_EmailContent(input.Content, context) }),
188
- ...(input.FromEmailAddress != null && { FromEmailAddress: input.FromEmailAddress }),
189
- ...(input.ReportName != null && { ReportName: input.ReportName }),
190
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
191
- });
178
+ body = JSON.stringify(take(input, {
179
+ Content: (_) => se_EmailContent(_, context),
180
+ FromEmailAddress: [],
181
+ ReportName: [],
182
+ Tags: (_) => _json(_),
183
+ }));
192
184
  return new __HttpRequest({
193
185
  protocol,
194
186
  hostname,
@@ -206,14 +198,12 @@ export const se_CreateEmailIdentityCommand = async (input, context) => {
206
198
  };
207
199
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities";
208
200
  let body;
209
- body = JSON.stringify({
210
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
211
- ...(input.DkimSigningAttributes != null && {
212
- DkimSigningAttributes: se_DkimSigningAttributes(input.DkimSigningAttributes, context),
213
- }),
214
- ...(input.EmailIdentity != null && { EmailIdentity: input.EmailIdentity }),
215
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
216
- });
201
+ body = JSON.stringify(take(input, {
202
+ ConfigurationSetName: [],
203
+ DkimSigningAttributes: (_) => _json(_),
204
+ EmailIdentity: [],
205
+ Tags: (_) => _json(_),
206
+ }));
217
207
  return new __HttpRequest({
218
208
  protocol,
219
209
  hostname,
@@ -234,9 +224,9 @@ export const se_CreateEmailIdentityPolicyCommand = async (input, context) => {
234
224
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
235
225
  resolvedPath = __resolvedPath(resolvedPath, input, "PolicyName", () => input.PolicyName, "{PolicyName}", false);
236
226
  let body;
237
- body = JSON.stringify({
238
- ...(input.Policy != null && { Policy: input.Policy }),
239
- });
227
+ body = JSON.stringify(take(input, {
228
+ Policy: [],
229
+ }));
240
230
  return new __HttpRequest({
241
231
  protocol,
242
232
  hostname,
@@ -254,10 +244,10 @@ export const se_CreateEmailTemplateCommand = async (input, context) => {
254
244
  };
255
245
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates";
256
246
  let body;
257
- body = JSON.stringify({
258
- ...(input.TemplateContent != null && { TemplateContent: se_EmailTemplateContent(input.TemplateContent, context) }),
259
- ...(input.TemplateName != null && { TemplateName: input.TemplateName }),
260
- });
247
+ body = JSON.stringify(take(input, {
248
+ TemplateContent: (_) => _json(_),
249
+ TemplateName: [],
250
+ }));
261
251
  return new __HttpRequest({
262
252
  protocol,
263
253
  hostname,
@@ -275,12 +265,10 @@ export const se_CreateImportJobCommand = async (input, context) => {
275
265
  };
276
266
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/import-jobs";
277
267
  let body;
278
- body = JSON.stringify({
279
- ...(input.ImportDataSource != null && { ImportDataSource: se_ImportDataSource(input.ImportDataSource, context) }),
280
- ...(input.ImportDestination != null && {
281
- ImportDestination: se_ImportDestination(input.ImportDestination, context),
282
- }),
283
- });
268
+ body = JSON.stringify(take(input, {
269
+ ImportDataSource: (_) => _json(_),
270
+ ImportDestination: (_) => _json(_),
271
+ }));
284
272
  return new __HttpRequest({
285
273
  protocol,
286
274
  hostname,
@@ -854,9 +842,9 @@ export const se_ListContactsCommand = async (input, context) => {
854
842
  NextToken: [, input.NextToken],
855
843
  });
856
844
  let body;
857
- body = JSON.stringify({
858
- ...(input.Filter != null && { Filter: se_ListContactsFilter(input.Filter, context) }),
859
- });
845
+ body = JSON.stringify(take(input, {
846
+ Filter: (_) => _json(_),
847
+ }));
860
848
  return new __HttpRequest({
861
849
  protocol,
862
850
  hostname,
@@ -1011,9 +999,9 @@ export const se_ListImportJobsCommand = async (input, context) => {
1011
999
  PageSize: [() => input.PageSize !== void 0, () => input.PageSize.toString()],
1012
1000
  });
1013
1001
  let body;
1014
- body = JSON.stringify({
1015
- ...(input.ImportDestinationType != null && { ImportDestinationType: input.ImportDestinationType }),
1016
- });
1002
+ body = JSON.stringify(take(input, {
1003
+ ImportDestinationType: [],
1004
+ }));
1017
1005
  return new __HttpRequest({
1018
1006
  protocol,
1019
1007
  hostname,
@@ -1032,11 +1020,11 @@ export const se_ListRecommendationsCommand = async (input, context) => {
1032
1020
  };
1033
1021
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/vdm/recommendations";
1034
1022
  let body;
1035
- body = JSON.stringify({
1036
- ...(input.Filter != null && { Filter: se_ListRecommendationsFilter(input.Filter, context) }),
1037
- ...(input.NextToken != null && { NextToken: input.NextToken }),
1038
- ...(input.PageSize != null && { PageSize: input.PageSize }),
1039
- });
1023
+ body = JSON.stringify(take(input, {
1024
+ Filter: (_) => _json(_),
1025
+ NextToken: [],
1026
+ PageSize: [],
1027
+ }));
1040
1028
  return new __HttpRequest({
1041
1029
  protocol,
1042
1030
  hostname,
@@ -1099,9 +1087,9 @@ export const se_PutAccountDedicatedIpWarmupAttributesCommand = async (input, con
1099
1087
  };
1100
1088
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/dedicated-ips/warmup";
1101
1089
  let body;
1102
- body = JSON.stringify({
1103
- ...(input.AutoWarmupEnabled != null && { AutoWarmupEnabled: input.AutoWarmupEnabled }),
1104
- });
1090
+ body = JSON.stringify(take(input, {
1091
+ AutoWarmupEnabled: [],
1092
+ }));
1105
1093
  return new __HttpRequest({
1106
1094
  protocol,
1107
1095
  hostname,
@@ -1119,16 +1107,14 @@ export const se_PutAccountDetailsCommand = async (input, context) => {
1119
1107
  };
1120
1108
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/details";
1121
1109
  let body;
1122
- body = JSON.stringify({
1123
- ...(input.AdditionalContactEmailAddresses != null && {
1124
- AdditionalContactEmailAddresses: se_AdditionalContactEmailAddresses(input.AdditionalContactEmailAddresses, context),
1125
- }),
1126
- ...(input.ContactLanguage != null && { ContactLanguage: input.ContactLanguage }),
1127
- ...(input.MailType != null && { MailType: input.MailType }),
1128
- ...(input.ProductionAccessEnabled != null && { ProductionAccessEnabled: input.ProductionAccessEnabled }),
1129
- ...(input.UseCaseDescription != null && { UseCaseDescription: input.UseCaseDescription }),
1130
- ...(input.WebsiteURL != null && { WebsiteURL: input.WebsiteURL }),
1131
- });
1110
+ body = JSON.stringify(take(input, {
1111
+ AdditionalContactEmailAddresses: (_) => _json(_),
1112
+ ContactLanguage: [],
1113
+ MailType: [],
1114
+ ProductionAccessEnabled: [],
1115
+ UseCaseDescription: [],
1116
+ WebsiteURL: [],
1117
+ }));
1132
1118
  return new __HttpRequest({
1133
1119
  protocol,
1134
1120
  hostname,
@@ -1146,9 +1132,9 @@ export const se_PutAccountSendingAttributesCommand = async (input, context) => {
1146
1132
  };
1147
1133
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/sending";
1148
1134
  let body;
1149
- body = JSON.stringify({
1150
- ...(input.SendingEnabled != null && { SendingEnabled: input.SendingEnabled }),
1151
- });
1135
+ body = JSON.stringify(take(input, {
1136
+ SendingEnabled: [],
1137
+ }));
1152
1138
  return new __HttpRequest({
1153
1139
  protocol,
1154
1140
  hostname,
@@ -1166,11 +1152,9 @@ export const se_PutAccountSuppressionAttributesCommand = async (input, context)
1166
1152
  };
1167
1153
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/suppression";
1168
1154
  let body;
1169
- body = JSON.stringify({
1170
- ...(input.SuppressedReasons != null && {
1171
- SuppressedReasons: se_SuppressionListReasons(input.SuppressedReasons, context),
1172
- }),
1173
- });
1155
+ body = JSON.stringify(take(input, {
1156
+ SuppressedReasons: (_) => _json(_),
1157
+ }));
1174
1158
  return new __HttpRequest({
1175
1159
  protocol,
1176
1160
  hostname,
@@ -1188,9 +1172,9 @@ export const se_PutAccountVdmAttributesCommand = async (input, context) => {
1188
1172
  };
1189
1173
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/account/vdm";
1190
1174
  let body;
1191
- body = JSON.stringify({
1192
- ...(input.VdmAttributes != null && { VdmAttributes: se_VdmAttributes(input.VdmAttributes, context) }),
1193
- });
1175
+ body = JSON.stringify(take(input, {
1176
+ VdmAttributes: (_) => _json(_),
1177
+ }));
1194
1178
  return new __HttpRequest({
1195
1179
  protocol,
1196
1180
  hostname,
@@ -1210,10 +1194,10 @@ export const se_PutConfigurationSetDeliveryOptionsCommand = async (input, contex
1210
1194
  "/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options";
1211
1195
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1212
1196
  let body;
1213
- body = JSON.stringify({
1214
- ...(input.SendingPoolName != null && { SendingPoolName: input.SendingPoolName }),
1215
- ...(input.TlsPolicy != null && { TlsPolicy: input.TlsPolicy }),
1216
- });
1197
+ body = JSON.stringify(take(input, {
1198
+ SendingPoolName: [],
1199
+ TlsPolicy: [],
1200
+ }));
1217
1201
  return new __HttpRequest({
1218
1202
  protocol,
1219
1203
  hostname,
@@ -1233,9 +1217,9 @@ export const se_PutConfigurationSetReputationOptionsCommand = async (input, cont
1233
1217
  "/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options";
1234
1218
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1235
1219
  let body;
1236
- body = JSON.stringify({
1237
- ...(input.ReputationMetricsEnabled != null && { ReputationMetricsEnabled: input.ReputationMetricsEnabled }),
1238
- });
1220
+ body = JSON.stringify(take(input, {
1221
+ ReputationMetricsEnabled: [],
1222
+ }));
1239
1223
  return new __HttpRequest({
1240
1224
  protocol,
1241
1225
  hostname,
@@ -1255,9 +1239,9 @@ export const se_PutConfigurationSetSendingOptionsCommand = async (input, context
1255
1239
  "/v2/email/configuration-sets/{ConfigurationSetName}/sending";
1256
1240
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1257
1241
  let body;
1258
- body = JSON.stringify({
1259
- ...(input.SendingEnabled != null && { SendingEnabled: input.SendingEnabled }),
1260
- });
1242
+ body = JSON.stringify(take(input, {
1243
+ SendingEnabled: [],
1244
+ }));
1261
1245
  return new __HttpRequest({
1262
1246
  protocol,
1263
1247
  hostname,
@@ -1277,11 +1261,9 @@ export const se_PutConfigurationSetSuppressionOptionsCommand = async (input, con
1277
1261
  "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options";
1278
1262
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1279
1263
  let body;
1280
- body = JSON.stringify({
1281
- ...(input.SuppressedReasons != null && {
1282
- SuppressedReasons: se_SuppressionListReasons(input.SuppressedReasons, context),
1283
- }),
1284
- });
1264
+ body = JSON.stringify(take(input, {
1265
+ SuppressedReasons: (_) => _json(_),
1266
+ }));
1285
1267
  return new __HttpRequest({
1286
1268
  protocol,
1287
1269
  hostname,
@@ -1301,9 +1283,9 @@ export const se_PutConfigurationSetTrackingOptionsCommand = async (input, contex
1301
1283
  "/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options";
1302
1284
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1303
1285
  let body;
1304
- body = JSON.stringify({
1305
- ...(input.CustomRedirectDomain != null && { CustomRedirectDomain: input.CustomRedirectDomain }),
1306
- });
1286
+ body = JSON.stringify(take(input, {
1287
+ CustomRedirectDomain: [],
1288
+ }));
1307
1289
  return new __HttpRequest({
1308
1290
  protocol,
1309
1291
  hostname,
@@ -1323,9 +1305,9 @@ export const se_PutConfigurationSetVdmOptionsCommand = async (input, context) =>
1323
1305
  "/v2/email/configuration-sets/{ConfigurationSetName}/vdm-options";
1324
1306
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1325
1307
  let body;
1326
- body = JSON.stringify({
1327
- ...(input.VdmOptions != null && { VdmOptions: se_VdmOptions(input.VdmOptions, context) }),
1328
- });
1308
+ body = JSON.stringify(take(input, {
1309
+ VdmOptions: (_) => _json(_),
1310
+ }));
1329
1311
  return new __HttpRequest({
1330
1312
  protocol,
1331
1313
  hostname,
@@ -1344,9 +1326,9 @@ export const se_PutDedicatedIpInPoolCommand = async (input, context) => {
1344
1326
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/pool";
1345
1327
  resolvedPath = __resolvedPath(resolvedPath, input, "Ip", () => input.Ip, "{Ip}", false);
1346
1328
  let body;
1347
- body = JSON.stringify({
1348
- ...(input.DestinationPoolName != null && { DestinationPoolName: input.DestinationPoolName }),
1349
- });
1329
+ body = JSON.stringify(take(input, {
1330
+ DestinationPoolName: [],
1331
+ }));
1350
1332
  return new __HttpRequest({
1351
1333
  protocol,
1352
1334
  hostname,
@@ -1365,9 +1347,9 @@ export const se_PutDedicatedIpWarmupAttributesCommand = async (input, context) =
1365
1347
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/dedicated-ips/{Ip}/warmup";
1366
1348
  resolvedPath = __resolvedPath(resolvedPath, input, "Ip", () => input.Ip, "{Ip}", false);
1367
1349
  let body;
1368
- body = JSON.stringify({
1369
- ...(input.WarmupPercentage != null && { WarmupPercentage: input.WarmupPercentage }),
1370
- });
1350
+ body = JSON.stringify(take(input, {
1351
+ WarmupPercentage: [],
1352
+ }));
1371
1353
  return new __HttpRequest({
1372
1354
  protocol,
1373
1355
  hostname,
@@ -1385,12 +1367,10 @@ export const se_PutDeliverabilityDashboardOptionCommand = async (input, context)
1385
1367
  };
1386
1368
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/deliverability-dashboard";
1387
1369
  let body;
1388
- body = JSON.stringify({
1389
- ...(input.DashboardEnabled != null && { DashboardEnabled: input.DashboardEnabled }),
1390
- ...(input.SubscribedDomains != null && {
1391
- SubscribedDomains: se_DomainDeliverabilityTrackingOptions(input.SubscribedDomains, context),
1392
- }),
1393
- });
1370
+ body = JSON.stringify(take(input, {
1371
+ DashboardEnabled: [],
1372
+ SubscribedDomains: (_) => se_DomainDeliverabilityTrackingOptions(_, context),
1373
+ }));
1394
1374
  return new __HttpRequest({
1395
1375
  protocol,
1396
1376
  hostname,
@@ -1410,9 +1390,9 @@ export const se_PutEmailIdentityConfigurationSetAttributesCommand = async (input
1410
1390
  "/v2/email/identities/{EmailIdentity}/configuration-set";
1411
1391
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1412
1392
  let body;
1413
- body = JSON.stringify({
1414
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
1415
- });
1393
+ body = JSON.stringify(take(input, {
1394
+ ConfigurationSetName: [],
1395
+ }));
1416
1396
  return new __HttpRequest({
1417
1397
  protocol,
1418
1398
  hostname,
@@ -1431,9 +1411,9 @@ export const se_PutEmailIdentityDkimAttributesCommand = async (input, context) =
1431
1411
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/identities/{EmailIdentity}/dkim";
1432
1412
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1433
1413
  let body;
1434
- body = JSON.stringify({
1435
- ...(input.SigningEnabled != null && { SigningEnabled: input.SigningEnabled }),
1436
- });
1414
+ body = JSON.stringify(take(input, {
1415
+ SigningEnabled: [],
1416
+ }));
1437
1417
  return new __HttpRequest({
1438
1418
  protocol,
1439
1419
  hostname,
@@ -1453,12 +1433,10 @@ export const se_PutEmailIdentityDkimSigningAttributesCommand = async (input, con
1453
1433
  "/v1/email/identities/{EmailIdentity}/dkim/signing";
1454
1434
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1455
1435
  let body;
1456
- body = JSON.stringify({
1457
- ...(input.SigningAttributes != null && {
1458
- SigningAttributes: se_DkimSigningAttributes(input.SigningAttributes, context),
1459
- }),
1460
- ...(input.SigningAttributesOrigin != null && { SigningAttributesOrigin: input.SigningAttributesOrigin }),
1461
- });
1436
+ body = JSON.stringify(take(input, {
1437
+ SigningAttributes: (_) => _json(_),
1438
+ SigningAttributesOrigin: [],
1439
+ }));
1462
1440
  return new __HttpRequest({
1463
1441
  protocol,
1464
1442
  hostname,
@@ -1478,9 +1456,9 @@ export const se_PutEmailIdentityFeedbackAttributesCommand = async (input, contex
1478
1456
  "/v2/email/identities/{EmailIdentity}/feedback";
1479
1457
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1480
1458
  let body;
1481
- body = JSON.stringify({
1482
- ...(input.EmailForwardingEnabled != null && { EmailForwardingEnabled: input.EmailForwardingEnabled }),
1483
- });
1459
+ body = JSON.stringify(take(input, {
1460
+ EmailForwardingEnabled: [],
1461
+ }));
1484
1462
  return new __HttpRequest({
1485
1463
  protocol,
1486
1464
  hostname,
@@ -1500,10 +1478,10 @@ export const se_PutEmailIdentityMailFromAttributesCommand = async (input, contex
1500
1478
  "/v2/email/identities/{EmailIdentity}/mail-from";
1501
1479
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1502
1480
  let body;
1503
- body = JSON.stringify({
1504
- ...(input.BehaviorOnMxFailure != null && { BehaviorOnMxFailure: input.BehaviorOnMxFailure }),
1505
- ...(input.MailFromDomain != null && { MailFromDomain: input.MailFromDomain }),
1506
- });
1481
+ body = JSON.stringify(take(input, {
1482
+ BehaviorOnMxFailure: [],
1483
+ MailFromDomain: [],
1484
+ }));
1507
1485
  return new __HttpRequest({
1508
1486
  protocol,
1509
1487
  hostname,
@@ -1521,10 +1499,10 @@ export const se_PutSuppressedDestinationCommand = async (input, context) => {
1521
1499
  };
1522
1500
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/suppression/addresses";
1523
1501
  let body;
1524
- body = JSON.stringify({
1525
- ...(input.EmailAddress != null && { EmailAddress: input.EmailAddress }),
1526
- ...(input.Reason != null && { Reason: input.Reason }),
1527
- });
1502
+ body = JSON.stringify(take(input, {
1503
+ EmailAddress: [],
1504
+ Reason: [],
1505
+ }));
1528
1506
  return new __HttpRequest({
1529
1507
  protocol,
1530
1508
  hostname,
@@ -1542,23 +1520,17 @@ export const se_SendBulkEmailCommand = async (input, context) => {
1542
1520
  };
1543
1521
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-bulk-emails";
1544
1522
  let body;
1545
- body = JSON.stringify({
1546
- ...(input.BulkEmailEntries != null && { BulkEmailEntries: se_BulkEmailEntryList(input.BulkEmailEntries, context) }),
1547
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
1548
- ...(input.DefaultContent != null && { DefaultContent: se_BulkEmailContent(input.DefaultContent, context) }),
1549
- ...(input.DefaultEmailTags != null && { DefaultEmailTags: se_MessageTagList(input.DefaultEmailTags, context) }),
1550
- ...(input.FeedbackForwardingEmailAddress != null && {
1551
- FeedbackForwardingEmailAddress: input.FeedbackForwardingEmailAddress,
1552
- }),
1553
- ...(input.FeedbackForwardingEmailAddressIdentityArn != null && {
1554
- FeedbackForwardingEmailAddressIdentityArn: input.FeedbackForwardingEmailAddressIdentityArn,
1555
- }),
1556
- ...(input.FromEmailAddress != null && { FromEmailAddress: input.FromEmailAddress }),
1557
- ...(input.FromEmailAddressIdentityArn != null && {
1558
- FromEmailAddressIdentityArn: input.FromEmailAddressIdentityArn,
1559
- }),
1560
- ...(input.ReplyToAddresses != null && { ReplyToAddresses: se_EmailAddressList(input.ReplyToAddresses, context) }),
1561
- });
1523
+ body = JSON.stringify(take(input, {
1524
+ BulkEmailEntries: (_) => _json(_),
1525
+ ConfigurationSetName: [],
1526
+ DefaultContent: (_) => _json(_),
1527
+ DefaultEmailTags: (_) => _json(_),
1528
+ FeedbackForwardingEmailAddress: [],
1529
+ FeedbackForwardingEmailAddressIdentityArn: [],
1530
+ FromEmailAddress: [],
1531
+ FromEmailAddressIdentityArn: [],
1532
+ ReplyToAddresses: (_) => _json(_),
1533
+ }));
1562
1534
  return new __HttpRequest({
1563
1535
  protocol,
1564
1536
  hostname,
@@ -1577,11 +1549,11 @@ export const se_SendCustomVerificationEmailCommand = async (input, context) => {
1577
1549
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1578
1550
  "/v2/email/outbound-custom-verification-emails";
1579
1551
  let body;
1580
- body = JSON.stringify({
1581
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
1582
- ...(input.EmailAddress != null && { EmailAddress: input.EmailAddress }),
1583
- ...(input.TemplateName != null && { TemplateName: input.TemplateName }),
1584
- });
1552
+ body = JSON.stringify(take(input, {
1553
+ ConfigurationSetName: [],
1554
+ EmailAddress: [],
1555
+ TemplateName: [],
1556
+ }));
1585
1557
  return new __HttpRequest({
1586
1558
  protocol,
1587
1559
  hostname,
@@ -1599,26 +1571,18 @@ export const se_SendEmailCommand = async (input, context) => {
1599
1571
  };
1600
1572
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/outbound-emails";
1601
1573
  let body;
1602
- body = JSON.stringify({
1603
- ...(input.ConfigurationSetName != null && { ConfigurationSetName: input.ConfigurationSetName }),
1604
- ...(input.Content != null && { Content: se_EmailContent(input.Content, context) }),
1605
- ...(input.Destination != null && { Destination: se_Destination(input.Destination, context) }),
1606
- ...(input.EmailTags != null && { EmailTags: se_MessageTagList(input.EmailTags, context) }),
1607
- ...(input.FeedbackForwardingEmailAddress != null && {
1608
- FeedbackForwardingEmailAddress: input.FeedbackForwardingEmailAddress,
1609
- }),
1610
- ...(input.FeedbackForwardingEmailAddressIdentityArn != null && {
1611
- FeedbackForwardingEmailAddressIdentityArn: input.FeedbackForwardingEmailAddressIdentityArn,
1612
- }),
1613
- ...(input.FromEmailAddress != null && { FromEmailAddress: input.FromEmailAddress }),
1614
- ...(input.FromEmailAddressIdentityArn != null && {
1615
- FromEmailAddressIdentityArn: input.FromEmailAddressIdentityArn,
1616
- }),
1617
- ...(input.ListManagementOptions != null && {
1618
- ListManagementOptions: se_ListManagementOptions(input.ListManagementOptions, context),
1619
- }),
1620
- ...(input.ReplyToAddresses != null && { ReplyToAddresses: se_EmailAddressList(input.ReplyToAddresses, context) }),
1621
- });
1574
+ body = JSON.stringify(take(input, {
1575
+ ConfigurationSetName: [],
1576
+ Content: (_) => se_EmailContent(_, context),
1577
+ Destination: (_) => _json(_),
1578
+ EmailTags: (_) => _json(_),
1579
+ FeedbackForwardingEmailAddress: [],
1580
+ FeedbackForwardingEmailAddressIdentityArn: [],
1581
+ FromEmailAddress: [],
1582
+ FromEmailAddressIdentityArn: [],
1583
+ ListManagementOptions: (_) => _json(_),
1584
+ ReplyToAddresses: (_) => _json(_),
1585
+ }));
1622
1586
  return new __HttpRequest({
1623
1587
  protocol,
1624
1588
  hostname,
@@ -1636,10 +1600,10 @@ export const se_TagResourceCommand = async (input, context) => {
1636
1600
  };
1637
1601
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/tags";
1638
1602
  let body;
1639
- body = JSON.stringify({
1640
- ...(input.ResourceArn != null && { ResourceArn: input.ResourceArn }),
1641
- ...(input.Tags != null && { Tags: se_TagList(input.Tags, context) }),
1642
- });
1603
+ body = JSON.stringify(take(input, {
1604
+ ResourceArn: [],
1605
+ Tags: (_) => _json(_),
1606
+ }));
1643
1607
  return new __HttpRequest({
1644
1608
  protocol,
1645
1609
  hostname,
@@ -1658,9 +1622,9 @@ export const se_TestRenderEmailTemplateCommand = async (input, context) => {
1658
1622
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}/render";
1659
1623
  resolvedPath = __resolvedPath(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1660
1624
  let body;
1661
- body = JSON.stringify({
1662
- ...(input.TemplateData != null && { TemplateData: input.TemplateData }),
1663
- });
1625
+ body = JSON.stringify(take(input, {
1626
+ TemplateData: [],
1627
+ }));
1664
1628
  return new __HttpRequest({
1665
1629
  protocol,
1666
1630
  hostname,
@@ -1704,11 +1668,9 @@ export const se_UpdateConfigurationSetEventDestinationCommand = async (input, co
1704
1668
  resolvedPath = __resolvedPath(resolvedPath, input, "ConfigurationSetName", () => input.ConfigurationSetName, "{ConfigurationSetName}", false);
1705
1669
  resolvedPath = __resolvedPath(resolvedPath, input, "EventDestinationName", () => input.EventDestinationName, "{EventDestinationName}", false);
1706
1670
  let body;
1707
- body = JSON.stringify({
1708
- ...(input.EventDestination != null && {
1709
- EventDestination: se_EventDestinationDefinition(input.EventDestination, context),
1710
- }),
1711
- });
1671
+ body = JSON.stringify(take(input, {
1672
+ EventDestination: (_) => _json(_),
1673
+ }));
1712
1674
  return new __HttpRequest({
1713
1675
  protocol,
1714
1676
  hostname,
@@ -1729,13 +1691,11 @@ export const se_UpdateContactCommand = async (input, context) => {
1729
1691
  resolvedPath = __resolvedPath(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
1730
1692
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailAddress", () => input.EmailAddress, "{EmailAddress}", false);
1731
1693
  let body;
1732
- body = JSON.stringify({
1733
- ...(input.AttributesData != null && { AttributesData: input.AttributesData }),
1734
- ...(input.TopicPreferences != null && {
1735
- TopicPreferences: se_TopicPreferenceList(input.TopicPreferences, context),
1736
- }),
1737
- ...(input.UnsubscribeAll != null && { UnsubscribeAll: input.UnsubscribeAll }),
1738
- });
1694
+ body = JSON.stringify(take(input, {
1695
+ AttributesData: [],
1696
+ TopicPreferences: (_) => _json(_),
1697
+ UnsubscribeAll: [],
1698
+ }));
1739
1699
  return new __HttpRequest({
1740
1700
  protocol,
1741
1701
  hostname,
@@ -1754,10 +1714,10 @@ export const se_UpdateContactListCommand = async (input, context) => {
1754
1714
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/contact-lists/{ContactListName}";
1755
1715
  resolvedPath = __resolvedPath(resolvedPath, input, "ContactListName", () => input.ContactListName, "{ContactListName}", false);
1756
1716
  let body;
1757
- body = JSON.stringify({
1758
- ...(input.Description != null && { Description: input.Description }),
1759
- ...(input.Topics != null && { Topics: se_Topics(input.Topics, context) }),
1760
- });
1717
+ body = JSON.stringify(take(input, {
1718
+ Description: [],
1719
+ Topics: (_) => _json(_),
1720
+ }));
1761
1721
  return new __HttpRequest({
1762
1722
  protocol,
1763
1723
  hostname,
@@ -1777,13 +1737,13 @@ export const se_UpdateCustomVerificationEmailTemplateCommand = async (input, con
1777
1737
  "/v2/email/custom-verification-email-templates/{TemplateName}";
1778
1738
  resolvedPath = __resolvedPath(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1779
1739
  let body;
1780
- body = JSON.stringify({
1781
- ...(input.FailureRedirectionURL != null && { FailureRedirectionURL: input.FailureRedirectionURL }),
1782
- ...(input.FromEmailAddress != null && { FromEmailAddress: input.FromEmailAddress }),
1783
- ...(input.SuccessRedirectionURL != null && { SuccessRedirectionURL: input.SuccessRedirectionURL }),
1784
- ...(input.TemplateContent != null && { TemplateContent: input.TemplateContent }),
1785
- ...(input.TemplateSubject != null && { TemplateSubject: input.TemplateSubject }),
1786
- });
1740
+ body = JSON.stringify(take(input, {
1741
+ FailureRedirectionURL: [],
1742
+ FromEmailAddress: [],
1743
+ SuccessRedirectionURL: [],
1744
+ TemplateContent: [],
1745
+ TemplateSubject: [],
1746
+ }));
1787
1747
  return new __HttpRequest({
1788
1748
  protocol,
1789
1749
  hostname,
@@ -1804,9 +1764,9 @@ export const se_UpdateEmailIdentityPolicyCommand = async (input, context) => {
1804
1764
  resolvedPath = __resolvedPath(resolvedPath, input, "EmailIdentity", () => input.EmailIdentity, "{EmailIdentity}", false);
1805
1765
  resolvedPath = __resolvedPath(resolvedPath, input, "PolicyName", () => input.PolicyName, "{PolicyName}", false);
1806
1766
  let body;
1807
- body = JSON.stringify({
1808
- ...(input.Policy != null && { Policy: input.Policy }),
1809
- });
1767
+ body = JSON.stringify(take(input, {
1768
+ Policy: [],
1769
+ }));
1810
1770
  return new __HttpRequest({
1811
1771
  protocol,
1812
1772
  hostname,
@@ -1825,9 +1785,9 @@ export const se_UpdateEmailTemplateCommand = async (input, context) => {
1825
1785
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v2/email/templates/{TemplateName}";
1826
1786
  resolvedPath = __resolvedPath(resolvedPath, input, "TemplateName", () => input.TemplateName, "{TemplateName}", false);
1827
1787
  let body;
1828
- body = JSON.stringify({
1829
- ...(input.TemplateContent != null && { TemplateContent: se_EmailTemplateContent(input.TemplateContent, context) }),
1830
- });
1788
+ body = JSON.stringify(take(input, {
1789
+ TemplateContent: (_) => _json(_),
1790
+ }));
1831
1791
  return new __HttpRequest({
1832
1792
  protocol,
1833
1793
  hostname,
@@ -1846,12 +1806,11 @@ export const de_BatchGetMetricDataCommand = async (output, context) => {
1846
1806
  $metadata: deserializeMetadata(output),
1847
1807
  });
1848
1808
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1849
- if (data.Errors != null) {
1850
- contents.Errors = de_MetricDataErrorList(data.Errors, context);
1851
- }
1852
- if (data.Results != null) {
1853
- contents.Results = de_MetricDataResultList(data.Results, context);
1854
- }
1809
+ const doc = take(data, {
1810
+ Errors: _json,
1811
+ Results: (_) => de_MetricDataResultList(_, context),
1812
+ });
1813
+ Object.assign(contents, doc);
1855
1814
  return contents;
1856
1815
  };
1857
1816
  const de_BatchGetMetricDataCommandError = async (output, context) => {
@@ -1875,10 +1834,9 @@ const de_BatchGetMetricDataCommandError = async (output, context) => {
1875
1834
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
1876
1835
  default:
1877
1836
  const parsedBody = parsedOutput.body;
1878
- throwDefaultError({
1837
+ return throwDefaultError({
1879
1838
  output,
1880
1839
  parsedBody,
1881
- exceptionCtor: __BaseException,
1882
1840
  errorCode,
1883
1841
  });
1884
1842
  }
@@ -1920,10 +1878,9 @@ const de_CreateConfigurationSetCommandError = async (output, context) => {
1920
1878
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
1921
1879
  default:
1922
1880
  const parsedBody = parsedOutput.body;
1923
- throwDefaultError({
1881
+ return throwDefaultError({
1924
1882
  output,
1925
1883
  parsedBody,
1926
- exceptionCtor: __BaseException,
1927
1884
  errorCode,
1928
1885
  });
1929
1886
  }
@@ -1962,10 +1919,9 @@ const de_CreateConfigurationSetEventDestinationCommandError = async (output, con
1962
1919
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
1963
1920
  default:
1964
1921
  const parsedBody = parsedOutput.body;
1965
- throwDefaultError({
1922
+ return throwDefaultError({
1966
1923
  output,
1967
1924
  parsedBody,
1968
- exceptionCtor: __BaseException,
1969
1925
  errorCode,
1970
1926
  });
1971
1927
  }
@@ -2001,10 +1957,9 @@ const de_CreateContactCommandError = async (output, context) => {
2001
1957
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2002
1958
  default:
2003
1959
  const parsedBody = parsedOutput.body;
2004
- throwDefaultError({
1960
+ return throwDefaultError({
2005
1961
  output,
2006
1962
  parsedBody,
2007
- exceptionCtor: __BaseException,
2008
1963
  errorCode,
2009
1964
  });
2010
1965
  }
@@ -2040,10 +1995,9 @@ const de_CreateContactListCommandError = async (output, context) => {
2040
1995
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2041
1996
  default:
2042
1997
  const parsedBody = parsedOutput.body;
2043
- throwDefaultError({
1998
+ return throwDefaultError({
2044
1999
  output,
2045
2000
  parsedBody,
2046
- exceptionCtor: __BaseException,
2047
2001
  errorCode,
2048
2002
  });
2049
2003
  }
@@ -2082,10 +2036,9 @@ const de_CreateCustomVerificationEmailTemplateCommandError = async (output, cont
2082
2036
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2083
2037
  default:
2084
2038
  const parsedBody = parsedOutput.body;
2085
- throwDefaultError({
2039
+ return throwDefaultError({
2086
2040
  output,
2087
2041
  parsedBody,
2088
- exceptionCtor: __BaseException,
2089
2042
  errorCode,
2090
2043
  });
2091
2044
  }
@@ -2124,10 +2077,9 @@ const de_CreateDedicatedIpPoolCommandError = async (output, context) => {
2124
2077
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2125
2078
  default:
2126
2079
  const parsedBody = parsedOutput.body;
2127
- throwDefaultError({
2080
+ return throwDefaultError({
2128
2081
  output,
2129
2082
  parsedBody,
2130
- exceptionCtor: __BaseException,
2131
2083
  errorCode,
2132
2084
  });
2133
2085
  }
@@ -2140,12 +2092,11 @@ export const de_CreateDeliverabilityTestReportCommand = async (output, context)
2140
2092
  $metadata: deserializeMetadata(output),
2141
2093
  });
2142
2094
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2143
- if (data.DeliverabilityTestStatus != null) {
2144
- contents.DeliverabilityTestStatus = __expectString(data.DeliverabilityTestStatus);
2145
- }
2146
- if (data.ReportId != null) {
2147
- contents.ReportId = __expectString(data.ReportId);
2148
- }
2095
+ const doc = take(data, {
2096
+ DeliverabilityTestStatus: __expectString,
2097
+ ReportId: __expectString,
2098
+ });
2099
+ Object.assign(contents, doc);
2149
2100
  return contents;
2150
2101
  };
2151
2102
  const de_CreateDeliverabilityTestReportCommandError = async (output, context) => {
@@ -2184,10 +2135,9 @@ const de_CreateDeliverabilityTestReportCommandError = async (output, context) =>
2184
2135
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2185
2136
  default:
2186
2137
  const parsedBody = parsedOutput.body;
2187
- throwDefaultError({
2138
+ return throwDefaultError({
2188
2139
  output,
2189
2140
  parsedBody,
2190
- exceptionCtor: __BaseException,
2191
2141
  errorCode,
2192
2142
  });
2193
2143
  }
@@ -2200,15 +2150,12 @@ export const de_CreateEmailIdentityCommand = async (output, context) => {
2200
2150
  $metadata: deserializeMetadata(output),
2201
2151
  });
2202
2152
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2203
- if (data.DkimAttributes != null) {
2204
- contents.DkimAttributes = de_DkimAttributes(data.DkimAttributes, context);
2205
- }
2206
- if (data.IdentityType != null) {
2207
- contents.IdentityType = __expectString(data.IdentityType);
2208
- }
2209
- if (data.VerifiedForSendingStatus != null) {
2210
- contents.VerifiedForSendingStatus = __expectBoolean(data.VerifiedForSendingStatus);
2211
- }
2153
+ const doc = take(data, {
2154
+ DkimAttributes: (_) => de_DkimAttributes(_, context),
2155
+ IdentityType: __expectString,
2156
+ VerifiedForSendingStatus: __expectBoolean,
2157
+ });
2158
+ Object.assign(contents, doc);
2212
2159
  return contents;
2213
2160
  };
2214
2161
  const de_CreateEmailIdentityCommandError = async (output, context) => {
@@ -2238,10 +2185,9 @@ const de_CreateEmailIdentityCommandError = async (output, context) => {
2238
2185
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2239
2186
  default:
2240
2187
  const parsedBody = parsedOutput.body;
2241
- throwDefaultError({
2188
+ return throwDefaultError({
2242
2189
  output,
2243
2190
  parsedBody,
2244
- exceptionCtor: __BaseException,
2245
2191
  errorCode,
2246
2192
  });
2247
2193
  }
@@ -2280,10 +2226,9 @@ const de_CreateEmailIdentityPolicyCommandError = async (output, context) => {
2280
2226
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2281
2227
  default:
2282
2228
  const parsedBody = parsedOutput.body;
2283
- throwDefaultError({
2229
+ return throwDefaultError({
2284
2230
  output,
2285
2231
  parsedBody,
2286
- exceptionCtor: __BaseException,
2287
2232
  errorCode,
2288
2233
  });
2289
2234
  }
@@ -2319,10 +2264,9 @@ const de_CreateEmailTemplateCommandError = async (output, context) => {
2319
2264
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2320
2265
  default:
2321
2266
  const parsedBody = parsedOutput.body;
2322
- throwDefaultError({
2267
+ return throwDefaultError({
2323
2268
  output,
2324
2269
  parsedBody,
2325
- exceptionCtor: __BaseException,
2326
2270
  errorCode,
2327
2271
  });
2328
2272
  }
@@ -2335,9 +2279,10 @@ export const de_CreateImportJobCommand = async (output, context) => {
2335
2279
  $metadata: deserializeMetadata(output),
2336
2280
  });
2337
2281
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2338
- if (data.JobId != null) {
2339
- contents.JobId = __expectString(data.JobId);
2340
- }
2282
+ const doc = take(data, {
2283
+ JobId: __expectString,
2284
+ });
2285
+ Object.assign(contents, doc);
2341
2286
  return contents;
2342
2287
  };
2343
2288
  const de_CreateImportJobCommandError = async (output, context) => {
@@ -2358,10 +2303,9 @@ const de_CreateImportJobCommandError = async (output, context) => {
2358
2303
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2359
2304
  default:
2360
2305
  const parsedBody = parsedOutput.body;
2361
- throwDefaultError({
2306
+ return throwDefaultError({
2362
2307
  output,
2363
2308
  parsedBody,
2364
- exceptionCtor: __BaseException,
2365
2309
  errorCode,
2366
2310
  });
2367
2311
  }
@@ -2397,10 +2341,9 @@ const de_DeleteConfigurationSetCommandError = async (output, context) => {
2397
2341
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2398
2342
  default:
2399
2343
  const parsedBody = parsedOutput.body;
2400
- throwDefaultError({
2344
+ return throwDefaultError({
2401
2345
  output,
2402
2346
  parsedBody,
2403
- exceptionCtor: __BaseException,
2404
2347
  errorCode,
2405
2348
  });
2406
2349
  }
@@ -2433,10 +2376,9 @@ const de_DeleteConfigurationSetEventDestinationCommandError = async (output, con
2433
2376
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2434
2377
  default:
2435
2378
  const parsedBody = parsedOutput.body;
2436
- throwDefaultError({
2379
+ return throwDefaultError({
2437
2380
  output,
2438
2381
  parsedBody,
2439
- exceptionCtor: __BaseException,
2440
2382
  errorCode,
2441
2383
  });
2442
2384
  }
@@ -2469,10 +2411,9 @@ const de_DeleteContactCommandError = async (output, context) => {
2469
2411
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2470
2412
  default:
2471
2413
  const parsedBody = parsedOutput.body;
2472
- throwDefaultError({
2414
+ return throwDefaultError({
2473
2415
  output,
2474
2416
  parsedBody,
2475
- exceptionCtor: __BaseException,
2476
2417
  errorCode,
2477
2418
  });
2478
2419
  }
@@ -2508,10 +2449,9 @@ const de_DeleteContactListCommandError = async (output, context) => {
2508
2449
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2509
2450
  default:
2510
2451
  const parsedBody = parsedOutput.body;
2511
- throwDefaultError({
2452
+ return throwDefaultError({
2512
2453
  output,
2513
2454
  parsedBody,
2514
- exceptionCtor: __BaseException,
2515
2455
  errorCode,
2516
2456
  });
2517
2457
  }
@@ -2544,10 +2484,9 @@ const de_DeleteCustomVerificationEmailTemplateCommandError = async (output, cont
2544
2484
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2545
2485
  default:
2546
2486
  const parsedBody = parsedOutput.body;
2547
- throwDefaultError({
2487
+ return throwDefaultError({
2548
2488
  output,
2549
2489
  parsedBody,
2550
- exceptionCtor: __BaseException,
2551
2490
  errorCode,
2552
2491
  });
2553
2492
  }
@@ -2583,10 +2522,9 @@ const de_DeleteDedicatedIpPoolCommandError = async (output, context) => {
2583
2522
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2584
2523
  default:
2585
2524
  const parsedBody = parsedOutput.body;
2586
- throwDefaultError({
2525
+ return throwDefaultError({
2587
2526
  output,
2588
2527
  parsedBody,
2589
- exceptionCtor: __BaseException,
2590
2528
  errorCode,
2591
2529
  });
2592
2530
  }
@@ -2622,10 +2560,9 @@ const de_DeleteEmailIdentityCommandError = async (output, context) => {
2622
2560
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2623
2561
  default:
2624
2562
  const parsedBody = parsedOutput.body;
2625
- throwDefaultError({
2563
+ return throwDefaultError({
2626
2564
  output,
2627
2565
  parsedBody,
2628
- exceptionCtor: __BaseException,
2629
2566
  errorCode,
2630
2567
  });
2631
2568
  }
@@ -2658,10 +2595,9 @@ const de_DeleteEmailIdentityPolicyCommandError = async (output, context) => {
2658
2595
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2659
2596
  default:
2660
2597
  const parsedBody = parsedOutput.body;
2661
- throwDefaultError({
2598
+ return throwDefaultError({
2662
2599
  output,
2663
2600
  parsedBody,
2664
- exceptionCtor: __BaseException,
2665
2601
  errorCode,
2666
2602
  });
2667
2603
  }
@@ -2694,10 +2630,9 @@ const de_DeleteEmailTemplateCommandError = async (output, context) => {
2694
2630
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2695
2631
  default:
2696
2632
  const parsedBody = parsedOutput.body;
2697
- throwDefaultError({
2633
+ return throwDefaultError({
2698
2634
  output,
2699
2635
  parsedBody,
2700
- exceptionCtor: __BaseException,
2701
2636
  errorCode,
2702
2637
  });
2703
2638
  }
@@ -2730,10 +2665,9 @@ const de_DeleteSuppressedDestinationCommandError = async (output, context) => {
2730
2665
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2731
2666
  default:
2732
2667
  const parsedBody = parsedOutput.body;
2733
- throwDefaultError({
2668
+ return throwDefaultError({
2734
2669
  output,
2735
2670
  parsedBody,
2736
- exceptionCtor: __BaseException,
2737
2671
  errorCode,
2738
2672
  });
2739
2673
  }
@@ -2746,30 +2680,17 @@ export const de_GetAccountCommand = async (output, context) => {
2746
2680
  $metadata: deserializeMetadata(output),
2747
2681
  });
2748
2682
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2749
- if (data.DedicatedIpAutoWarmupEnabled != null) {
2750
- contents.DedicatedIpAutoWarmupEnabled = __expectBoolean(data.DedicatedIpAutoWarmupEnabled);
2751
- }
2752
- if (data.Details != null) {
2753
- contents.Details = de_AccountDetails(data.Details, context);
2754
- }
2755
- if (data.EnforcementStatus != null) {
2756
- contents.EnforcementStatus = __expectString(data.EnforcementStatus);
2757
- }
2758
- if (data.ProductionAccessEnabled != null) {
2759
- contents.ProductionAccessEnabled = __expectBoolean(data.ProductionAccessEnabled);
2760
- }
2761
- if (data.SendQuota != null) {
2762
- contents.SendQuota = de_SendQuota(data.SendQuota, context);
2763
- }
2764
- if (data.SendingEnabled != null) {
2765
- contents.SendingEnabled = __expectBoolean(data.SendingEnabled);
2766
- }
2767
- if (data.SuppressionAttributes != null) {
2768
- contents.SuppressionAttributes = de_SuppressionAttributes(data.SuppressionAttributes, context);
2769
- }
2770
- if (data.VdmAttributes != null) {
2771
- contents.VdmAttributes = de_VdmAttributes(data.VdmAttributes, context);
2772
- }
2683
+ const doc = take(data, {
2684
+ DedicatedIpAutoWarmupEnabled: __expectBoolean,
2685
+ Details: _json,
2686
+ EnforcementStatus: __expectString,
2687
+ ProductionAccessEnabled: __expectBoolean,
2688
+ SendQuota: (_) => de_SendQuota(_, context),
2689
+ SendingEnabled: __expectBoolean,
2690
+ SuppressionAttributes: _json,
2691
+ VdmAttributes: _json,
2692
+ });
2693
+ Object.assign(contents, doc);
2773
2694
  return contents;
2774
2695
  };
2775
2696
  const de_GetAccountCommandError = async (output, context) => {
@@ -2787,10 +2708,9 @@ const de_GetAccountCommandError = async (output, context) => {
2787
2708
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2788
2709
  default:
2789
2710
  const parsedBody = parsedOutput.body;
2790
- throwDefaultError({
2711
+ return throwDefaultError({
2791
2712
  output,
2792
2713
  parsedBody,
2793
- exceptionCtor: __BaseException,
2794
2714
  errorCode,
2795
2715
  });
2796
2716
  }
@@ -2803,9 +2723,10 @@ export const de_GetBlacklistReportsCommand = async (output, context) => {
2803
2723
  $metadata: deserializeMetadata(output),
2804
2724
  });
2805
2725
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2806
- if (data.BlacklistReport != null) {
2807
- contents.BlacklistReport = de_BlacklistReport(data.BlacklistReport, context);
2808
- }
2726
+ const doc = take(data, {
2727
+ BlacklistReport: (_) => de_BlacklistReport(_, context),
2728
+ });
2729
+ Object.assign(contents, doc);
2809
2730
  return contents;
2810
2731
  };
2811
2732
  const de_GetBlacklistReportsCommandError = async (output, context) => {
@@ -2826,10 +2747,9 @@ const de_GetBlacklistReportsCommandError = async (output, context) => {
2826
2747
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2827
2748
  default:
2828
2749
  const parsedBody = parsedOutput.body;
2829
- throwDefaultError({
2750
+ return throwDefaultError({
2830
2751
  output,
2831
2752
  parsedBody,
2832
- exceptionCtor: __BaseException,
2833
2753
  errorCode,
2834
2754
  });
2835
2755
  }
@@ -2842,30 +2762,17 @@ export const de_GetConfigurationSetCommand = async (output, context) => {
2842
2762
  $metadata: deserializeMetadata(output),
2843
2763
  });
2844
2764
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2845
- if (data.ConfigurationSetName != null) {
2846
- contents.ConfigurationSetName = __expectString(data.ConfigurationSetName);
2847
- }
2848
- if (data.DeliveryOptions != null) {
2849
- contents.DeliveryOptions = de_DeliveryOptions(data.DeliveryOptions, context);
2850
- }
2851
- if (data.ReputationOptions != null) {
2852
- contents.ReputationOptions = de_ReputationOptions(data.ReputationOptions, context);
2853
- }
2854
- if (data.SendingOptions != null) {
2855
- contents.SendingOptions = de_SendingOptions(data.SendingOptions, context);
2856
- }
2857
- if (data.SuppressionOptions != null) {
2858
- contents.SuppressionOptions = de_SuppressionOptions(data.SuppressionOptions, context);
2859
- }
2860
- if (data.Tags != null) {
2861
- contents.Tags = de_TagList(data.Tags, context);
2862
- }
2863
- if (data.TrackingOptions != null) {
2864
- contents.TrackingOptions = de_TrackingOptions(data.TrackingOptions, context);
2865
- }
2866
- if (data.VdmOptions != null) {
2867
- contents.VdmOptions = de_VdmOptions(data.VdmOptions, context);
2868
- }
2765
+ const doc = take(data, {
2766
+ ConfigurationSetName: __expectString,
2767
+ DeliveryOptions: _json,
2768
+ ReputationOptions: (_) => de_ReputationOptions(_, context),
2769
+ SendingOptions: _json,
2770
+ SuppressionOptions: _json,
2771
+ Tags: _json,
2772
+ TrackingOptions: _json,
2773
+ VdmOptions: _json,
2774
+ });
2775
+ Object.assign(contents, doc);
2869
2776
  return contents;
2870
2777
  };
2871
2778
  const de_GetConfigurationSetCommandError = async (output, context) => {
@@ -2886,10 +2793,9 @@ const de_GetConfigurationSetCommandError = async (output, context) => {
2886
2793
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2887
2794
  default:
2888
2795
  const parsedBody = parsedOutput.body;
2889
- throwDefaultError({
2796
+ return throwDefaultError({
2890
2797
  output,
2891
2798
  parsedBody,
2892
- exceptionCtor: __BaseException,
2893
2799
  errorCode,
2894
2800
  });
2895
2801
  }
@@ -2902,9 +2808,10 @@ export const de_GetConfigurationSetEventDestinationsCommand = async (output, con
2902
2808
  $metadata: deserializeMetadata(output),
2903
2809
  });
2904
2810
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2905
- if (data.EventDestinations != null) {
2906
- contents.EventDestinations = de_EventDestinations(data.EventDestinations, context);
2907
- }
2811
+ const doc = take(data, {
2812
+ EventDestinations: _json,
2813
+ });
2814
+ Object.assign(contents, doc);
2908
2815
  return contents;
2909
2816
  };
2910
2817
  const de_GetConfigurationSetEventDestinationsCommandError = async (output, context) => {
@@ -2925,10 +2832,9 @@ const de_GetConfigurationSetEventDestinationsCommandError = async (output, conte
2925
2832
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2926
2833
  default:
2927
2834
  const parsedBody = parsedOutput.body;
2928
- throwDefaultError({
2835
+ return throwDefaultError({
2929
2836
  output,
2930
2837
  parsedBody,
2931
- exceptionCtor: __BaseException,
2932
2838
  errorCode,
2933
2839
  });
2934
2840
  }
@@ -2941,30 +2847,17 @@ export const de_GetContactCommand = async (output, context) => {
2941
2847
  $metadata: deserializeMetadata(output),
2942
2848
  });
2943
2849
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2944
- if (data.AttributesData != null) {
2945
- contents.AttributesData = __expectString(data.AttributesData);
2946
- }
2947
- if (data.ContactListName != null) {
2948
- contents.ContactListName = __expectString(data.ContactListName);
2949
- }
2950
- if (data.CreatedTimestamp != null) {
2951
- contents.CreatedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.CreatedTimestamp)));
2952
- }
2953
- if (data.EmailAddress != null) {
2954
- contents.EmailAddress = __expectString(data.EmailAddress);
2955
- }
2956
- if (data.LastUpdatedTimestamp != null) {
2957
- contents.LastUpdatedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.LastUpdatedTimestamp)));
2958
- }
2959
- if (data.TopicDefaultPreferences != null) {
2960
- contents.TopicDefaultPreferences = de_TopicPreferenceList(data.TopicDefaultPreferences, context);
2961
- }
2962
- if (data.TopicPreferences != null) {
2963
- contents.TopicPreferences = de_TopicPreferenceList(data.TopicPreferences, context);
2964
- }
2965
- if (data.UnsubscribeAll != null) {
2966
- contents.UnsubscribeAll = __expectBoolean(data.UnsubscribeAll);
2967
- }
2850
+ const doc = take(data, {
2851
+ AttributesData: __expectString,
2852
+ ContactListName: __expectString,
2853
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2854
+ EmailAddress: __expectString,
2855
+ LastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2856
+ TopicDefaultPreferences: _json,
2857
+ TopicPreferences: _json,
2858
+ UnsubscribeAll: __expectBoolean,
2859
+ });
2860
+ Object.assign(contents, doc);
2968
2861
  return contents;
2969
2862
  };
2970
2863
  const de_GetContactCommandError = async (output, context) => {
@@ -2985,10 +2878,9 @@ const de_GetContactCommandError = async (output, context) => {
2985
2878
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
2986
2879
  default:
2987
2880
  const parsedBody = parsedOutput.body;
2988
- throwDefaultError({
2881
+ return throwDefaultError({
2989
2882
  output,
2990
2883
  parsedBody,
2991
- exceptionCtor: __BaseException,
2992
2884
  errorCode,
2993
2885
  });
2994
2886
  }
@@ -3001,24 +2893,15 @@ export const de_GetContactListCommand = async (output, context) => {
3001
2893
  $metadata: deserializeMetadata(output),
3002
2894
  });
3003
2895
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3004
- if (data.ContactListName != null) {
3005
- contents.ContactListName = __expectString(data.ContactListName);
3006
- }
3007
- if (data.CreatedTimestamp != null) {
3008
- contents.CreatedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.CreatedTimestamp)));
3009
- }
3010
- if (data.Description != null) {
3011
- contents.Description = __expectString(data.Description);
3012
- }
3013
- if (data.LastUpdatedTimestamp != null) {
3014
- contents.LastUpdatedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.LastUpdatedTimestamp)));
3015
- }
3016
- if (data.Tags != null) {
3017
- contents.Tags = de_TagList(data.Tags, context);
3018
- }
3019
- if (data.Topics != null) {
3020
- contents.Topics = de_Topics(data.Topics, context);
3021
- }
2896
+ const doc = take(data, {
2897
+ ContactListName: __expectString,
2898
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2899
+ Description: __expectString,
2900
+ LastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
2901
+ Tags: _json,
2902
+ Topics: _json,
2903
+ });
2904
+ Object.assign(contents, doc);
3022
2905
  return contents;
3023
2906
  };
3024
2907
  const de_GetContactListCommandError = async (output, context) => {
@@ -3039,10 +2922,9 @@ const de_GetContactListCommandError = async (output, context) => {
3039
2922
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3040
2923
  default:
3041
2924
  const parsedBody = parsedOutput.body;
3042
- throwDefaultError({
2925
+ return throwDefaultError({
3043
2926
  output,
3044
2927
  parsedBody,
3045
- exceptionCtor: __BaseException,
3046
2928
  errorCode,
3047
2929
  });
3048
2930
  }
@@ -3055,24 +2937,15 @@ export const de_GetCustomVerificationEmailTemplateCommand = async (output, conte
3055
2937
  $metadata: deserializeMetadata(output),
3056
2938
  });
3057
2939
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3058
- if (data.FailureRedirectionURL != null) {
3059
- contents.FailureRedirectionURL = __expectString(data.FailureRedirectionURL);
3060
- }
3061
- if (data.FromEmailAddress != null) {
3062
- contents.FromEmailAddress = __expectString(data.FromEmailAddress);
3063
- }
3064
- if (data.SuccessRedirectionURL != null) {
3065
- contents.SuccessRedirectionURL = __expectString(data.SuccessRedirectionURL);
3066
- }
3067
- if (data.TemplateContent != null) {
3068
- contents.TemplateContent = __expectString(data.TemplateContent);
3069
- }
3070
- if (data.TemplateName != null) {
3071
- contents.TemplateName = __expectString(data.TemplateName);
3072
- }
3073
- if (data.TemplateSubject != null) {
3074
- contents.TemplateSubject = __expectString(data.TemplateSubject);
3075
- }
2940
+ const doc = take(data, {
2941
+ FailureRedirectionURL: __expectString,
2942
+ FromEmailAddress: __expectString,
2943
+ SuccessRedirectionURL: __expectString,
2944
+ TemplateContent: __expectString,
2945
+ TemplateName: __expectString,
2946
+ TemplateSubject: __expectString,
2947
+ });
2948
+ Object.assign(contents, doc);
3076
2949
  return contents;
3077
2950
  };
3078
2951
  const de_GetCustomVerificationEmailTemplateCommandError = async (output, context) => {
@@ -3093,10 +2966,9 @@ const de_GetCustomVerificationEmailTemplateCommandError = async (output, context
3093
2966
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3094
2967
  default:
3095
2968
  const parsedBody = parsedOutput.body;
3096
- throwDefaultError({
2969
+ return throwDefaultError({
3097
2970
  output,
3098
2971
  parsedBody,
3099
- exceptionCtor: __BaseException,
3100
2972
  errorCode,
3101
2973
  });
3102
2974
  }
@@ -3109,9 +2981,10 @@ export const de_GetDedicatedIpCommand = async (output, context) => {
3109
2981
  $metadata: deserializeMetadata(output),
3110
2982
  });
3111
2983
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3112
- if (data.DedicatedIp != null) {
3113
- contents.DedicatedIp = de_DedicatedIp(data.DedicatedIp, context);
3114
- }
2984
+ const doc = take(data, {
2985
+ DedicatedIp: _json,
2986
+ });
2987
+ Object.assign(contents, doc);
3115
2988
  return contents;
3116
2989
  };
3117
2990
  const de_GetDedicatedIpCommandError = async (output, context) => {
@@ -3132,10 +3005,9 @@ const de_GetDedicatedIpCommandError = async (output, context) => {
3132
3005
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3133
3006
  default:
3134
3007
  const parsedBody = parsedOutput.body;
3135
- throwDefaultError({
3008
+ return throwDefaultError({
3136
3009
  output,
3137
3010
  parsedBody,
3138
- exceptionCtor: __BaseException,
3139
3011
  errorCode,
3140
3012
  });
3141
3013
  }
@@ -3148,9 +3020,10 @@ export const de_GetDedicatedIpPoolCommand = async (output, context) => {
3148
3020
  $metadata: deserializeMetadata(output),
3149
3021
  });
3150
3022
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3151
- if (data.DedicatedIpPool != null) {
3152
- contents.DedicatedIpPool = de_DedicatedIpPool(data.DedicatedIpPool, context);
3153
- }
3023
+ const doc = take(data, {
3024
+ DedicatedIpPool: _json,
3025
+ });
3026
+ Object.assign(contents, doc);
3154
3027
  return contents;
3155
3028
  };
3156
3029
  const de_GetDedicatedIpPoolCommandError = async (output, context) => {
@@ -3171,10 +3044,9 @@ const de_GetDedicatedIpPoolCommandError = async (output, context) => {
3171
3044
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3172
3045
  default:
3173
3046
  const parsedBody = parsedOutput.body;
3174
- throwDefaultError({
3047
+ return throwDefaultError({
3175
3048
  output,
3176
3049
  parsedBody,
3177
- exceptionCtor: __BaseException,
3178
3050
  errorCode,
3179
3051
  });
3180
3052
  }
@@ -3187,12 +3059,11 @@ export const de_GetDedicatedIpsCommand = async (output, context) => {
3187
3059
  $metadata: deserializeMetadata(output),
3188
3060
  });
3189
3061
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3190
- if (data.DedicatedIps != null) {
3191
- contents.DedicatedIps = de_DedicatedIpList(data.DedicatedIps, context);
3192
- }
3193
- if (data.NextToken != null) {
3194
- contents.NextToken = __expectString(data.NextToken);
3195
- }
3062
+ const doc = take(data, {
3063
+ DedicatedIps: _json,
3064
+ NextToken: __expectString,
3065
+ });
3066
+ Object.assign(contents, doc);
3196
3067
  return contents;
3197
3068
  };
3198
3069
  const de_GetDedicatedIpsCommandError = async (output, context) => {
@@ -3213,10 +3084,9 @@ const de_GetDedicatedIpsCommandError = async (output, context) => {
3213
3084
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3214
3085
  default:
3215
3086
  const parsedBody = parsedOutput.body;
3216
- throwDefaultError({
3087
+ return throwDefaultError({
3217
3088
  output,
3218
3089
  parsedBody,
3219
- exceptionCtor: __BaseException,
3220
3090
  errorCode,
3221
3091
  });
3222
3092
  }
@@ -3229,21 +3099,14 @@ export const de_GetDeliverabilityDashboardOptionsCommand = async (output, contex
3229
3099
  $metadata: deserializeMetadata(output),
3230
3100
  });
3231
3101
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3232
- if (data.AccountStatus != null) {
3233
- contents.AccountStatus = __expectString(data.AccountStatus);
3234
- }
3235
- if (data.ActiveSubscribedDomains != null) {
3236
- contents.ActiveSubscribedDomains = de_DomainDeliverabilityTrackingOptions(data.ActiveSubscribedDomains, context);
3237
- }
3238
- if (data.DashboardEnabled != null) {
3239
- contents.DashboardEnabled = __expectBoolean(data.DashboardEnabled);
3240
- }
3241
- if (data.PendingExpirationSubscribedDomains != null) {
3242
- contents.PendingExpirationSubscribedDomains = de_DomainDeliverabilityTrackingOptions(data.PendingExpirationSubscribedDomains, context);
3243
- }
3244
- if (data.SubscriptionExpiryDate != null) {
3245
- contents.SubscriptionExpiryDate = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.SubscriptionExpiryDate)));
3246
- }
3102
+ const doc = take(data, {
3103
+ AccountStatus: __expectString,
3104
+ ActiveSubscribedDomains: (_) => de_DomainDeliverabilityTrackingOptions(_, context),
3105
+ DashboardEnabled: __expectBoolean,
3106
+ PendingExpirationSubscribedDomains: (_) => de_DomainDeliverabilityTrackingOptions(_, context),
3107
+ SubscriptionExpiryDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
3108
+ });
3109
+ Object.assign(contents, doc);
3247
3110
  return contents;
3248
3111
  };
3249
3112
  const de_GetDeliverabilityDashboardOptionsCommandError = async (output, context) => {
@@ -3264,10 +3127,9 @@ const de_GetDeliverabilityDashboardOptionsCommandError = async (output, context)
3264
3127
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3265
3128
  default:
3266
3129
  const parsedBody = parsedOutput.body;
3267
- throwDefaultError({
3130
+ return throwDefaultError({
3268
3131
  output,
3269
3132
  parsedBody,
3270
- exceptionCtor: __BaseException,
3271
3133
  errorCode,
3272
3134
  });
3273
3135
  }
@@ -3280,21 +3142,14 @@ export const de_GetDeliverabilityTestReportCommand = async (output, context) =>
3280
3142
  $metadata: deserializeMetadata(output),
3281
3143
  });
3282
3144
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3283
- if (data.DeliverabilityTestReport != null) {
3284
- contents.DeliverabilityTestReport = de_DeliverabilityTestReport(data.DeliverabilityTestReport, context);
3285
- }
3286
- if (data.IspPlacements != null) {
3287
- contents.IspPlacements = de_IspPlacements(data.IspPlacements, context);
3288
- }
3289
- if (data.Message != null) {
3290
- contents.Message = __expectString(data.Message);
3291
- }
3292
- if (data.OverallPlacement != null) {
3293
- contents.OverallPlacement = de_PlacementStatistics(data.OverallPlacement, context);
3294
- }
3295
- if (data.Tags != null) {
3296
- contents.Tags = de_TagList(data.Tags, context);
3297
- }
3145
+ const doc = take(data, {
3146
+ DeliverabilityTestReport: (_) => de_DeliverabilityTestReport(_, context),
3147
+ IspPlacements: (_) => de_IspPlacements(_, context),
3148
+ Message: __expectString,
3149
+ OverallPlacement: (_) => de_PlacementStatistics(_, context),
3150
+ Tags: _json,
3151
+ });
3152
+ Object.assign(contents, doc);
3298
3153
  return contents;
3299
3154
  };
3300
3155
  const de_GetDeliverabilityTestReportCommandError = async (output, context) => {
@@ -3315,10 +3170,9 @@ const de_GetDeliverabilityTestReportCommandError = async (output, context) => {
3315
3170
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3316
3171
  default:
3317
3172
  const parsedBody = parsedOutput.body;
3318
- throwDefaultError({
3173
+ return throwDefaultError({
3319
3174
  output,
3320
3175
  parsedBody,
3321
- exceptionCtor: __BaseException,
3322
3176
  errorCode,
3323
3177
  });
3324
3178
  }
@@ -3331,9 +3185,10 @@ export const de_GetDomainDeliverabilityCampaignCommand = async (output, context)
3331
3185
  $metadata: deserializeMetadata(output),
3332
3186
  });
3333
3187
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3334
- if (data.DomainDeliverabilityCampaign != null) {
3335
- contents.DomainDeliverabilityCampaign = de_DomainDeliverabilityCampaign(data.DomainDeliverabilityCampaign, context);
3336
- }
3188
+ const doc = take(data, {
3189
+ DomainDeliverabilityCampaign: (_) => de_DomainDeliverabilityCampaign(_, context),
3190
+ });
3191
+ Object.assign(contents, doc);
3337
3192
  return contents;
3338
3193
  };
3339
3194
  const de_GetDomainDeliverabilityCampaignCommandError = async (output, context) => {
@@ -3354,10 +3209,9 @@ const de_GetDomainDeliverabilityCampaignCommandError = async (output, context) =
3354
3209
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3355
3210
  default:
3356
3211
  const parsedBody = parsedOutput.body;
3357
- throwDefaultError({
3212
+ return throwDefaultError({
3358
3213
  output,
3359
3214
  parsedBody,
3360
- exceptionCtor: __BaseException,
3361
3215
  errorCode,
3362
3216
  });
3363
3217
  }
@@ -3370,12 +3224,11 @@ export const de_GetDomainStatisticsReportCommand = async (output, context) => {
3370
3224
  $metadata: deserializeMetadata(output),
3371
3225
  });
3372
3226
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3373
- if (data.DailyVolumes != null) {
3374
- contents.DailyVolumes = de_DailyVolumes(data.DailyVolumes, context);
3375
- }
3376
- if (data.OverallVolume != null) {
3377
- contents.OverallVolume = de_OverallVolume(data.OverallVolume, context);
3378
- }
3227
+ const doc = take(data, {
3228
+ DailyVolumes: (_) => de_DailyVolumes(_, context),
3229
+ OverallVolume: (_) => de_OverallVolume(_, context),
3230
+ });
3231
+ Object.assign(contents, doc);
3379
3232
  return contents;
3380
3233
  };
3381
3234
  const de_GetDomainStatisticsReportCommandError = async (output, context) => {
@@ -3396,10 +3249,9 @@ const de_GetDomainStatisticsReportCommandError = async (output, context) => {
3396
3249
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3397
3250
  default:
3398
3251
  const parsedBody = parsedOutput.body;
3399
- throwDefaultError({
3252
+ return throwDefaultError({
3400
3253
  output,
3401
3254
  parsedBody,
3402
- exceptionCtor: __BaseException,
3403
3255
  errorCode,
3404
3256
  });
3405
3257
  }
@@ -3412,33 +3264,18 @@ export const de_GetEmailIdentityCommand = async (output, context) => {
3412
3264
  $metadata: deserializeMetadata(output),
3413
3265
  });
3414
3266
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3415
- if (data.ConfigurationSetName != null) {
3416
- contents.ConfigurationSetName = __expectString(data.ConfigurationSetName);
3417
- }
3418
- if (data.DkimAttributes != null) {
3419
- contents.DkimAttributes = de_DkimAttributes(data.DkimAttributes, context);
3420
- }
3421
- if (data.FeedbackForwardingStatus != null) {
3422
- contents.FeedbackForwardingStatus = __expectBoolean(data.FeedbackForwardingStatus);
3423
- }
3424
- if (data.IdentityType != null) {
3425
- contents.IdentityType = __expectString(data.IdentityType);
3426
- }
3427
- if (data.MailFromAttributes != null) {
3428
- contents.MailFromAttributes = de_MailFromAttributes(data.MailFromAttributes, context);
3429
- }
3430
- if (data.Policies != null) {
3431
- contents.Policies = de_PolicyMap(data.Policies, context);
3432
- }
3433
- if (data.Tags != null) {
3434
- contents.Tags = de_TagList(data.Tags, context);
3435
- }
3436
- if (data.VerificationStatus != null) {
3437
- contents.VerificationStatus = __expectString(data.VerificationStatus);
3438
- }
3439
- if (data.VerifiedForSendingStatus != null) {
3440
- contents.VerifiedForSendingStatus = __expectBoolean(data.VerifiedForSendingStatus);
3441
- }
3267
+ const doc = take(data, {
3268
+ ConfigurationSetName: __expectString,
3269
+ DkimAttributes: (_) => de_DkimAttributes(_, context),
3270
+ FeedbackForwardingStatus: __expectBoolean,
3271
+ IdentityType: __expectString,
3272
+ MailFromAttributes: _json,
3273
+ Policies: _json,
3274
+ Tags: _json,
3275
+ VerificationStatus: __expectString,
3276
+ VerifiedForSendingStatus: __expectBoolean,
3277
+ });
3278
+ Object.assign(contents, doc);
3442
3279
  return contents;
3443
3280
  };
3444
3281
  const de_GetEmailIdentityCommandError = async (output, context) => {
@@ -3459,10 +3296,9 @@ const de_GetEmailIdentityCommandError = async (output, context) => {
3459
3296
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3460
3297
  default:
3461
3298
  const parsedBody = parsedOutput.body;
3462
- throwDefaultError({
3299
+ return throwDefaultError({
3463
3300
  output,
3464
3301
  parsedBody,
3465
- exceptionCtor: __BaseException,
3466
3302
  errorCode,
3467
3303
  });
3468
3304
  }
@@ -3475,9 +3311,10 @@ export const de_GetEmailIdentityPoliciesCommand = async (output, context) => {
3475
3311
  $metadata: deserializeMetadata(output),
3476
3312
  });
3477
3313
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3478
- if (data.Policies != null) {
3479
- contents.Policies = de_PolicyMap(data.Policies, context);
3480
- }
3314
+ const doc = take(data, {
3315
+ Policies: _json,
3316
+ });
3317
+ Object.assign(contents, doc);
3481
3318
  return contents;
3482
3319
  };
3483
3320
  const de_GetEmailIdentityPoliciesCommandError = async (output, context) => {
@@ -3498,10 +3335,9 @@ const de_GetEmailIdentityPoliciesCommandError = async (output, context) => {
3498
3335
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3499
3336
  default:
3500
3337
  const parsedBody = parsedOutput.body;
3501
- throwDefaultError({
3338
+ return throwDefaultError({
3502
3339
  output,
3503
3340
  parsedBody,
3504
- exceptionCtor: __BaseException,
3505
3341
  errorCode,
3506
3342
  });
3507
3343
  }
@@ -3514,12 +3350,11 @@ export const de_GetEmailTemplateCommand = async (output, context) => {
3514
3350
  $metadata: deserializeMetadata(output),
3515
3351
  });
3516
3352
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3517
- if (data.TemplateContent != null) {
3518
- contents.TemplateContent = de_EmailTemplateContent(data.TemplateContent, context);
3519
- }
3520
- if (data.TemplateName != null) {
3521
- contents.TemplateName = __expectString(data.TemplateName);
3522
- }
3353
+ const doc = take(data, {
3354
+ TemplateContent: _json,
3355
+ TemplateName: __expectString,
3356
+ });
3357
+ Object.assign(contents, doc);
3523
3358
  return contents;
3524
3359
  };
3525
3360
  const de_GetEmailTemplateCommandError = async (output, context) => {
@@ -3540,10 +3375,9 @@ const de_GetEmailTemplateCommandError = async (output, context) => {
3540
3375
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3541
3376
  default:
3542
3377
  const parsedBody = parsedOutput.body;
3543
- throwDefaultError({
3378
+ return throwDefaultError({
3544
3379
  output,
3545
3380
  parsedBody,
3546
- exceptionCtor: __BaseException,
3547
3381
  errorCode,
3548
3382
  });
3549
3383
  }
@@ -3556,33 +3390,18 @@ export const de_GetImportJobCommand = async (output, context) => {
3556
3390
  $metadata: deserializeMetadata(output),
3557
3391
  });
3558
3392
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3559
- if (data.CompletedTimestamp != null) {
3560
- contents.CompletedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.CompletedTimestamp)));
3561
- }
3562
- if (data.CreatedTimestamp != null) {
3563
- contents.CreatedTimestamp = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.CreatedTimestamp)));
3564
- }
3565
- if (data.FailedRecordsCount != null) {
3566
- contents.FailedRecordsCount = __expectInt32(data.FailedRecordsCount);
3567
- }
3568
- if (data.FailureInfo != null) {
3569
- contents.FailureInfo = de_FailureInfo(data.FailureInfo, context);
3570
- }
3571
- if (data.ImportDataSource != null) {
3572
- contents.ImportDataSource = de_ImportDataSource(data.ImportDataSource, context);
3573
- }
3574
- if (data.ImportDestination != null) {
3575
- contents.ImportDestination = de_ImportDestination(data.ImportDestination, context);
3576
- }
3577
- if (data.JobId != null) {
3578
- contents.JobId = __expectString(data.JobId);
3579
- }
3580
- if (data.JobStatus != null) {
3581
- contents.JobStatus = __expectString(data.JobStatus);
3582
- }
3583
- if (data.ProcessedRecordsCount != null) {
3584
- contents.ProcessedRecordsCount = __expectInt32(data.ProcessedRecordsCount);
3585
- }
3393
+ const doc = take(data, {
3394
+ CompletedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
3395
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
3396
+ FailedRecordsCount: __expectInt32,
3397
+ FailureInfo: _json,
3398
+ ImportDataSource: _json,
3399
+ ImportDestination: _json,
3400
+ JobId: __expectString,
3401
+ JobStatus: __expectString,
3402
+ ProcessedRecordsCount: __expectInt32,
3403
+ });
3404
+ Object.assign(contents, doc);
3586
3405
  return contents;
3587
3406
  };
3588
3407
  const de_GetImportJobCommandError = async (output, context) => {
@@ -3603,10 +3422,9 @@ const de_GetImportJobCommandError = async (output, context) => {
3603
3422
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3604
3423
  default:
3605
3424
  const parsedBody = parsedOutput.body;
3606
- throwDefaultError({
3425
+ return throwDefaultError({
3607
3426
  output,
3608
3427
  parsedBody,
3609
- exceptionCtor: __BaseException,
3610
3428
  errorCode,
3611
3429
  });
3612
3430
  }
@@ -3619,9 +3437,10 @@ export const de_GetSuppressedDestinationCommand = async (output, context) => {
3619
3437
  $metadata: deserializeMetadata(output),
3620
3438
  });
3621
3439
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3622
- if (data.SuppressedDestination != null) {
3623
- contents.SuppressedDestination = de_SuppressedDestination(data.SuppressedDestination, context);
3624
- }
3440
+ const doc = take(data, {
3441
+ SuppressedDestination: (_) => de_SuppressedDestination(_, context),
3442
+ });
3443
+ Object.assign(contents, doc);
3625
3444
  return contents;
3626
3445
  };
3627
3446
  const de_GetSuppressedDestinationCommandError = async (output, context) => {
@@ -3642,10 +3461,9 @@ const de_GetSuppressedDestinationCommandError = async (output, context) => {
3642
3461
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3643
3462
  default:
3644
3463
  const parsedBody = parsedOutput.body;
3645
- throwDefaultError({
3464
+ return throwDefaultError({
3646
3465
  output,
3647
3466
  parsedBody,
3648
- exceptionCtor: __BaseException,
3649
3467
  errorCode,
3650
3468
  });
3651
3469
  }
@@ -3658,12 +3476,11 @@ export const de_ListConfigurationSetsCommand = async (output, context) => {
3658
3476
  $metadata: deserializeMetadata(output),
3659
3477
  });
3660
3478
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3661
- if (data.ConfigurationSets != null) {
3662
- contents.ConfigurationSets = de_ConfigurationSetNameList(data.ConfigurationSets, context);
3663
- }
3664
- if (data.NextToken != null) {
3665
- contents.NextToken = __expectString(data.NextToken);
3666
- }
3479
+ const doc = take(data, {
3480
+ ConfigurationSets: _json,
3481
+ NextToken: __expectString,
3482
+ });
3483
+ Object.assign(contents, doc);
3667
3484
  return contents;
3668
3485
  };
3669
3486
  const de_ListConfigurationSetsCommandError = async (output, context) => {
@@ -3681,10 +3498,9 @@ const de_ListConfigurationSetsCommandError = async (output, context) => {
3681
3498
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3682
3499
  default:
3683
3500
  const parsedBody = parsedOutput.body;
3684
- throwDefaultError({
3501
+ return throwDefaultError({
3685
3502
  output,
3686
3503
  parsedBody,
3687
- exceptionCtor: __BaseException,
3688
3504
  errorCode,
3689
3505
  });
3690
3506
  }
@@ -3697,12 +3513,11 @@ export const de_ListContactListsCommand = async (output, context) => {
3697
3513
  $metadata: deserializeMetadata(output),
3698
3514
  });
3699
3515
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3700
- if (data.ContactLists != null) {
3701
- contents.ContactLists = de_ListOfContactLists(data.ContactLists, context);
3702
- }
3703
- if (data.NextToken != null) {
3704
- contents.NextToken = __expectString(data.NextToken);
3705
- }
3516
+ const doc = take(data, {
3517
+ ContactLists: (_) => de_ListOfContactLists(_, context),
3518
+ NextToken: __expectString,
3519
+ });
3520
+ Object.assign(contents, doc);
3706
3521
  return contents;
3707
3522
  };
3708
3523
  const de_ListContactListsCommandError = async (output, context) => {
@@ -3720,10 +3535,9 @@ const de_ListContactListsCommandError = async (output, context) => {
3720
3535
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3721
3536
  default:
3722
3537
  const parsedBody = parsedOutput.body;
3723
- throwDefaultError({
3538
+ return throwDefaultError({
3724
3539
  output,
3725
3540
  parsedBody,
3726
- exceptionCtor: __BaseException,
3727
3541
  errorCode,
3728
3542
  });
3729
3543
  }
@@ -3736,12 +3550,11 @@ export const de_ListContactsCommand = async (output, context) => {
3736
3550
  $metadata: deserializeMetadata(output),
3737
3551
  });
3738
3552
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3739
- if (data.Contacts != null) {
3740
- contents.Contacts = de_ListOfContacts(data.Contacts, context);
3741
- }
3742
- if (data.NextToken != null) {
3743
- contents.NextToken = __expectString(data.NextToken);
3744
- }
3553
+ const doc = take(data, {
3554
+ Contacts: (_) => de_ListOfContacts(_, context),
3555
+ NextToken: __expectString,
3556
+ });
3557
+ Object.assign(contents, doc);
3745
3558
  return contents;
3746
3559
  };
3747
3560
  const de_ListContactsCommandError = async (output, context) => {
@@ -3762,10 +3575,9 @@ const de_ListContactsCommandError = async (output, context) => {
3762
3575
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3763
3576
  default:
3764
3577
  const parsedBody = parsedOutput.body;
3765
- throwDefaultError({
3578
+ return throwDefaultError({
3766
3579
  output,
3767
3580
  parsedBody,
3768
- exceptionCtor: __BaseException,
3769
3581
  errorCode,
3770
3582
  });
3771
3583
  }
@@ -3778,12 +3590,11 @@ export const de_ListCustomVerificationEmailTemplatesCommand = async (output, con
3778
3590
  $metadata: deserializeMetadata(output),
3779
3591
  });
3780
3592
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3781
- if (data.CustomVerificationEmailTemplates != null) {
3782
- contents.CustomVerificationEmailTemplates = de_CustomVerificationEmailTemplatesList(data.CustomVerificationEmailTemplates, context);
3783
- }
3784
- if (data.NextToken != null) {
3785
- contents.NextToken = __expectString(data.NextToken);
3786
- }
3593
+ const doc = take(data, {
3594
+ CustomVerificationEmailTemplates: _json,
3595
+ NextToken: __expectString,
3596
+ });
3597
+ Object.assign(contents, doc);
3787
3598
  return contents;
3788
3599
  };
3789
3600
  const de_ListCustomVerificationEmailTemplatesCommandError = async (output, context) => {
@@ -3801,10 +3612,9 @@ const de_ListCustomVerificationEmailTemplatesCommandError = async (output, conte
3801
3612
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3802
3613
  default:
3803
3614
  const parsedBody = parsedOutput.body;
3804
- throwDefaultError({
3615
+ return throwDefaultError({
3805
3616
  output,
3806
3617
  parsedBody,
3807
- exceptionCtor: __BaseException,
3808
3618
  errorCode,
3809
3619
  });
3810
3620
  }
@@ -3817,12 +3627,11 @@ export const de_ListDedicatedIpPoolsCommand = async (output, context) => {
3817
3627
  $metadata: deserializeMetadata(output),
3818
3628
  });
3819
3629
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3820
- if (data.DedicatedIpPools != null) {
3821
- contents.DedicatedIpPools = de_ListOfDedicatedIpPools(data.DedicatedIpPools, context);
3822
- }
3823
- if (data.NextToken != null) {
3824
- contents.NextToken = __expectString(data.NextToken);
3825
- }
3630
+ const doc = take(data, {
3631
+ DedicatedIpPools: _json,
3632
+ NextToken: __expectString,
3633
+ });
3634
+ Object.assign(contents, doc);
3826
3635
  return contents;
3827
3636
  };
3828
3637
  const de_ListDedicatedIpPoolsCommandError = async (output, context) => {
@@ -3840,10 +3649,9 @@ const de_ListDedicatedIpPoolsCommandError = async (output, context) => {
3840
3649
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3841
3650
  default:
3842
3651
  const parsedBody = parsedOutput.body;
3843
- throwDefaultError({
3652
+ return throwDefaultError({
3844
3653
  output,
3845
3654
  parsedBody,
3846
- exceptionCtor: __BaseException,
3847
3655
  errorCode,
3848
3656
  });
3849
3657
  }
@@ -3856,12 +3664,11 @@ export const de_ListDeliverabilityTestReportsCommand = async (output, context) =
3856
3664
  $metadata: deserializeMetadata(output),
3857
3665
  });
3858
3666
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3859
- if (data.DeliverabilityTestReports != null) {
3860
- contents.DeliverabilityTestReports = de_DeliverabilityTestReports(data.DeliverabilityTestReports, context);
3861
- }
3862
- if (data.NextToken != null) {
3863
- contents.NextToken = __expectString(data.NextToken);
3864
- }
3667
+ const doc = take(data, {
3668
+ DeliverabilityTestReports: (_) => de_DeliverabilityTestReports(_, context),
3669
+ NextToken: __expectString,
3670
+ });
3671
+ Object.assign(contents, doc);
3865
3672
  return contents;
3866
3673
  };
3867
3674
  const de_ListDeliverabilityTestReportsCommandError = async (output, context) => {
@@ -3882,10 +3689,9 @@ const de_ListDeliverabilityTestReportsCommandError = async (output, context) =>
3882
3689
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3883
3690
  default:
3884
3691
  const parsedBody = parsedOutput.body;
3885
- throwDefaultError({
3692
+ return throwDefaultError({
3886
3693
  output,
3887
3694
  parsedBody,
3888
- exceptionCtor: __BaseException,
3889
3695
  errorCode,
3890
3696
  });
3891
3697
  }
@@ -3898,12 +3704,11 @@ export const de_ListDomainDeliverabilityCampaignsCommand = async (output, contex
3898
3704
  $metadata: deserializeMetadata(output),
3899
3705
  });
3900
3706
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3901
- if (data.DomainDeliverabilityCampaigns != null) {
3902
- contents.DomainDeliverabilityCampaigns = de_DomainDeliverabilityCampaignList(data.DomainDeliverabilityCampaigns, context);
3903
- }
3904
- if (data.NextToken != null) {
3905
- contents.NextToken = __expectString(data.NextToken);
3906
- }
3707
+ const doc = take(data, {
3708
+ DomainDeliverabilityCampaigns: (_) => de_DomainDeliverabilityCampaignList(_, context),
3709
+ NextToken: __expectString,
3710
+ });
3711
+ Object.assign(contents, doc);
3907
3712
  return contents;
3908
3713
  };
3909
3714
  const de_ListDomainDeliverabilityCampaignsCommandError = async (output, context) => {
@@ -3924,10 +3729,9 @@ const de_ListDomainDeliverabilityCampaignsCommandError = async (output, context)
3924
3729
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3925
3730
  default:
3926
3731
  const parsedBody = parsedOutput.body;
3927
- throwDefaultError({
3732
+ return throwDefaultError({
3928
3733
  output,
3929
3734
  parsedBody,
3930
- exceptionCtor: __BaseException,
3931
3735
  errorCode,
3932
3736
  });
3933
3737
  }
@@ -3940,12 +3744,11 @@ export const de_ListEmailIdentitiesCommand = async (output, context) => {
3940
3744
  $metadata: deserializeMetadata(output),
3941
3745
  });
3942
3746
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3943
- if (data.EmailIdentities != null) {
3944
- contents.EmailIdentities = de_IdentityInfoList(data.EmailIdentities, context);
3945
- }
3946
- if (data.NextToken != null) {
3947
- contents.NextToken = __expectString(data.NextToken);
3948
- }
3747
+ const doc = take(data, {
3748
+ EmailIdentities: _json,
3749
+ NextToken: __expectString,
3750
+ });
3751
+ Object.assign(contents, doc);
3949
3752
  return contents;
3950
3753
  };
3951
3754
  const de_ListEmailIdentitiesCommandError = async (output, context) => {
@@ -3963,10 +3766,9 @@ const de_ListEmailIdentitiesCommandError = async (output, context) => {
3963
3766
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
3964
3767
  default:
3965
3768
  const parsedBody = parsedOutput.body;
3966
- throwDefaultError({
3769
+ return throwDefaultError({
3967
3770
  output,
3968
3771
  parsedBody,
3969
- exceptionCtor: __BaseException,
3970
3772
  errorCode,
3971
3773
  });
3972
3774
  }
@@ -3979,12 +3781,11 @@ export const de_ListEmailTemplatesCommand = async (output, context) => {
3979
3781
  $metadata: deserializeMetadata(output),
3980
3782
  });
3981
3783
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3982
- if (data.NextToken != null) {
3983
- contents.NextToken = __expectString(data.NextToken);
3984
- }
3985
- if (data.TemplatesMetadata != null) {
3986
- contents.TemplatesMetadata = de_EmailTemplateMetadataList(data.TemplatesMetadata, context);
3987
- }
3784
+ const doc = take(data, {
3785
+ NextToken: __expectString,
3786
+ TemplatesMetadata: (_) => de_EmailTemplateMetadataList(_, context),
3787
+ });
3788
+ Object.assign(contents, doc);
3988
3789
  return contents;
3989
3790
  };
3990
3791
  const de_ListEmailTemplatesCommandError = async (output, context) => {
@@ -4002,10 +3803,9 @@ const de_ListEmailTemplatesCommandError = async (output, context) => {
4002
3803
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4003
3804
  default:
4004
3805
  const parsedBody = parsedOutput.body;
4005
- throwDefaultError({
3806
+ return throwDefaultError({
4006
3807
  output,
4007
3808
  parsedBody,
4008
- exceptionCtor: __BaseException,
4009
3809
  errorCode,
4010
3810
  });
4011
3811
  }
@@ -4018,12 +3818,11 @@ export const de_ListImportJobsCommand = async (output, context) => {
4018
3818
  $metadata: deserializeMetadata(output),
4019
3819
  });
4020
3820
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4021
- if (data.ImportJobs != null) {
4022
- contents.ImportJobs = de_ImportJobSummaryList(data.ImportJobs, context);
4023
- }
4024
- if (data.NextToken != null) {
4025
- contents.NextToken = __expectString(data.NextToken);
4026
- }
3821
+ const doc = take(data, {
3822
+ ImportJobs: (_) => de_ImportJobSummaryList(_, context),
3823
+ NextToken: __expectString,
3824
+ });
3825
+ Object.assign(contents, doc);
4027
3826
  return contents;
4028
3827
  };
4029
3828
  const de_ListImportJobsCommandError = async (output, context) => {
@@ -4041,10 +3840,9 @@ const de_ListImportJobsCommandError = async (output, context) => {
4041
3840
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4042
3841
  default:
4043
3842
  const parsedBody = parsedOutput.body;
4044
- throwDefaultError({
3843
+ return throwDefaultError({
4045
3844
  output,
4046
3845
  parsedBody,
4047
- exceptionCtor: __BaseException,
4048
3846
  errorCode,
4049
3847
  });
4050
3848
  }
@@ -4057,12 +3855,11 @@ export const de_ListRecommendationsCommand = async (output, context) => {
4057
3855
  $metadata: deserializeMetadata(output),
4058
3856
  });
4059
3857
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4060
- if (data.NextToken != null) {
4061
- contents.NextToken = __expectString(data.NextToken);
4062
- }
4063
- if (data.Recommendations != null) {
4064
- contents.Recommendations = de_RecommendationsList(data.Recommendations, context);
4065
- }
3858
+ const doc = take(data, {
3859
+ NextToken: __expectString,
3860
+ Recommendations: (_) => de_RecommendationsList(_, context),
3861
+ });
3862
+ Object.assign(contents, doc);
4066
3863
  return contents;
4067
3864
  };
4068
3865
  const de_ListRecommendationsCommandError = async (output, context) => {
@@ -4083,10 +3880,9 @@ const de_ListRecommendationsCommandError = async (output, context) => {
4083
3880
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4084
3881
  default:
4085
3882
  const parsedBody = parsedOutput.body;
4086
- throwDefaultError({
3883
+ return throwDefaultError({
4087
3884
  output,
4088
3885
  parsedBody,
4089
- exceptionCtor: __BaseException,
4090
3886
  errorCode,
4091
3887
  });
4092
3888
  }
@@ -4099,12 +3895,11 @@ export const de_ListSuppressedDestinationsCommand = async (output, context) => {
4099
3895
  $metadata: deserializeMetadata(output),
4100
3896
  });
4101
3897
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4102
- if (data.NextToken != null) {
4103
- contents.NextToken = __expectString(data.NextToken);
4104
- }
4105
- if (data.SuppressedDestinationSummaries != null) {
4106
- contents.SuppressedDestinationSummaries = de_SuppressedDestinationSummaries(data.SuppressedDestinationSummaries, context);
4107
- }
3898
+ const doc = take(data, {
3899
+ NextToken: __expectString,
3900
+ SuppressedDestinationSummaries: (_) => de_SuppressedDestinationSummaries(_, context),
3901
+ });
3902
+ Object.assign(contents, doc);
4108
3903
  return contents;
4109
3904
  };
4110
3905
  const de_ListSuppressedDestinationsCommandError = async (output, context) => {
@@ -4125,10 +3920,9 @@ const de_ListSuppressedDestinationsCommandError = async (output, context) => {
4125
3920
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4126
3921
  default:
4127
3922
  const parsedBody = parsedOutput.body;
4128
- throwDefaultError({
3923
+ return throwDefaultError({
4129
3924
  output,
4130
3925
  parsedBody,
4131
- exceptionCtor: __BaseException,
4132
3926
  errorCode,
4133
3927
  });
4134
3928
  }
@@ -4141,9 +3935,10 @@ export const de_ListTagsForResourceCommand = async (output, context) => {
4141
3935
  $metadata: deserializeMetadata(output),
4142
3936
  });
4143
3937
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4144
- if (data.Tags != null) {
4145
- contents.Tags = de_TagList(data.Tags, context);
4146
- }
3938
+ const doc = take(data, {
3939
+ Tags: _json,
3940
+ });
3941
+ Object.assign(contents, doc);
4147
3942
  return contents;
4148
3943
  };
4149
3944
  const de_ListTagsForResourceCommandError = async (output, context) => {
@@ -4164,10 +3959,9 @@ const de_ListTagsForResourceCommandError = async (output, context) => {
4164
3959
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4165
3960
  default:
4166
3961
  const parsedBody = parsedOutput.body;
4167
- throwDefaultError({
3962
+ return throwDefaultError({
4168
3963
  output,
4169
3964
  parsedBody,
4170
- exceptionCtor: __BaseException,
4171
3965
  errorCode,
4172
3966
  });
4173
3967
  }
@@ -4197,10 +3991,9 @@ const de_PutAccountDedicatedIpWarmupAttributesCommandError = async (output, cont
4197
3991
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4198
3992
  default:
4199
3993
  const parsedBody = parsedOutput.body;
4200
- throwDefaultError({
3994
+ return throwDefaultError({
4201
3995
  output,
4202
3996
  parsedBody,
4203
- exceptionCtor: __BaseException,
4204
3997
  errorCode,
4205
3998
  });
4206
3999
  }
@@ -4233,10 +4026,9 @@ const de_PutAccountDetailsCommandError = async (output, context) => {
4233
4026
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4234
4027
  default:
4235
4028
  const parsedBody = parsedOutput.body;
4236
- throwDefaultError({
4029
+ return throwDefaultError({
4237
4030
  output,
4238
4031
  parsedBody,
4239
- exceptionCtor: __BaseException,
4240
4032
  errorCode,
4241
4033
  });
4242
4034
  }
@@ -4266,10 +4058,9 @@ const de_PutAccountSendingAttributesCommandError = async (output, context) => {
4266
4058
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4267
4059
  default:
4268
4060
  const parsedBody = parsedOutput.body;
4269
- throwDefaultError({
4061
+ return throwDefaultError({
4270
4062
  output,
4271
4063
  parsedBody,
4272
- exceptionCtor: __BaseException,
4273
4064
  errorCode,
4274
4065
  });
4275
4066
  }
@@ -4299,10 +4090,9 @@ const de_PutAccountSuppressionAttributesCommandError = async (output, context) =
4299
4090
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4300
4091
  default:
4301
4092
  const parsedBody = parsedOutput.body;
4302
- throwDefaultError({
4093
+ return throwDefaultError({
4303
4094
  output,
4304
4095
  parsedBody,
4305
- exceptionCtor: __BaseException,
4306
4096
  errorCode,
4307
4097
  });
4308
4098
  }
@@ -4332,10 +4122,9 @@ const de_PutAccountVdmAttributesCommandError = async (output, context) => {
4332
4122
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4333
4123
  default:
4334
4124
  const parsedBody = parsedOutput.body;
4335
- throwDefaultError({
4125
+ return throwDefaultError({
4336
4126
  output,
4337
4127
  parsedBody,
4338
- exceptionCtor: __BaseException,
4339
4128
  errorCode,
4340
4129
  });
4341
4130
  }
@@ -4368,10 +4157,9 @@ const de_PutConfigurationSetDeliveryOptionsCommandError = async (output, context
4368
4157
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4369
4158
  default:
4370
4159
  const parsedBody = parsedOutput.body;
4371
- throwDefaultError({
4160
+ return throwDefaultError({
4372
4161
  output,
4373
4162
  parsedBody,
4374
- exceptionCtor: __BaseException,
4375
4163
  errorCode,
4376
4164
  });
4377
4165
  }
@@ -4404,10 +4192,9 @@ const de_PutConfigurationSetReputationOptionsCommandError = async (output, conte
4404
4192
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4405
4193
  default:
4406
4194
  const parsedBody = parsedOutput.body;
4407
- throwDefaultError({
4195
+ return throwDefaultError({
4408
4196
  output,
4409
4197
  parsedBody,
4410
- exceptionCtor: __BaseException,
4411
4198
  errorCode,
4412
4199
  });
4413
4200
  }
@@ -4440,10 +4227,9 @@ const de_PutConfigurationSetSendingOptionsCommandError = async (output, context)
4440
4227
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4441
4228
  default:
4442
4229
  const parsedBody = parsedOutput.body;
4443
- throwDefaultError({
4230
+ return throwDefaultError({
4444
4231
  output,
4445
4232
  parsedBody,
4446
- exceptionCtor: __BaseException,
4447
4233
  errorCode,
4448
4234
  });
4449
4235
  }
@@ -4476,10 +4262,9 @@ const de_PutConfigurationSetSuppressionOptionsCommandError = async (output, cont
4476
4262
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4477
4263
  default:
4478
4264
  const parsedBody = parsedOutput.body;
4479
- throwDefaultError({
4265
+ return throwDefaultError({
4480
4266
  output,
4481
4267
  parsedBody,
4482
- exceptionCtor: __BaseException,
4483
4268
  errorCode,
4484
4269
  });
4485
4270
  }
@@ -4512,10 +4297,9 @@ const de_PutConfigurationSetTrackingOptionsCommandError = async (output, context
4512
4297
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4513
4298
  default:
4514
4299
  const parsedBody = parsedOutput.body;
4515
- throwDefaultError({
4300
+ return throwDefaultError({
4516
4301
  output,
4517
4302
  parsedBody,
4518
- exceptionCtor: __BaseException,
4519
4303
  errorCode,
4520
4304
  });
4521
4305
  }
@@ -4548,10 +4332,9 @@ const de_PutConfigurationSetVdmOptionsCommandError = async (output, context) =>
4548
4332
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4549
4333
  default:
4550
4334
  const parsedBody = parsedOutput.body;
4551
- throwDefaultError({
4335
+ return throwDefaultError({
4552
4336
  output,
4553
4337
  parsedBody,
4554
- exceptionCtor: __BaseException,
4555
4338
  errorCode,
4556
4339
  });
4557
4340
  }
@@ -4584,10 +4367,9 @@ const de_PutDedicatedIpInPoolCommandError = async (output, context) => {
4584
4367
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4585
4368
  default:
4586
4369
  const parsedBody = parsedOutput.body;
4587
- throwDefaultError({
4370
+ return throwDefaultError({
4588
4371
  output,
4589
4372
  parsedBody,
4590
- exceptionCtor: __BaseException,
4591
4373
  errorCode,
4592
4374
  });
4593
4375
  }
@@ -4620,10 +4402,9 @@ const de_PutDedicatedIpWarmupAttributesCommandError = async (output, context) =>
4620
4402
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4621
4403
  default:
4622
4404
  const parsedBody = parsedOutput.body;
4623
- throwDefaultError({
4405
+ return throwDefaultError({
4624
4406
  output,
4625
4407
  parsedBody,
4626
- exceptionCtor: __BaseException,
4627
4408
  errorCode,
4628
4409
  });
4629
4410
  }
@@ -4662,10 +4443,9 @@ const de_PutDeliverabilityDashboardOptionCommandError = async (output, context)
4662
4443
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4663
4444
  default:
4664
4445
  const parsedBody = parsedOutput.body;
4665
- throwDefaultError({
4446
+ return throwDefaultError({
4666
4447
  output,
4667
4448
  parsedBody,
4668
- exceptionCtor: __BaseException,
4669
4449
  errorCode,
4670
4450
  });
4671
4451
  }
@@ -4698,10 +4478,9 @@ const de_PutEmailIdentityConfigurationSetAttributesCommandError = async (output,
4698
4478
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4699
4479
  default:
4700
4480
  const parsedBody = parsedOutput.body;
4701
- throwDefaultError({
4481
+ return throwDefaultError({
4702
4482
  output,
4703
4483
  parsedBody,
4704
- exceptionCtor: __BaseException,
4705
4484
  errorCode,
4706
4485
  });
4707
4486
  }
@@ -4734,10 +4513,9 @@ const de_PutEmailIdentityDkimAttributesCommandError = async (output, context) =>
4734
4513
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4735
4514
  default:
4736
4515
  const parsedBody = parsedOutput.body;
4737
- throwDefaultError({
4516
+ return throwDefaultError({
4738
4517
  output,
4739
4518
  parsedBody,
4740
- exceptionCtor: __BaseException,
4741
4519
  errorCode,
4742
4520
  });
4743
4521
  }
@@ -4750,12 +4528,11 @@ export const de_PutEmailIdentityDkimSigningAttributesCommand = async (output, co
4750
4528
  $metadata: deserializeMetadata(output),
4751
4529
  });
4752
4530
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4753
- if (data.DkimStatus != null) {
4754
- contents.DkimStatus = __expectString(data.DkimStatus);
4755
- }
4756
- if (data.DkimTokens != null) {
4757
- contents.DkimTokens = de_DnsTokenList(data.DkimTokens, context);
4758
- }
4531
+ const doc = take(data, {
4532
+ DkimStatus: __expectString,
4533
+ DkimTokens: _json,
4534
+ });
4535
+ Object.assign(contents, doc);
4759
4536
  return contents;
4760
4537
  };
4761
4538
  const de_PutEmailIdentityDkimSigningAttributesCommandError = async (output, context) => {
@@ -4776,10 +4553,9 @@ const de_PutEmailIdentityDkimSigningAttributesCommandError = async (output, cont
4776
4553
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4777
4554
  default:
4778
4555
  const parsedBody = parsedOutput.body;
4779
- throwDefaultError({
4556
+ return throwDefaultError({
4780
4557
  output,
4781
4558
  parsedBody,
4782
- exceptionCtor: __BaseException,
4783
4559
  errorCode,
4784
4560
  });
4785
4561
  }
@@ -4812,10 +4588,9 @@ const de_PutEmailIdentityFeedbackAttributesCommandError = async (output, context
4812
4588
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4813
4589
  default:
4814
4590
  const parsedBody = parsedOutput.body;
4815
- throwDefaultError({
4591
+ return throwDefaultError({
4816
4592
  output,
4817
4593
  parsedBody,
4818
- exceptionCtor: __BaseException,
4819
4594
  errorCode,
4820
4595
  });
4821
4596
  }
@@ -4848,10 +4623,9 @@ const de_PutEmailIdentityMailFromAttributesCommandError = async (output, context
4848
4623
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4849
4624
  default:
4850
4625
  const parsedBody = parsedOutput.body;
4851
- throwDefaultError({
4626
+ return throwDefaultError({
4852
4627
  output,
4853
4628
  parsedBody,
4854
- exceptionCtor: __BaseException,
4855
4629
  errorCode,
4856
4630
  });
4857
4631
  }
@@ -4881,10 +4655,9 @@ const de_PutSuppressedDestinationCommandError = async (output, context) => {
4881
4655
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4882
4656
  default:
4883
4657
  const parsedBody = parsedOutput.body;
4884
- throwDefaultError({
4658
+ return throwDefaultError({
4885
4659
  output,
4886
4660
  parsedBody,
4887
- exceptionCtor: __BaseException,
4888
4661
  errorCode,
4889
4662
  });
4890
4663
  }
@@ -4897,9 +4670,10 @@ export const de_SendBulkEmailCommand = async (output, context) => {
4897
4670
  $metadata: deserializeMetadata(output),
4898
4671
  });
4899
4672
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4900
- if (data.BulkEmailEntryResults != null) {
4901
- contents.BulkEmailEntryResults = de_BulkEmailEntryResultList(data.BulkEmailEntryResults, context);
4902
- }
4673
+ const doc = take(data, {
4674
+ BulkEmailEntryResults: _json,
4675
+ });
4676
+ Object.assign(contents, doc);
4903
4677
  return contents;
4904
4678
  };
4905
4679
  const de_SendBulkEmailCommandError = async (output, context) => {
@@ -4935,10 +4709,9 @@ const de_SendBulkEmailCommandError = async (output, context) => {
4935
4709
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4936
4710
  default:
4937
4711
  const parsedBody = parsedOutput.body;
4938
- throwDefaultError({
4712
+ return throwDefaultError({
4939
4713
  output,
4940
4714
  parsedBody,
4941
- exceptionCtor: __BaseException,
4942
4715
  errorCode,
4943
4716
  });
4944
4717
  }
@@ -4951,9 +4724,10 @@ export const de_SendCustomVerificationEmailCommand = async (output, context) =>
4951
4724
  $metadata: deserializeMetadata(output),
4952
4725
  });
4953
4726
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4954
- if (data.MessageId != null) {
4955
- contents.MessageId = __expectString(data.MessageId);
4956
- }
4727
+ const doc = take(data, {
4728
+ MessageId: __expectString,
4729
+ });
4730
+ Object.assign(contents, doc);
4957
4731
  return contents;
4958
4732
  };
4959
4733
  const de_SendCustomVerificationEmailCommandError = async (output, context) => {
@@ -4986,10 +4760,9 @@ const de_SendCustomVerificationEmailCommandError = async (output, context) => {
4986
4760
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
4987
4761
  default:
4988
4762
  const parsedBody = parsedOutput.body;
4989
- throwDefaultError({
4763
+ return throwDefaultError({
4990
4764
  output,
4991
4765
  parsedBody,
4992
- exceptionCtor: __BaseException,
4993
4766
  errorCode,
4994
4767
  });
4995
4768
  }
@@ -5002,9 +4775,10 @@ export const de_SendEmailCommand = async (output, context) => {
5002
4775
  $metadata: deserializeMetadata(output),
5003
4776
  });
5004
4777
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
5005
- if (data.MessageId != null) {
5006
- contents.MessageId = __expectString(data.MessageId);
5007
- }
4778
+ const doc = take(data, {
4779
+ MessageId: __expectString,
4780
+ });
4781
+ Object.assign(contents, doc);
5008
4782
  return contents;
5009
4783
  };
5010
4784
  const de_SendEmailCommandError = async (output, context) => {
@@ -5040,10 +4814,9 @@ const de_SendEmailCommandError = async (output, context) => {
5040
4814
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5041
4815
  default:
5042
4816
  const parsedBody = parsedOutput.body;
5043
- throwDefaultError({
4817
+ return throwDefaultError({
5044
4818
  output,
5045
4819
  parsedBody,
5046
- exceptionCtor: __BaseException,
5047
4820
  errorCode,
5048
4821
  });
5049
4822
  }
@@ -5079,10 +4852,9 @@ const de_TagResourceCommandError = async (output, context) => {
5079
4852
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5080
4853
  default:
5081
4854
  const parsedBody = parsedOutput.body;
5082
- throwDefaultError({
4855
+ return throwDefaultError({
5083
4856
  output,
5084
4857
  parsedBody,
5085
- exceptionCtor: __BaseException,
5086
4858
  errorCode,
5087
4859
  });
5088
4860
  }
@@ -5095,9 +4867,10 @@ export const de_TestRenderEmailTemplateCommand = async (output, context) => {
5095
4867
  $metadata: deserializeMetadata(output),
5096
4868
  });
5097
4869
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
5098
- if (data.RenderedTemplate != null) {
5099
- contents.RenderedTemplate = __expectString(data.RenderedTemplate);
5100
- }
4870
+ const doc = take(data, {
4871
+ RenderedTemplate: __expectString,
4872
+ });
4873
+ Object.assign(contents, doc);
5101
4874
  return contents;
5102
4875
  };
5103
4876
  const de_TestRenderEmailTemplateCommandError = async (output, context) => {
@@ -5118,10 +4891,9 @@ const de_TestRenderEmailTemplateCommandError = async (output, context) => {
5118
4891
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5119
4892
  default:
5120
4893
  const parsedBody = parsedOutput.body;
5121
- throwDefaultError({
4894
+ return throwDefaultError({
5122
4895
  output,
5123
4896
  parsedBody,
5124
- exceptionCtor: __BaseException,
5125
4897
  errorCode,
5126
4898
  });
5127
4899
  }
@@ -5157,10 +4929,9 @@ const de_UntagResourceCommandError = async (output, context) => {
5157
4929
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5158
4930
  default:
5159
4931
  const parsedBody = parsedOutput.body;
5160
- throwDefaultError({
4932
+ return throwDefaultError({
5161
4933
  output,
5162
4934
  parsedBody,
5163
- exceptionCtor: __BaseException,
5164
4935
  errorCode,
5165
4936
  });
5166
4937
  }
@@ -5193,10 +4964,9 @@ const de_UpdateConfigurationSetEventDestinationCommandError = async (output, con
5193
4964
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5194
4965
  default:
5195
4966
  const parsedBody = parsedOutput.body;
5196
- throwDefaultError({
4967
+ return throwDefaultError({
5197
4968
  output,
5198
4969
  parsedBody,
5199
- exceptionCtor: __BaseException,
5200
4970
  errorCode,
5201
4971
  });
5202
4972
  }
@@ -5232,10 +5002,9 @@ const de_UpdateContactCommandError = async (output, context) => {
5232
5002
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5233
5003
  default:
5234
5004
  const parsedBody = parsedOutput.body;
5235
- throwDefaultError({
5005
+ return throwDefaultError({
5236
5006
  output,
5237
5007
  parsedBody,
5238
- exceptionCtor: __BaseException,
5239
5008
  errorCode,
5240
5009
  });
5241
5010
  }
@@ -5271,10 +5040,9 @@ const de_UpdateContactListCommandError = async (output, context) => {
5271
5040
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5272
5041
  default:
5273
5042
  const parsedBody = parsedOutput.body;
5274
- throwDefaultError({
5043
+ return throwDefaultError({
5275
5044
  output,
5276
5045
  parsedBody,
5277
- exceptionCtor: __BaseException,
5278
5046
  errorCode,
5279
5047
  });
5280
5048
  }
@@ -5307,10 +5075,9 @@ const de_UpdateCustomVerificationEmailTemplateCommandError = async (output, cont
5307
5075
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5308
5076
  default:
5309
5077
  const parsedBody = parsedOutput.body;
5310
- throwDefaultError({
5078
+ return throwDefaultError({
5311
5079
  output,
5312
5080
  parsedBody,
5313
- exceptionCtor: __BaseException,
5314
5081
  errorCode,
5315
5082
  });
5316
5083
  }
@@ -5343,10 +5110,9 @@ const de_UpdateEmailIdentityPolicyCommandError = async (output, context) => {
5343
5110
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5344
5111
  default:
5345
5112
  const parsedBody = parsedOutput.body;
5346
- throwDefaultError({
5113
+ return throwDefaultError({
5347
5114
  output,
5348
5115
  parsedBody,
5349
- exceptionCtor: __BaseException,
5350
5116
  errorCode,
5351
5117
  });
5352
5118
  }
@@ -5379,21 +5145,21 @@ const de_UpdateEmailTemplateCommandError = async (output, context) => {
5379
5145
  throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
5380
5146
  default:
5381
5147
  const parsedBody = parsedOutput.body;
5382
- throwDefaultError({
5148
+ return throwDefaultError({
5383
5149
  output,
5384
5150
  parsedBody,
5385
- exceptionCtor: __BaseException,
5386
5151
  errorCode,
5387
5152
  });
5388
5153
  }
5389
5154
  };
5390
- const map = __map;
5155
+ const throwDefaultError = withBaseException(__BaseException);
5391
5156
  const de_AccountSuspendedExceptionRes = async (parsedOutput, context) => {
5392
5157
  const contents = map({});
5393
5158
  const data = parsedOutput.body;
5394
- if (data.message != null) {
5395
- contents.message = __expectString(data.message);
5396
- }
5159
+ const doc = take(data, {
5160
+ message: __expectString,
5161
+ });
5162
+ Object.assign(contents, doc);
5397
5163
  const exception = new AccountSuspendedException({
5398
5164
  $metadata: deserializeMetadata(parsedOutput),
5399
5165
  ...contents,
@@ -5403,9 +5169,10 @@ const de_AccountSuspendedExceptionRes = async (parsedOutput, context) => {
5403
5169
  const de_AlreadyExistsExceptionRes = async (parsedOutput, context) => {
5404
5170
  const contents = map({});
5405
5171
  const data = parsedOutput.body;
5406
- if (data.message != null) {
5407
- contents.message = __expectString(data.message);
5408
- }
5172
+ const doc = take(data, {
5173
+ message: __expectString,
5174
+ });
5175
+ Object.assign(contents, doc);
5409
5176
  const exception = new AlreadyExistsException({
5410
5177
  $metadata: deserializeMetadata(parsedOutput),
5411
5178
  ...contents,
@@ -5415,9 +5182,10 @@ const de_AlreadyExistsExceptionRes = async (parsedOutput, context) => {
5415
5182
  const de_BadRequestExceptionRes = async (parsedOutput, context) => {
5416
5183
  const contents = map({});
5417
5184
  const data = parsedOutput.body;
5418
- if (data.message != null) {
5419
- contents.message = __expectString(data.message);
5420
- }
5185
+ const doc = take(data, {
5186
+ message: __expectString,
5187
+ });
5188
+ Object.assign(contents, doc);
5421
5189
  const exception = new BadRequestException({
5422
5190
  $metadata: deserializeMetadata(parsedOutput),
5423
5191
  ...contents,
@@ -5427,9 +5195,10 @@ const de_BadRequestExceptionRes = async (parsedOutput, context) => {
5427
5195
  const de_ConcurrentModificationExceptionRes = async (parsedOutput, context) => {
5428
5196
  const contents = map({});
5429
5197
  const data = parsedOutput.body;
5430
- if (data.message != null) {
5431
- contents.message = __expectString(data.message);
5432
- }
5198
+ const doc = take(data, {
5199
+ message: __expectString,
5200
+ });
5201
+ Object.assign(contents, doc);
5433
5202
  const exception = new ConcurrentModificationException({
5434
5203
  $metadata: deserializeMetadata(parsedOutput),
5435
5204
  ...contents,
@@ -5439,9 +5208,10 @@ const de_ConcurrentModificationExceptionRes = async (parsedOutput, context) => {
5439
5208
  const de_ConflictExceptionRes = async (parsedOutput, context) => {
5440
5209
  const contents = map({});
5441
5210
  const data = parsedOutput.body;
5442
- if (data.message != null) {
5443
- contents.message = __expectString(data.message);
5444
- }
5211
+ const doc = take(data, {
5212
+ message: __expectString,
5213
+ });
5214
+ Object.assign(contents, doc);
5445
5215
  const exception = new ConflictException({
5446
5216
  $metadata: deserializeMetadata(parsedOutput),
5447
5217
  ...contents,
@@ -5451,9 +5221,10 @@ const de_ConflictExceptionRes = async (parsedOutput, context) => {
5451
5221
  const de_InternalServiceErrorExceptionRes = async (parsedOutput, context) => {
5452
5222
  const contents = map({});
5453
5223
  const data = parsedOutput.body;
5454
- if (data.message != null) {
5455
- contents.message = __expectString(data.message);
5456
- }
5224
+ const doc = take(data, {
5225
+ message: __expectString,
5226
+ });
5227
+ Object.assign(contents, doc);
5457
5228
  const exception = new InternalServiceErrorException({
5458
5229
  $metadata: deserializeMetadata(parsedOutput),
5459
5230
  ...contents,
@@ -5463,9 +5234,10 @@ const de_InternalServiceErrorExceptionRes = async (parsedOutput, context) => {
5463
5234
  const de_InvalidNextTokenExceptionRes = async (parsedOutput, context) => {
5464
5235
  const contents = map({});
5465
5236
  const data = parsedOutput.body;
5466
- if (data.message != null) {
5467
- contents.message = __expectString(data.message);
5468
- }
5237
+ const doc = take(data, {
5238
+ message: __expectString,
5239
+ });
5240
+ Object.assign(contents, doc);
5469
5241
  const exception = new InvalidNextTokenException({
5470
5242
  $metadata: deserializeMetadata(parsedOutput),
5471
5243
  ...contents,
@@ -5475,9 +5247,10 @@ const de_InvalidNextTokenExceptionRes = async (parsedOutput, context) => {
5475
5247
  const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
5476
5248
  const contents = map({});
5477
5249
  const data = parsedOutput.body;
5478
- if (data.message != null) {
5479
- contents.message = __expectString(data.message);
5480
- }
5250
+ const doc = take(data, {
5251
+ message: __expectString,
5252
+ });
5253
+ Object.assign(contents, doc);
5481
5254
  const exception = new LimitExceededException({
5482
5255
  $metadata: deserializeMetadata(parsedOutput),
5483
5256
  ...contents,
@@ -5487,9 +5260,10 @@ const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
5487
5260
  const de_MailFromDomainNotVerifiedExceptionRes = async (parsedOutput, context) => {
5488
5261
  const contents = map({});
5489
5262
  const data = parsedOutput.body;
5490
- if (data.message != null) {
5491
- contents.message = __expectString(data.message);
5492
- }
5263
+ const doc = take(data, {
5264
+ message: __expectString,
5265
+ });
5266
+ Object.assign(contents, doc);
5493
5267
  const exception = new MailFromDomainNotVerifiedException({
5494
5268
  $metadata: deserializeMetadata(parsedOutput),
5495
5269
  ...contents,
@@ -5499,9 +5273,10 @@ const de_MailFromDomainNotVerifiedExceptionRes = async (parsedOutput, context) =
5499
5273
  const de_MessageRejectedRes = async (parsedOutput, context) => {
5500
5274
  const contents = map({});
5501
5275
  const data = parsedOutput.body;
5502
- if (data.message != null) {
5503
- contents.message = __expectString(data.message);
5504
- }
5276
+ const doc = take(data, {
5277
+ message: __expectString,
5278
+ });
5279
+ Object.assign(contents, doc);
5505
5280
  const exception = new MessageRejected({
5506
5281
  $metadata: deserializeMetadata(parsedOutput),
5507
5282
  ...contents,
@@ -5511,9 +5286,10 @@ const de_MessageRejectedRes = async (parsedOutput, context) => {
5511
5286
  const de_NotFoundExceptionRes = async (parsedOutput, context) => {
5512
5287
  const contents = map({});
5513
5288
  const data = parsedOutput.body;
5514
- if (data.message != null) {
5515
- contents.message = __expectString(data.message);
5516
- }
5289
+ const doc = take(data, {
5290
+ message: __expectString,
5291
+ });
5292
+ Object.assign(contents, doc);
5517
5293
  const exception = new NotFoundException({
5518
5294
  $metadata: deserializeMetadata(parsedOutput),
5519
5295
  ...contents,
@@ -5523,9 +5299,10 @@ const de_NotFoundExceptionRes = async (parsedOutput, context) => {
5523
5299
  const de_SendingPausedExceptionRes = async (parsedOutput, context) => {
5524
5300
  const contents = map({});
5525
5301
  const data = parsedOutput.body;
5526
- if (data.message != null) {
5527
- contents.message = __expectString(data.message);
5528
- }
5302
+ const doc = take(data, {
5303
+ message: __expectString,
5304
+ });
5305
+ Object.assign(contents, doc);
5529
5306
  const exception = new SendingPausedException({
5530
5307
  $metadata: deserializeMetadata(parsedOutput),
5531
5308
  ...contents,
@@ -5535,22 +5312,16 @@ const de_SendingPausedExceptionRes = async (parsedOutput, context) => {
5535
5312
  const de_TooManyRequestsExceptionRes = async (parsedOutput, context) => {
5536
5313
  const contents = map({});
5537
5314
  const data = parsedOutput.body;
5538
- if (data.message != null) {
5539
- contents.message = __expectString(data.message);
5540
- }
5315
+ const doc = take(data, {
5316
+ message: __expectString,
5317
+ });
5318
+ Object.assign(contents, doc);
5541
5319
  const exception = new TooManyRequestsException({
5542
5320
  $metadata: deserializeMetadata(parsedOutput),
5543
5321
  ...contents,
5544
5322
  });
5545
5323
  return __decorateServiceException(exception, parsedOutput.body);
5546
5324
  };
5547
- const se_AdditionalContactEmailAddresses = (input, context) => {
5548
- return input
5549
- .filter((e) => e != null)
5550
- .map((entry) => {
5551
- return entry;
5552
- });
5553
- };
5554
5325
  const se_BatchGetMetricDataQueries = (input, context) => {
5555
5326
  return input
5556
5327
  .filter((e) => e != null)
@@ -5559,440 +5330,61 @@ const se_BatchGetMetricDataQueries = (input, context) => {
5559
5330
  });
5560
5331
  };
5561
5332
  const se_BatchGetMetricDataQuery = (input, context) => {
5562
- return {
5563
- ...(input.Dimensions != null && { Dimensions: se_Dimensions(input.Dimensions, context) }),
5564
- ...(input.EndDate != null && { EndDate: Math.round(input.EndDate.getTime() / 1000) }),
5565
- ...(input.Id != null && { Id: input.Id }),
5566
- ...(input.Metric != null && { Metric: input.Metric }),
5567
- ...(input.Namespace != null && { Namespace: input.Namespace }),
5568
- ...(input.StartDate != null && { StartDate: Math.round(input.StartDate.getTime() / 1000) }),
5569
- };
5570
- };
5571
- const se_Body = (input, context) => {
5572
- return {
5573
- ...(input.Html != null && { Html: se_Content(input.Html, context) }),
5574
- ...(input.Text != null && { Text: se_Content(input.Text, context) }),
5575
- };
5576
- };
5577
- const se_BulkEmailContent = (input, context) => {
5578
- return {
5579
- ...(input.Template != null && { Template: se_Template(input.Template, context) }),
5580
- };
5333
+ return take(input, {
5334
+ Dimensions: _json,
5335
+ EndDate: (_) => Math.round(_.getTime() / 1000),
5336
+ Id: [],
5337
+ Metric: [],
5338
+ Namespace: [],
5339
+ StartDate: (_) => Math.round(_.getTime() / 1000),
5340
+ });
5581
5341
  };
5582
- const se_BulkEmailEntry = (input, context) => {
5583
- return {
5584
- ...(input.Destination != null && { Destination: se_Destination(input.Destination, context) }),
5585
- ...(input.ReplacementEmailContent != null && {
5586
- ReplacementEmailContent: se_ReplacementEmailContent(input.ReplacementEmailContent, context),
5587
- }),
5588
- ...(input.ReplacementTags != null && { ReplacementTags: se_MessageTagList(input.ReplacementTags, context) }),
5589
- };
5342
+ const se_DomainDeliverabilityTrackingOption = (input, context) => {
5343
+ return take(input, {
5344
+ Domain: [],
5345
+ InboxPlacementTrackingOption: _json,
5346
+ SubscriptionStartDate: (_) => Math.round(_.getTime() / 1000),
5347
+ });
5590
5348
  };
5591
- const se_BulkEmailEntryList = (input, context) => {
5349
+ const se_DomainDeliverabilityTrackingOptions = (input, context) => {
5592
5350
  return input
5593
5351
  .filter((e) => e != null)
5594
5352
  .map((entry) => {
5595
- return se_BulkEmailEntry(entry, context);
5353
+ return se_DomainDeliverabilityTrackingOption(entry, context);
5596
5354
  });
5597
5355
  };
5598
- const se_CloudWatchDestination = (input, context) => {
5599
- return {
5600
- ...(input.DimensionConfigurations != null && {
5601
- DimensionConfigurations: se_CloudWatchDimensionConfigurations(input.DimensionConfigurations, context),
5602
- }),
5603
- };
5356
+ const se_EmailContent = (input, context) => {
5357
+ return take(input, {
5358
+ Raw: (_) => se_RawMessage(_, context),
5359
+ Simple: _json,
5360
+ Template: _json,
5361
+ });
5604
5362
  };
5605
- const se_CloudWatchDimensionConfiguration = (input, context) => {
5606
- return {
5607
- ...(input.DefaultDimensionValue != null && { DefaultDimensionValue: input.DefaultDimensionValue }),
5608
- ...(input.DimensionName != null && { DimensionName: input.DimensionName }),
5609
- ...(input.DimensionValueSource != null && { DimensionValueSource: input.DimensionValueSource }),
5610
- };
5363
+ const se_RawMessage = (input, context) => {
5364
+ return take(input, {
5365
+ Data: context.base64Encoder,
5366
+ });
5611
5367
  };
5612
- const se_CloudWatchDimensionConfigurations = (input, context) => {
5613
- return input
5368
+ const se_ReputationOptions = (input, context) => {
5369
+ return take(input, {
5370
+ LastFreshStart: (_) => Math.round(_.getTime() / 1000),
5371
+ ReputationMetricsEnabled: [],
5372
+ });
5373
+ };
5374
+ const de_BlacklistEntries = (output, context) => {
5375
+ const retVal = (output || [])
5614
5376
  .filter((e) => e != null)
5615
5377
  .map((entry) => {
5616
- return se_CloudWatchDimensionConfiguration(entry, context);
5378
+ return de_BlacklistEntry(entry, context);
5617
5379
  });
5380
+ return retVal;
5618
5381
  };
5619
- const se_ContactListDestination = (input, context) => {
5620
- return {
5621
- ...(input.ContactListImportAction != null && { ContactListImportAction: input.ContactListImportAction }),
5622
- ...(input.ContactListName != null && { ContactListName: input.ContactListName }),
5623
- };
5624
- };
5625
- const se_Content = (input, context) => {
5626
- return {
5627
- ...(input.Charset != null && { Charset: input.Charset }),
5628
- ...(input.Data != null && { Data: input.Data }),
5629
- };
5630
- };
5631
- const se_DashboardAttributes = (input, context) => {
5632
- return {
5633
- ...(input.EngagementMetrics != null && { EngagementMetrics: input.EngagementMetrics }),
5634
- };
5635
- };
5636
- const se_DashboardOptions = (input, context) => {
5637
- return {
5638
- ...(input.EngagementMetrics != null && { EngagementMetrics: input.EngagementMetrics }),
5639
- };
5640
- };
5641
- const se_DeliveryOptions = (input, context) => {
5642
- return {
5643
- ...(input.SendingPoolName != null && { SendingPoolName: input.SendingPoolName }),
5644
- ...(input.TlsPolicy != null && { TlsPolicy: input.TlsPolicy }),
5645
- };
5646
- };
5647
- const se_Destination = (input, context) => {
5648
- return {
5649
- ...(input.BccAddresses != null && { BccAddresses: se_EmailAddressList(input.BccAddresses, context) }),
5650
- ...(input.CcAddresses != null && { CcAddresses: se_EmailAddressList(input.CcAddresses, context) }),
5651
- ...(input.ToAddresses != null && { ToAddresses: se_EmailAddressList(input.ToAddresses, context) }),
5652
- };
5653
- };
5654
- const se_Dimensions = (input, context) => {
5655
- return Object.entries(input).reduce((acc, [key, value]) => {
5656
- if (value === null) {
5657
- return acc;
5658
- }
5659
- acc[key] = value;
5660
- return acc;
5661
- }, {});
5662
- };
5663
- const se_DkimSigningAttributes = (input, context) => {
5664
- return {
5665
- ...(input.DomainSigningPrivateKey != null && { DomainSigningPrivateKey: input.DomainSigningPrivateKey }),
5666
- ...(input.DomainSigningSelector != null && { DomainSigningSelector: input.DomainSigningSelector }),
5667
- ...(input.NextSigningKeyLength != null && { NextSigningKeyLength: input.NextSigningKeyLength }),
5668
- };
5669
- };
5670
- const se_DomainDeliverabilityTrackingOption = (input, context) => {
5671
- return {
5672
- ...(input.Domain != null && { Domain: input.Domain }),
5673
- ...(input.InboxPlacementTrackingOption != null && {
5674
- InboxPlacementTrackingOption: se_InboxPlacementTrackingOption(input.InboxPlacementTrackingOption, context),
5675
- }),
5676
- ...(input.SubscriptionStartDate != null && {
5677
- SubscriptionStartDate: Math.round(input.SubscriptionStartDate.getTime() / 1000),
5678
- }),
5679
- };
5680
- };
5681
- const se_DomainDeliverabilityTrackingOptions = (input, context) => {
5682
- return input
5683
- .filter((e) => e != null)
5684
- .map((entry) => {
5685
- return se_DomainDeliverabilityTrackingOption(entry, context);
5686
- });
5687
- };
5688
- const se_EmailAddressList = (input, context) => {
5689
- return input
5690
- .filter((e) => e != null)
5691
- .map((entry) => {
5692
- return entry;
5693
- });
5694
- };
5695
- const se_EmailContent = (input, context) => {
5696
- return {
5697
- ...(input.Raw != null && { Raw: se_RawMessage(input.Raw, context) }),
5698
- ...(input.Simple != null && { Simple: se_Message(input.Simple, context) }),
5699
- ...(input.Template != null && { Template: se_Template(input.Template, context) }),
5700
- };
5701
- };
5702
- const se_EmailTemplateContent = (input, context) => {
5703
- return {
5704
- ...(input.Html != null && { Html: input.Html }),
5705
- ...(input.Subject != null && { Subject: input.Subject }),
5706
- ...(input.Text != null && { Text: input.Text }),
5707
- };
5708
- };
5709
- const se_EventDestinationDefinition = (input, context) => {
5710
- return {
5711
- ...(input.CloudWatchDestination != null && {
5712
- CloudWatchDestination: se_CloudWatchDestination(input.CloudWatchDestination, context),
5713
- }),
5714
- ...(input.Enabled != null && { Enabled: input.Enabled }),
5715
- ...(input.KinesisFirehoseDestination != null && {
5716
- KinesisFirehoseDestination: se_KinesisFirehoseDestination(input.KinesisFirehoseDestination, context),
5717
- }),
5718
- ...(input.MatchingEventTypes != null && { MatchingEventTypes: se_EventTypes(input.MatchingEventTypes, context) }),
5719
- ...(input.PinpointDestination != null && {
5720
- PinpointDestination: se_PinpointDestination(input.PinpointDestination, context),
5721
- }),
5722
- ...(input.SnsDestination != null && { SnsDestination: se_SnsDestination(input.SnsDestination, context) }),
5723
- };
5724
- };
5725
- const se_EventTypes = (input, context) => {
5726
- return input
5727
- .filter((e) => e != null)
5728
- .map((entry) => {
5729
- return entry;
5730
- });
5731
- };
5732
- const se_GuardianAttributes = (input, context) => {
5733
- return {
5734
- ...(input.OptimizedSharedDelivery != null && { OptimizedSharedDelivery: input.OptimizedSharedDelivery }),
5735
- };
5736
- };
5737
- const se_GuardianOptions = (input, context) => {
5738
- return {
5739
- ...(input.OptimizedSharedDelivery != null && { OptimizedSharedDelivery: input.OptimizedSharedDelivery }),
5740
- };
5741
- };
5742
- const se_ImportDataSource = (input, context) => {
5743
- return {
5744
- ...(input.DataFormat != null && { DataFormat: input.DataFormat }),
5745
- ...(input.S3Url != null && { S3Url: input.S3Url }),
5746
- };
5747
- };
5748
- const se_ImportDestination = (input, context) => {
5749
- return {
5750
- ...(input.ContactListDestination != null && {
5751
- ContactListDestination: se_ContactListDestination(input.ContactListDestination, context),
5752
- }),
5753
- ...(input.SuppressionListDestination != null && {
5754
- SuppressionListDestination: se_SuppressionListDestination(input.SuppressionListDestination, context),
5755
- }),
5756
- };
5757
- };
5758
- const se_InboxPlacementTrackingOption = (input, context) => {
5759
- return {
5760
- ...(input.Global != null && { Global: input.Global }),
5761
- ...(input.TrackedIsps != null && { TrackedIsps: se_IspNameList(input.TrackedIsps, context) }),
5762
- };
5763
- };
5764
- const se_IspNameList = (input, context) => {
5765
- return input
5766
- .filter((e) => e != null)
5767
- .map((entry) => {
5768
- return entry;
5769
- });
5770
- };
5771
- const se_KinesisFirehoseDestination = (input, context) => {
5772
- return {
5773
- ...(input.DeliveryStreamArn != null && { DeliveryStreamArn: input.DeliveryStreamArn }),
5774
- ...(input.IamRoleArn != null && { IamRoleArn: input.IamRoleArn }),
5775
- };
5776
- };
5777
- const se_ListContactsFilter = (input, context) => {
5778
- return {
5779
- ...(input.FilteredStatus != null && { FilteredStatus: input.FilteredStatus }),
5780
- ...(input.TopicFilter != null && { TopicFilter: se_TopicFilter(input.TopicFilter, context) }),
5781
- };
5782
- };
5783
- const se_ListManagementOptions = (input, context) => {
5784
- return {
5785
- ...(input.ContactListName != null && { ContactListName: input.ContactListName }),
5786
- ...(input.TopicName != null && { TopicName: input.TopicName }),
5787
- };
5788
- };
5789
- const se_ListRecommendationsFilter = (input, context) => {
5790
- return Object.entries(input).reduce((acc, [key, value]) => {
5791
- if (value === null) {
5792
- return acc;
5793
- }
5794
- acc[key] = value;
5795
- return acc;
5796
- }, {});
5797
- };
5798
- const se_Message = (input, context) => {
5799
- return {
5800
- ...(input.Body != null && { Body: se_Body(input.Body, context) }),
5801
- ...(input.Subject != null && { Subject: se_Content(input.Subject, context) }),
5802
- };
5803
- };
5804
- const se_MessageTag = (input, context) => {
5805
- return {
5806
- ...(input.Name != null && { Name: input.Name }),
5807
- ...(input.Value != null && { Value: input.Value }),
5808
- };
5809
- };
5810
- const se_MessageTagList = (input, context) => {
5811
- return input
5812
- .filter((e) => e != null)
5813
- .map((entry) => {
5814
- return se_MessageTag(entry, context);
5815
- });
5816
- };
5817
- const se_PinpointDestination = (input, context) => {
5818
- return {
5819
- ...(input.ApplicationArn != null && { ApplicationArn: input.ApplicationArn }),
5820
- };
5821
- };
5822
- const se_RawMessage = (input, context) => {
5823
- return {
5824
- ...(input.Data != null && { Data: context.base64Encoder(input.Data) }),
5825
- };
5826
- };
5827
- const se_ReplacementEmailContent = (input, context) => {
5828
- return {
5829
- ...(input.ReplacementTemplate != null && {
5830
- ReplacementTemplate: se_ReplacementTemplate(input.ReplacementTemplate, context),
5831
- }),
5832
- };
5833
- };
5834
- const se_ReplacementTemplate = (input, context) => {
5835
- return {
5836
- ...(input.ReplacementTemplateData != null && { ReplacementTemplateData: input.ReplacementTemplateData }),
5837
- };
5838
- };
5839
- const se_ReputationOptions = (input, context) => {
5840
- return {
5841
- ...(input.LastFreshStart != null && { LastFreshStart: Math.round(input.LastFreshStart.getTime() / 1000) }),
5842
- ...(input.ReputationMetricsEnabled != null && { ReputationMetricsEnabled: input.ReputationMetricsEnabled }),
5843
- };
5844
- };
5845
- const se_SendingOptions = (input, context) => {
5846
- return {
5847
- ...(input.SendingEnabled != null && { SendingEnabled: input.SendingEnabled }),
5848
- };
5849
- };
5850
- const se_SnsDestination = (input, context) => {
5851
- return {
5852
- ...(input.TopicArn != null && { TopicArn: input.TopicArn }),
5853
- };
5854
- };
5855
- const se_SuppressionListDestination = (input, context) => {
5856
- return {
5857
- ...(input.SuppressionListImportAction != null && {
5858
- SuppressionListImportAction: input.SuppressionListImportAction,
5859
- }),
5860
- };
5861
- };
5862
- const se_SuppressionListReasons = (input, context) => {
5863
- return input
5864
- .filter((e) => e != null)
5865
- .map((entry) => {
5866
- return entry;
5867
- });
5868
- };
5869
- const se_SuppressionOptions = (input, context) => {
5870
- return {
5871
- ...(input.SuppressedReasons != null && {
5872
- SuppressedReasons: se_SuppressionListReasons(input.SuppressedReasons, context),
5873
- }),
5874
- };
5875
- };
5876
- const se_Tag = (input, context) => {
5877
- return {
5878
- ...(input.Key != null && { Key: input.Key }),
5879
- ...(input.Value != null && { Value: input.Value }),
5880
- };
5881
- };
5882
- const se_TagList = (input, context) => {
5883
- return input
5884
- .filter((e) => e != null)
5885
- .map((entry) => {
5886
- return se_Tag(entry, context);
5887
- });
5888
- };
5889
- const se_Template = (input, context) => {
5890
- return {
5891
- ...(input.TemplateArn != null && { TemplateArn: input.TemplateArn }),
5892
- ...(input.TemplateData != null && { TemplateData: input.TemplateData }),
5893
- ...(input.TemplateName != null && { TemplateName: input.TemplateName }),
5894
- };
5895
- };
5896
- const se_Topic = (input, context) => {
5897
- return {
5898
- ...(input.DefaultSubscriptionStatus != null && { DefaultSubscriptionStatus: input.DefaultSubscriptionStatus }),
5899
- ...(input.Description != null && { Description: input.Description }),
5900
- ...(input.DisplayName != null && { DisplayName: input.DisplayName }),
5901
- ...(input.TopicName != null && { TopicName: input.TopicName }),
5902
- };
5903
- };
5904
- const se_TopicFilter = (input, context) => {
5905
- return {
5906
- ...(input.TopicName != null && { TopicName: input.TopicName }),
5907
- ...(input.UseDefaultIfPreferenceUnavailable != null && {
5908
- UseDefaultIfPreferenceUnavailable: input.UseDefaultIfPreferenceUnavailable,
5909
- }),
5910
- };
5911
- };
5912
- const se_TopicPreference = (input, context) => {
5913
- return {
5914
- ...(input.SubscriptionStatus != null && { SubscriptionStatus: input.SubscriptionStatus }),
5915
- ...(input.TopicName != null && { TopicName: input.TopicName }),
5916
- };
5917
- };
5918
- const se_TopicPreferenceList = (input, context) => {
5919
- return input
5920
- .filter((e) => e != null)
5921
- .map((entry) => {
5922
- return se_TopicPreference(entry, context);
5923
- });
5924
- };
5925
- const se_Topics = (input, context) => {
5926
- return input
5927
- .filter((e) => e != null)
5928
- .map((entry) => {
5929
- return se_Topic(entry, context);
5930
- });
5931
- };
5932
- const se_TrackingOptions = (input, context) => {
5933
- return {
5934
- ...(input.CustomRedirectDomain != null && { CustomRedirectDomain: input.CustomRedirectDomain }),
5935
- };
5936
- };
5937
- const se_VdmAttributes = (input, context) => {
5938
- return {
5939
- ...(input.DashboardAttributes != null && {
5940
- DashboardAttributes: se_DashboardAttributes(input.DashboardAttributes, context),
5941
- }),
5942
- ...(input.GuardianAttributes != null && {
5943
- GuardianAttributes: se_GuardianAttributes(input.GuardianAttributes, context),
5944
- }),
5945
- ...(input.VdmEnabled != null && { VdmEnabled: input.VdmEnabled }),
5946
- };
5947
- };
5948
- const se_VdmOptions = (input, context) => {
5949
- return {
5950
- ...(input.DashboardOptions != null && { DashboardOptions: se_DashboardOptions(input.DashboardOptions, context) }),
5951
- ...(input.GuardianOptions != null && { GuardianOptions: se_GuardianOptions(input.GuardianOptions, context) }),
5952
- };
5953
- };
5954
- const de_AccountDetails = (output, context) => {
5955
- return {
5956
- AdditionalContactEmailAddresses: output.AdditionalContactEmailAddresses != null
5957
- ? de_AdditionalContactEmailAddresses(output.AdditionalContactEmailAddresses, context)
5958
- : undefined,
5959
- ContactLanguage: __expectString(output.ContactLanguage),
5960
- MailType: __expectString(output.MailType),
5961
- ReviewDetails: output.ReviewDetails != null ? de_ReviewDetails(output.ReviewDetails, context) : undefined,
5962
- UseCaseDescription: __expectString(output.UseCaseDescription),
5963
- WebsiteURL: __expectString(output.WebsiteURL),
5964
- };
5965
- };
5966
- const de_AdditionalContactEmailAddresses = (output, context) => {
5967
- const retVal = (output || [])
5968
- .filter((e) => e != null)
5969
- .map((entry) => {
5970
- if (entry === null) {
5971
- return null;
5972
- }
5973
- return __expectString(entry);
5974
- });
5975
- return retVal;
5976
- };
5977
- const de_BlacklistEntries = (output, context) => {
5978
- const retVal = (output || [])
5979
- .filter((e) => e != null)
5980
- .map((entry) => {
5981
- if (entry === null) {
5982
- return null;
5983
- }
5984
- return de_BlacklistEntry(entry, context);
5985
- });
5986
- return retVal;
5987
- };
5988
- const de_BlacklistEntry = (output, context) => {
5989
- return {
5990
- Description: __expectString(output.Description),
5991
- ListingTime: output.ListingTime != null
5992
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.ListingTime)))
5993
- : undefined,
5994
- RblName: __expectString(output.RblName),
5995
- };
5382
+ const de_BlacklistEntry = (output, context) => {
5383
+ return take(output, {
5384
+ Description: __expectString,
5385
+ ListingTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5386
+ RblName: __expectString,
5387
+ });
5996
5388
  };
5997
5389
  const de_BlacklistReport = (output, context) => {
5998
5390
  return Object.entries(output).reduce((acc, [key, value]) => {
@@ -6003,492 +5395,173 @@ const de_BlacklistReport = (output, context) => {
6003
5395
  return acc;
6004
5396
  }, {});
6005
5397
  };
6006
- const de_BulkEmailEntryResult = (output, context) => {
6007
- return {
6008
- Error: __expectString(output.Error),
6009
- MessageId: __expectString(output.MessageId),
6010
- Status: __expectString(output.Status),
6011
- };
6012
- };
6013
- const de_BulkEmailEntryResultList = (output, context) => {
6014
- const retVal = (output || [])
6015
- .filter((e) => e != null)
6016
- .map((entry) => {
6017
- if (entry === null) {
6018
- return null;
6019
- }
6020
- return de_BulkEmailEntryResult(entry, context);
6021
- });
6022
- return retVal;
6023
- };
6024
- const de_CloudWatchDestination = (output, context) => {
6025
- return {
6026
- DimensionConfigurations: output.DimensionConfigurations != null
6027
- ? de_CloudWatchDimensionConfigurations(output.DimensionConfigurations, context)
6028
- : undefined,
6029
- };
6030
- };
6031
- const de_CloudWatchDimensionConfiguration = (output, context) => {
6032
- return {
6033
- DefaultDimensionValue: __expectString(output.DefaultDimensionValue),
6034
- DimensionName: __expectString(output.DimensionName),
6035
- DimensionValueSource: __expectString(output.DimensionValueSource),
6036
- };
6037
- };
6038
- const de_CloudWatchDimensionConfigurations = (output, context) => {
6039
- const retVal = (output || [])
6040
- .filter((e) => e != null)
6041
- .map((entry) => {
6042
- if (entry === null) {
6043
- return null;
6044
- }
6045
- return de_CloudWatchDimensionConfiguration(entry, context);
6046
- });
6047
- return retVal;
6048
- };
6049
- const de_ConfigurationSetNameList = (output, context) => {
6050
- const retVal = (output || [])
6051
- .filter((e) => e != null)
6052
- .map((entry) => {
6053
- if (entry === null) {
6054
- return null;
6055
- }
6056
- return __expectString(entry);
6057
- });
6058
- return retVal;
6059
- };
6060
5398
  const de_Contact = (output, context) => {
6061
- return {
6062
- EmailAddress: __expectString(output.EmailAddress),
6063
- LastUpdatedTimestamp: output.LastUpdatedTimestamp != null
6064
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp)))
6065
- : undefined,
6066
- TopicDefaultPreferences: output.TopicDefaultPreferences != null
6067
- ? de_TopicPreferenceList(output.TopicDefaultPreferences, context)
6068
- : undefined,
6069
- TopicPreferences: output.TopicPreferences != null ? de_TopicPreferenceList(output.TopicPreferences, context) : undefined,
6070
- UnsubscribeAll: __expectBoolean(output.UnsubscribeAll),
6071
- };
5399
+ return take(output, {
5400
+ EmailAddress: __expectString,
5401
+ LastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5402
+ TopicDefaultPreferences: _json,
5403
+ TopicPreferences: _json,
5404
+ UnsubscribeAll: __expectBoolean,
5405
+ });
6072
5406
  };
6073
5407
  const de_ContactList = (output, context) => {
6074
- return {
6075
- ContactListName: __expectString(output.ContactListName),
6076
- LastUpdatedTimestamp: output.LastUpdatedTimestamp != null
6077
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp)))
6078
- : undefined,
6079
- };
6080
- };
6081
- const de_ContactListDestination = (output, context) => {
6082
- return {
6083
- ContactListImportAction: __expectString(output.ContactListImportAction),
6084
- ContactListName: __expectString(output.ContactListName),
6085
- };
6086
- };
6087
- const de_CustomVerificationEmailTemplateMetadata = (output, context) => {
6088
- return {
6089
- FailureRedirectionURL: __expectString(output.FailureRedirectionURL),
6090
- FromEmailAddress: __expectString(output.FromEmailAddress),
6091
- SuccessRedirectionURL: __expectString(output.SuccessRedirectionURL),
6092
- TemplateName: __expectString(output.TemplateName),
6093
- TemplateSubject: __expectString(output.TemplateSubject),
6094
- };
6095
- };
6096
- const de_CustomVerificationEmailTemplatesList = (output, context) => {
6097
- const retVal = (output || [])
6098
- .filter((e) => e != null)
6099
- .map((entry) => {
6100
- if (entry === null) {
6101
- return null;
6102
- }
6103
- return de_CustomVerificationEmailTemplateMetadata(entry, context);
5408
+ return take(output, {
5409
+ ContactListName: __expectString,
5410
+ LastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
6104
5411
  });
6105
- return retVal;
6106
5412
  };
6107
5413
  const de_DailyVolume = (output, context) => {
6108
- return {
6109
- DomainIspPlacements: output.DomainIspPlacements != null ? de_DomainIspPlacements(output.DomainIspPlacements, context) : undefined,
6110
- StartDate: output.StartDate != null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.StartDate))) : undefined,
6111
- VolumeStatistics: output.VolumeStatistics != null ? de_VolumeStatistics(output.VolumeStatistics, context) : undefined,
6112
- };
5414
+ return take(output, {
5415
+ DomainIspPlacements: (_) => de_DomainIspPlacements(_, context),
5416
+ StartDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5417
+ VolumeStatistics: _json,
5418
+ });
6113
5419
  };
6114
5420
  const de_DailyVolumes = (output, context) => {
6115
5421
  const retVal = (output || [])
6116
5422
  .filter((e) => e != null)
6117
5423
  .map((entry) => {
6118
- if (entry === null) {
6119
- return null;
6120
- }
6121
5424
  return de_DailyVolume(entry, context);
6122
5425
  });
6123
5426
  return retVal;
6124
5427
  };
6125
- const de_DashboardAttributes = (output, context) => {
6126
- return {
6127
- EngagementMetrics: __expectString(output.EngagementMetrics),
6128
- };
6129
- };
6130
- const de_DashboardOptions = (output, context) => {
6131
- return {
6132
- EngagementMetrics: __expectString(output.EngagementMetrics),
6133
- };
6134
- };
6135
- const de_DedicatedIp = (output, context) => {
6136
- return {
6137
- Ip: __expectString(output.Ip),
6138
- PoolName: __expectString(output.PoolName),
6139
- WarmupPercentage: __expectInt32(output.WarmupPercentage),
6140
- WarmupStatus: __expectString(output.WarmupStatus),
6141
- };
6142
- };
6143
- const de_DedicatedIpList = (output, context) => {
6144
- const retVal = (output || [])
6145
- .filter((e) => e != null)
6146
- .map((entry) => {
6147
- if (entry === null) {
6148
- return null;
6149
- }
6150
- return de_DedicatedIp(entry, context);
6151
- });
6152
- return retVal;
6153
- };
6154
- const de_DedicatedIpPool = (output, context) => {
6155
- return {
6156
- PoolName: __expectString(output.PoolName),
6157
- ScalingMode: __expectString(output.ScalingMode),
6158
- };
6159
- };
6160
5428
  const de_DeliverabilityTestReport = (output, context) => {
6161
- return {
6162
- CreateDate: output.CreateDate != null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreateDate))) : undefined,
6163
- DeliverabilityTestStatus: __expectString(output.DeliverabilityTestStatus),
6164
- FromEmailAddress: __expectString(output.FromEmailAddress),
6165
- ReportId: __expectString(output.ReportId),
6166
- ReportName: __expectString(output.ReportName),
6167
- Subject: __expectString(output.Subject),
6168
- };
5429
+ return take(output, {
5430
+ CreateDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5431
+ DeliverabilityTestStatus: __expectString,
5432
+ FromEmailAddress: __expectString,
5433
+ ReportId: __expectString,
5434
+ ReportName: __expectString,
5435
+ Subject: __expectString,
5436
+ });
6169
5437
  };
6170
5438
  const de_DeliverabilityTestReports = (output, context) => {
6171
5439
  const retVal = (output || [])
6172
5440
  .filter((e) => e != null)
6173
5441
  .map((entry) => {
6174
- if (entry === null) {
6175
- return null;
6176
- }
6177
5442
  return de_DeliverabilityTestReport(entry, context);
6178
5443
  });
6179
5444
  return retVal;
6180
5445
  };
6181
- const de_DeliveryOptions = (output, context) => {
6182
- return {
6183
- SendingPoolName: __expectString(output.SendingPoolName),
6184
- TlsPolicy: __expectString(output.TlsPolicy),
6185
- };
6186
- };
6187
5446
  const de_DkimAttributes = (output, context) => {
6188
- return {
6189
- CurrentSigningKeyLength: __expectString(output.CurrentSigningKeyLength),
6190
- LastKeyGenerationTimestamp: output.LastKeyGenerationTimestamp != null
6191
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastKeyGenerationTimestamp)))
6192
- : undefined,
6193
- NextSigningKeyLength: __expectString(output.NextSigningKeyLength),
6194
- SigningAttributesOrigin: __expectString(output.SigningAttributesOrigin),
6195
- SigningEnabled: __expectBoolean(output.SigningEnabled),
6196
- Status: __expectString(output.Status),
6197
- Tokens: output.Tokens != null ? de_DnsTokenList(output.Tokens, context) : undefined,
6198
- };
6199
- };
6200
- const de_DnsTokenList = (output, context) => {
6201
- const retVal = (output || [])
6202
- .filter((e) => e != null)
6203
- .map((entry) => {
6204
- if (entry === null) {
6205
- return null;
6206
- }
6207
- return __expectString(entry);
5447
+ return take(output, {
5448
+ CurrentSigningKeyLength: __expectString,
5449
+ LastKeyGenerationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5450
+ NextSigningKeyLength: __expectString,
5451
+ SigningAttributesOrigin: __expectString,
5452
+ SigningEnabled: __expectBoolean,
5453
+ Status: __expectString,
5454
+ Tokens: _json,
6208
5455
  });
6209
- return retVal;
6210
5456
  };
6211
5457
  const de_DomainDeliverabilityCampaign = (output, context) => {
6212
- return {
6213
- CampaignId: __expectString(output.CampaignId),
6214
- DeleteRate: __limitedParseDouble(output.DeleteRate),
6215
- Esps: output.Esps != null ? de_Esps(output.Esps, context) : undefined,
6216
- FirstSeenDateTime: output.FirstSeenDateTime != null
6217
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.FirstSeenDateTime)))
6218
- : undefined,
6219
- FromAddress: __expectString(output.FromAddress),
6220
- ImageUrl: __expectString(output.ImageUrl),
6221
- InboxCount: __expectLong(output.InboxCount),
6222
- LastSeenDateTime: output.LastSeenDateTime != null
6223
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastSeenDateTime)))
6224
- : undefined,
6225
- ProjectedVolume: __expectLong(output.ProjectedVolume),
6226
- ReadDeleteRate: __limitedParseDouble(output.ReadDeleteRate),
6227
- ReadRate: __limitedParseDouble(output.ReadRate),
6228
- SendingIps: output.SendingIps != null ? de_IpList(output.SendingIps, context) : undefined,
6229
- SpamCount: __expectLong(output.SpamCount),
6230
- Subject: __expectString(output.Subject),
6231
- };
5458
+ return take(output, {
5459
+ CampaignId: __expectString,
5460
+ DeleteRate: __limitedParseDouble,
5461
+ Esps: _json,
5462
+ FirstSeenDateTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5463
+ FromAddress: __expectString,
5464
+ ImageUrl: __expectString,
5465
+ InboxCount: __expectLong,
5466
+ LastSeenDateTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5467
+ ProjectedVolume: __expectLong,
5468
+ ReadDeleteRate: __limitedParseDouble,
5469
+ ReadRate: __limitedParseDouble,
5470
+ SendingIps: _json,
5471
+ SpamCount: __expectLong,
5472
+ Subject: __expectString,
5473
+ });
6232
5474
  };
6233
5475
  const de_DomainDeliverabilityCampaignList = (output, context) => {
6234
5476
  const retVal = (output || [])
6235
5477
  .filter((e) => e != null)
6236
5478
  .map((entry) => {
6237
- if (entry === null) {
6238
- return null;
6239
- }
6240
5479
  return de_DomainDeliverabilityCampaign(entry, context);
6241
5480
  });
6242
5481
  return retVal;
6243
5482
  };
6244
5483
  const de_DomainDeliverabilityTrackingOption = (output, context) => {
6245
- return {
6246
- Domain: __expectString(output.Domain),
6247
- InboxPlacementTrackingOption: output.InboxPlacementTrackingOption != null
6248
- ? de_InboxPlacementTrackingOption(output.InboxPlacementTrackingOption, context)
6249
- : undefined,
6250
- SubscriptionStartDate: output.SubscriptionStartDate != null
6251
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.SubscriptionStartDate)))
6252
- : undefined,
6253
- };
5484
+ return take(output, {
5485
+ Domain: __expectString,
5486
+ InboxPlacementTrackingOption: _json,
5487
+ SubscriptionStartDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5488
+ });
6254
5489
  };
6255
5490
  const de_DomainDeliverabilityTrackingOptions = (output, context) => {
6256
5491
  const retVal = (output || [])
6257
5492
  .filter((e) => e != null)
6258
5493
  .map((entry) => {
6259
- if (entry === null) {
6260
- return null;
6261
- }
6262
5494
  return de_DomainDeliverabilityTrackingOption(entry, context);
6263
5495
  });
6264
5496
  return retVal;
6265
5497
  };
6266
5498
  const de_DomainIspPlacement = (output, context) => {
6267
- return {
6268
- InboxPercentage: __limitedParseDouble(output.InboxPercentage),
6269
- InboxRawCount: __expectLong(output.InboxRawCount),
6270
- IspName: __expectString(output.IspName),
6271
- SpamPercentage: __limitedParseDouble(output.SpamPercentage),
6272
- SpamRawCount: __expectLong(output.SpamRawCount),
6273
- };
5499
+ return take(output, {
5500
+ InboxPercentage: __limitedParseDouble,
5501
+ InboxRawCount: __expectLong,
5502
+ IspName: __expectString,
5503
+ SpamPercentage: __limitedParseDouble,
5504
+ SpamRawCount: __expectLong,
5505
+ });
6274
5506
  };
6275
5507
  const de_DomainIspPlacements = (output, context) => {
6276
5508
  const retVal = (output || [])
6277
5509
  .filter((e) => e != null)
6278
5510
  .map((entry) => {
6279
- if (entry === null) {
6280
- return null;
6281
- }
6282
5511
  return de_DomainIspPlacement(entry, context);
6283
5512
  });
6284
5513
  return retVal;
6285
5514
  };
6286
- const de_EmailTemplateContent = (output, context) => {
6287
- return {
6288
- Html: __expectString(output.Html),
6289
- Subject: __expectString(output.Subject),
6290
- Text: __expectString(output.Text),
6291
- };
6292
- };
6293
5515
  const de_EmailTemplateMetadata = (output, context) => {
6294
- return {
6295
- CreatedTimestamp: output.CreatedTimestamp != null
6296
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedTimestamp)))
6297
- : undefined,
6298
- TemplateName: __expectString(output.TemplateName),
6299
- };
5516
+ return take(output, {
5517
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5518
+ TemplateName: __expectString,
5519
+ });
6300
5520
  };
6301
5521
  const de_EmailTemplateMetadataList = (output, context) => {
6302
5522
  const retVal = (output || [])
6303
5523
  .filter((e) => e != null)
6304
5524
  .map((entry) => {
6305
- if (entry === null) {
6306
- return null;
6307
- }
6308
5525
  return de_EmailTemplateMetadata(entry, context);
6309
5526
  });
6310
5527
  return retVal;
6311
5528
  };
6312
- const de_Esps = (output, context) => {
6313
- const retVal = (output || [])
6314
- .filter((e) => e != null)
6315
- .map((entry) => {
6316
- if (entry === null) {
6317
- return null;
6318
- }
6319
- return __expectString(entry);
6320
- });
6321
- return retVal;
6322
- };
6323
- const de_EventDestination = (output, context) => {
6324
- return {
6325
- CloudWatchDestination: output.CloudWatchDestination != null
6326
- ? de_CloudWatchDestination(output.CloudWatchDestination, context)
6327
- : undefined,
6328
- Enabled: __expectBoolean(output.Enabled),
6329
- KinesisFirehoseDestination: output.KinesisFirehoseDestination != null
6330
- ? de_KinesisFirehoseDestination(output.KinesisFirehoseDestination, context)
6331
- : undefined,
6332
- MatchingEventTypes: output.MatchingEventTypes != null ? de_EventTypes(output.MatchingEventTypes, context) : undefined,
6333
- Name: __expectString(output.Name),
6334
- PinpointDestination: output.PinpointDestination != null ? de_PinpointDestination(output.PinpointDestination, context) : undefined,
6335
- SnsDestination: output.SnsDestination != null ? de_SnsDestination(output.SnsDestination, context) : undefined,
6336
- };
6337
- };
6338
- const de_EventDestinations = (output, context) => {
6339
- const retVal = (output || [])
6340
- .filter((e) => e != null)
6341
- .map((entry) => {
6342
- if (entry === null) {
6343
- return null;
6344
- }
6345
- return de_EventDestination(entry, context);
6346
- });
6347
- return retVal;
6348
- };
6349
- const de_EventTypes = (output, context) => {
6350
- const retVal = (output || [])
6351
- .filter((e) => e != null)
6352
- .map((entry) => {
6353
- if (entry === null) {
6354
- return null;
6355
- }
6356
- return __expectString(entry);
6357
- });
6358
- return retVal;
6359
- };
6360
- const de_FailureInfo = (output, context) => {
6361
- return {
6362
- ErrorMessage: __expectString(output.ErrorMessage),
6363
- FailedRecordsS3Url: __expectString(output.FailedRecordsS3Url),
6364
- };
6365
- };
6366
- const de_GuardianAttributes = (output, context) => {
6367
- return {
6368
- OptimizedSharedDelivery: __expectString(output.OptimizedSharedDelivery),
6369
- };
6370
- };
6371
- const de_GuardianOptions = (output, context) => {
6372
- return {
6373
- OptimizedSharedDelivery: __expectString(output.OptimizedSharedDelivery),
6374
- };
6375
- };
6376
- const de_IdentityInfo = (output, context) => {
6377
- return {
6378
- IdentityName: __expectString(output.IdentityName),
6379
- IdentityType: __expectString(output.IdentityType),
6380
- SendingEnabled: __expectBoolean(output.SendingEnabled),
6381
- VerificationStatus: __expectString(output.VerificationStatus),
6382
- };
6383
- };
6384
- const de_IdentityInfoList = (output, context) => {
6385
- const retVal = (output || [])
6386
- .filter((e) => e != null)
6387
- .map((entry) => {
6388
- if (entry === null) {
6389
- return null;
6390
- }
6391
- return de_IdentityInfo(entry, context);
6392
- });
6393
- return retVal;
6394
- };
6395
- const de_ImportDataSource = (output, context) => {
6396
- return {
6397
- DataFormat: __expectString(output.DataFormat),
6398
- S3Url: __expectString(output.S3Url),
6399
- };
6400
- };
6401
- const de_ImportDestination = (output, context) => {
6402
- return {
6403
- ContactListDestination: output.ContactListDestination != null
6404
- ? de_ContactListDestination(output.ContactListDestination, context)
6405
- : undefined,
6406
- SuppressionListDestination: output.SuppressionListDestination != null
6407
- ? de_SuppressionListDestination(output.SuppressionListDestination, context)
6408
- : undefined,
6409
- };
6410
- };
6411
5529
  const de_ImportJobSummary = (output, context) => {
6412
- return {
6413
- CreatedTimestamp: output.CreatedTimestamp != null
6414
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedTimestamp)))
6415
- : undefined,
6416
- FailedRecordsCount: __expectInt32(output.FailedRecordsCount),
6417
- ImportDestination: output.ImportDestination != null ? de_ImportDestination(output.ImportDestination, context) : undefined,
6418
- JobId: __expectString(output.JobId),
6419
- JobStatus: __expectString(output.JobStatus),
6420
- ProcessedRecordsCount: __expectInt32(output.ProcessedRecordsCount),
6421
- };
5530
+ return take(output, {
5531
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5532
+ FailedRecordsCount: __expectInt32,
5533
+ ImportDestination: _json,
5534
+ JobId: __expectString,
5535
+ JobStatus: __expectString,
5536
+ ProcessedRecordsCount: __expectInt32,
5537
+ });
6422
5538
  };
6423
5539
  const de_ImportJobSummaryList = (output, context) => {
6424
5540
  const retVal = (output || [])
6425
5541
  .filter((e) => e != null)
6426
5542
  .map((entry) => {
6427
- if (entry === null) {
6428
- return null;
6429
- }
6430
5543
  return de_ImportJobSummary(entry, context);
6431
5544
  });
6432
5545
  return retVal;
6433
5546
  };
6434
- const de_InboxPlacementTrackingOption = (output, context) => {
6435
- return {
6436
- Global: __expectBoolean(output.Global),
6437
- TrackedIsps: output.TrackedIsps != null ? de_IspNameList(output.TrackedIsps, context) : undefined,
6438
- };
6439
- };
6440
- const de_IpList = (output, context) => {
6441
- const retVal = (output || [])
6442
- .filter((e) => e != null)
6443
- .map((entry) => {
6444
- if (entry === null) {
6445
- return null;
6446
- }
6447
- return __expectString(entry);
6448
- });
6449
- return retVal;
6450
- };
6451
- const de_IspNameList = (output, context) => {
6452
- const retVal = (output || [])
6453
- .filter((e) => e != null)
6454
- .map((entry) => {
6455
- if (entry === null) {
6456
- return null;
6457
- }
6458
- return __expectString(entry);
6459
- });
6460
- return retVal;
6461
- };
6462
5547
  const de_IspPlacement = (output, context) => {
6463
- return {
6464
- IspName: __expectString(output.IspName),
6465
- PlacementStatistics: output.PlacementStatistics != null ? de_PlacementStatistics(output.PlacementStatistics, context) : undefined,
6466
- };
5548
+ return take(output, {
5549
+ IspName: __expectString,
5550
+ PlacementStatistics: (_) => de_PlacementStatistics(_, context),
5551
+ });
6467
5552
  };
6468
5553
  const de_IspPlacements = (output, context) => {
6469
5554
  const retVal = (output || [])
6470
5555
  .filter((e) => e != null)
6471
5556
  .map((entry) => {
6472
- if (entry === null) {
6473
- return null;
6474
- }
6475
5557
  return de_IspPlacement(entry, context);
6476
5558
  });
6477
5559
  return retVal;
6478
5560
  };
6479
- const de_KinesisFirehoseDestination = (output, context) => {
6480
- return {
6481
- DeliveryStreamArn: __expectString(output.DeliveryStreamArn),
6482
- IamRoleArn: __expectString(output.IamRoleArn),
6483
- };
6484
- };
6485
5561
  const de_ListOfContactLists = (output, context) => {
6486
5562
  const retVal = (output || [])
6487
5563
  .filter((e) => e != null)
6488
5564
  .map((entry) => {
6489
- if (entry === null) {
6490
- return null;
6491
- }
6492
5565
  return de_ContactList(entry, context);
6493
5566
  });
6494
5567
  return retVal;
@@ -6497,317 +5570,104 @@ const de_ListOfContacts = (output, context) => {
6497
5570
  const retVal = (output || [])
6498
5571
  .filter((e) => e != null)
6499
5572
  .map((entry) => {
6500
- if (entry === null) {
6501
- return null;
6502
- }
6503
5573
  return de_Contact(entry, context);
6504
5574
  });
6505
5575
  return retVal;
6506
5576
  };
6507
- const de_ListOfDedicatedIpPools = (output, context) => {
6508
- const retVal = (output || [])
6509
- .filter((e) => e != null)
6510
- .map((entry) => {
6511
- if (entry === null) {
6512
- return null;
6513
- }
6514
- return __expectString(entry);
6515
- });
6516
- return retVal;
6517
- };
6518
- const de_MailFromAttributes = (output, context) => {
6519
- return {
6520
- BehaviorOnMxFailure: __expectString(output.BehaviorOnMxFailure),
6521
- MailFromDomain: __expectString(output.MailFromDomain),
6522
- MailFromDomainStatus: __expectString(output.MailFromDomainStatus),
6523
- };
6524
- };
6525
- const de_MetricDataError = (output, context) => {
6526
- return {
6527
- Code: __expectString(output.Code),
6528
- Id: __expectString(output.Id),
6529
- Message: __expectString(output.Message),
6530
- };
6531
- };
6532
- const de_MetricDataErrorList = (output, context) => {
6533
- const retVal = (output || [])
6534
- .filter((e) => e != null)
6535
- .map((entry) => {
6536
- if (entry === null) {
6537
- return null;
6538
- }
6539
- return de_MetricDataError(entry, context);
6540
- });
6541
- return retVal;
6542
- };
6543
5577
  const de_MetricDataResult = (output, context) => {
6544
- return {
6545
- Id: __expectString(output.Id),
6546
- Timestamps: output.Timestamps != null ? de_TimestampList(output.Timestamps, context) : undefined,
6547
- Values: output.Values != null ? de_MetricValueList(output.Values, context) : undefined,
6548
- };
5578
+ return take(output, {
5579
+ Id: __expectString,
5580
+ Timestamps: (_) => de_TimestampList(_, context),
5581
+ Values: _json,
5582
+ });
6549
5583
  };
6550
5584
  const de_MetricDataResultList = (output, context) => {
6551
5585
  const retVal = (output || [])
6552
5586
  .filter((e) => e != null)
6553
5587
  .map((entry) => {
6554
- if (entry === null) {
6555
- return null;
6556
- }
6557
5588
  return de_MetricDataResult(entry, context);
6558
5589
  });
6559
5590
  return retVal;
6560
5591
  };
6561
- const de_MetricValueList = (output, context) => {
6562
- const retVal = (output || [])
6563
- .filter((e) => e != null)
6564
- .map((entry) => {
6565
- if (entry === null) {
6566
- return null;
6567
- }
6568
- return __expectLong(entry);
6569
- });
6570
- return retVal;
6571
- };
6572
5592
  const de_OverallVolume = (output, context) => {
6573
- return {
6574
- DomainIspPlacements: output.DomainIspPlacements != null ? de_DomainIspPlacements(output.DomainIspPlacements, context) : undefined,
6575
- ReadRatePercent: __limitedParseDouble(output.ReadRatePercent),
6576
- VolumeStatistics: output.VolumeStatistics != null ? de_VolumeStatistics(output.VolumeStatistics, context) : undefined,
6577
- };
6578
- };
6579
- const de_PinpointDestination = (output, context) => {
6580
- return {
6581
- ApplicationArn: __expectString(output.ApplicationArn),
6582
- };
5593
+ return take(output, {
5594
+ DomainIspPlacements: (_) => de_DomainIspPlacements(_, context),
5595
+ ReadRatePercent: __limitedParseDouble,
5596
+ VolumeStatistics: _json,
5597
+ });
6583
5598
  };
6584
5599
  const de_PlacementStatistics = (output, context) => {
6585
- return {
6586
- DkimPercentage: __limitedParseDouble(output.DkimPercentage),
6587
- InboxPercentage: __limitedParseDouble(output.InboxPercentage),
6588
- MissingPercentage: __limitedParseDouble(output.MissingPercentage),
6589
- SpamPercentage: __limitedParseDouble(output.SpamPercentage),
6590
- SpfPercentage: __limitedParseDouble(output.SpfPercentage),
6591
- };
6592
- };
6593
- const de_PolicyMap = (output, context) => {
6594
- return Object.entries(output).reduce((acc, [key, value]) => {
6595
- if (value === null) {
6596
- return acc;
6597
- }
6598
- acc[key] = __expectString(value);
6599
- return acc;
6600
- }, {});
5600
+ return take(output, {
5601
+ DkimPercentage: __limitedParseDouble,
5602
+ InboxPercentage: __limitedParseDouble,
5603
+ MissingPercentage: __limitedParseDouble,
5604
+ SpamPercentage: __limitedParseDouble,
5605
+ SpfPercentage: __limitedParseDouble,
5606
+ });
6601
5607
  };
6602
5608
  const de_Recommendation = (output, context) => {
6603
- return {
6604
- CreatedTimestamp: output.CreatedTimestamp != null
6605
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedTimestamp)))
6606
- : undefined,
6607
- Description: __expectString(output.Description),
6608
- Impact: __expectString(output.Impact),
6609
- LastUpdatedTimestamp: output.LastUpdatedTimestamp != null
6610
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp)))
6611
- : undefined,
6612
- ResourceArn: __expectString(output.ResourceArn),
6613
- Status: __expectString(output.Status),
6614
- Type: __expectString(output.Type),
6615
- };
5609
+ return take(output, {
5610
+ CreatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5611
+ Description: __expectString,
5612
+ Impact: __expectString,
5613
+ LastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5614
+ ResourceArn: __expectString,
5615
+ Status: __expectString,
5616
+ Type: __expectString,
5617
+ });
6616
5618
  };
6617
5619
  const de_RecommendationsList = (output, context) => {
6618
5620
  const retVal = (output || [])
6619
5621
  .filter((e) => e != null)
6620
5622
  .map((entry) => {
6621
- if (entry === null) {
6622
- return null;
6623
- }
6624
5623
  return de_Recommendation(entry, context);
6625
5624
  });
6626
5625
  return retVal;
6627
5626
  };
6628
5627
  const de_ReputationOptions = (output, context) => {
6629
- return {
6630
- LastFreshStart: output.LastFreshStart != null
6631
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastFreshStart)))
6632
- : undefined,
6633
- ReputationMetricsEnabled: __expectBoolean(output.ReputationMetricsEnabled),
6634
- };
6635
- };
6636
- const de_ReviewDetails = (output, context) => {
6637
- return {
6638
- CaseId: __expectString(output.CaseId),
6639
- Status: __expectString(output.Status),
6640
- };
6641
- };
6642
- const de_SendingOptions = (output, context) => {
6643
- return {
6644
- SendingEnabled: __expectBoolean(output.SendingEnabled),
6645
- };
5628
+ return take(output, {
5629
+ LastFreshStart: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5630
+ ReputationMetricsEnabled: __expectBoolean,
5631
+ });
6646
5632
  };
6647
5633
  const de_SendQuota = (output, context) => {
6648
- return {
6649
- Max24HourSend: __limitedParseDouble(output.Max24HourSend),
6650
- MaxSendRate: __limitedParseDouble(output.MaxSendRate),
6651
- SentLast24Hours: __limitedParseDouble(output.SentLast24Hours),
6652
- };
6653
- };
6654
- const de_SnsDestination = (output, context) => {
6655
- return {
6656
- TopicArn: __expectString(output.TopicArn),
6657
- };
5634
+ return take(output, {
5635
+ Max24HourSend: __limitedParseDouble,
5636
+ MaxSendRate: __limitedParseDouble,
5637
+ SentLast24Hours: __limitedParseDouble,
5638
+ });
6658
5639
  };
6659
5640
  const de_SuppressedDestination = (output, context) => {
6660
- return {
6661
- Attributes: output.Attributes != null ? de_SuppressedDestinationAttributes(output.Attributes, context) : undefined,
6662
- EmailAddress: __expectString(output.EmailAddress),
6663
- LastUpdateTime: output.LastUpdateTime != null
6664
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdateTime)))
6665
- : undefined,
6666
- Reason: __expectString(output.Reason),
6667
- };
6668
- };
6669
- const de_SuppressedDestinationAttributes = (output, context) => {
6670
- return {
6671
- FeedbackId: __expectString(output.FeedbackId),
6672
- MessageId: __expectString(output.MessageId),
6673
- };
5641
+ return take(output, {
5642
+ Attributes: _json,
5643
+ EmailAddress: __expectString,
5644
+ LastUpdateTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5645
+ Reason: __expectString,
5646
+ });
6674
5647
  };
6675
5648
  const de_SuppressedDestinationSummaries = (output, context) => {
6676
5649
  const retVal = (output || [])
6677
5650
  .filter((e) => e != null)
6678
5651
  .map((entry) => {
6679
- if (entry === null) {
6680
- return null;
6681
- }
6682
5652
  return de_SuppressedDestinationSummary(entry, context);
6683
5653
  });
6684
5654
  return retVal;
6685
5655
  };
6686
5656
  const de_SuppressedDestinationSummary = (output, context) => {
6687
- return {
6688
- EmailAddress: __expectString(output.EmailAddress),
6689
- LastUpdateTime: output.LastUpdateTime != null
6690
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdateTime)))
6691
- : undefined,
6692
- Reason: __expectString(output.Reason),
6693
- };
6694
- };
6695
- const de_SuppressionAttributes = (output, context) => {
6696
- return {
6697
- SuppressedReasons: output.SuppressedReasons != null ? de_SuppressionListReasons(output.SuppressedReasons, context) : undefined,
6698
- };
6699
- };
6700
- const de_SuppressionListDestination = (output, context) => {
6701
- return {
6702
- SuppressionListImportAction: __expectString(output.SuppressionListImportAction),
6703
- };
6704
- };
6705
- const de_SuppressionListReasons = (output, context) => {
6706
- const retVal = (output || [])
6707
- .filter((e) => e != null)
6708
- .map((entry) => {
6709
- if (entry === null) {
6710
- return null;
6711
- }
6712
- return __expectString(entry);
5657
+ return take(output, {
5658
+ EmailAddress: __expectString,
5659
+ LastUpdateTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
5660
+ Reason: __expectString,
6713
5661
  });
6714
- return retVal;
6715
- };
6716
- const de_SuppressionOptions = (output, context) => {
6717
- return {
6718
- SuppressedReasons: output.SuppressedReasons != null ? de_SuppressionListReasons(output.SuppressedReasons, context) : undefined,
6719
- };
6720
- };
6721
- const de_Tag = (output, context) => {
6722
- return {
6723
- Key: __expectString(output.Key),
6724
- Value: __expectString(output.Value),
6725
- };
6726
- };
6727
- const de_TagList = (output, context) => {
6728
- const retVal = (output || [])
6729
- .filter((e) => e != null)
6730
- .map((entry) => {
6731
- if (entry === null) {
6732
- return null;
6733
- }
6734
- return de_Tag(entry, context);
6735
- });
6736
- return retVal;
6737
5662
  };
6738
5663
  const de_TimestampList = (output, context) => {
6739
5664
  const retVal = (output || [])
6740
5665
  .filter((e) => e != null)
6741
5666
  .map((entry) => {
6742
- if (entry === null) {
6743
- return null;
6744
- }
6745
5667
  return __expectNonNull(__parseEpochTimestamp(__expectNumber(entry)));
6746
5668
  });
6747
5669
  return retVal;
6748
5670
  };
6749
- const de_Topic = (output, context) => {
6750
- return {
6751
- DefaultSubscriptionStatus: __expectString(output.DefaultSubscriptionStatus),
6752
- Description: __expectString(output.Description),
6753
- DisplayName: __expectString(output.DisplayName),
6754
- TopicName: __expectString(output.TopicName),
6755
- };
6756
- };
6757
- const de_TopicPreference = (output, context) => {
6758
- return {
6759
- SubscriptionStatus: __expectString(output.SubscriptionStatus),
6760
- TopicName: __expectString(output.TopicName),
6761
- };
6762
- };
6763
- const de_TopicPreferenceList = (output, context) => {
6764
- const retVal = (output || [])
6765
- .filter((e) => e != null)
6766
- .map((entry) => {
6767
- if (entry === null) {
6768
- return null;
6769
- }
6770
- return de_TopicPreference(entry, context);
6771
- });
6772
- return retVal;
6773
- };
6774
- const de_Topics = (output, context) => {
6775
- const retVal = (output || [])
6776
- .filter((e) => e != null)
6777
- .map((entry) => {
6778
- if (entry === null) {
6779
- return null;
6780
- }
6781
- return de_Topic(entry, context);
6782
- });
6783
- return retVal;
6784
- };
6785
- const de_TrackingOptions = (output, context) => {
6786
- return {
6787
- CustomRedirectDomain: __expectString(output.CustomRedirectDomain),
6788
- };
6789
- };
6790
- const de_VdmAttributes = (output, context) => {
6791
- return {
6792
- DashboardAttributes: output.DashboardAttributes != null ? de_DashboardAttributes(output.DashboardAttributes, context) : undefined,
6793
- GuardianAttributes: output.GuardianAttributes != null ? de_GuardianAttributes(output.GuardianAttributes, context) : undefined,
6794
- VdmEnabled: __expectString(output.VdmEnabled),
6795
- };
6796
- };
6797
- const de_VdmOptions = (output, context) => {
6798
- return {
6799
- DashboardOptions: output.DashboardOptions != null ? de_DashboardOptions(output.DashboardOptions, context) : undefined,
6800
- GuardianOptions: output.GuardianOptions != null ? de_GuardianOptions(output.GuardianOptions, context) : undefined,
6801
- };
6802
- };
6803
- const de_VolumeStatistics = (output, context) => {
6804
- return {
6805
- InboxRawCount: __expectLong(output.InboxRawCount),
6806
- ProjectedInbox: __expectLong(output.ProjectedInbox),
6807
- ProjectedSpam: __expectLong(output.ProjectedSpam),
6808
- SpamRawCount: __expectLong(output.SpamRawCount),
6809
- };
6810
- };
6811
5671
  const deserializeMetadata = (output) => ({
6812
5672
  httpStatusCode: output.statusCode,
6813
5673
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],