@aws-sdk/client-compute-optimizer 3.310.0 → 3.315.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,194 +1,131 @@
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, expectString as __expectString, limitedParseDouble as __limitedParseDouble, parseEpochTimestamp as __parseEpochTimestamp, 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, expectString as __expectString, limitedParseDouble as __limitedParseDouble, parseEpochTimestamp as __parseEpochTimestamp, take, withBaseException, } from "@aws-sdk/smithy-client";
3
3
  import { ComputeOptimizerServiceException as __BaseException } from "../models/ComputeOptimizerServiceException";
4
4
  import { AccessDeniedException, InternalServerException, InvalidParameterValueException, LimitExceededException, MissingAuthenticationToken, OptInRequiredException, ResourceNotFoundException, ServiceUnavailableException, ThrottlingException, } from "../models/models_0";
5
5
  export const se_DeleteRecommendationPreferencesCommand = async (input, context) => {
6
- const headers = {
7
- "content-type": "application/x-amz-json-1.0",
8
- "x-amz-target": "ComputeOptimizerService.DeleteRecommendationPreferences",
9
- };
6
+ const headers = sharedHeaders("DeleteRecommendationPreferences");
10
7
  let body;
11
- body = JSON.stringify(se_DeleteRecommendationPreferencesRequest(input, context));
8
+ body = JSON.stringify(_json(input));
12
9
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
13
10
  };
14
11
  export const se_DescribeRecommendationExportJobsCommand = async (input, context) => {
15
- const headers = {
16
- "content-type": "application/x-amz-json-1.0",
17
- "x-amz-target": "ComputeOptimizerService.DescribeRecommendationExportJobs",
18
- };
12
+ const headers = sharedHeaders("DescribeRecommendationExportJobs");
19
13
  let body;
20
- body = JSON.stringify(se_DescribeRecommendationExportJobsRequest(input, context));
14
+ body = JSON.stringify(_json(input));
21
15
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
22
16
  };
23
17
  export const se_ExportAutoScalingGroupRecommendationsCommand = async (input, context) => {
24
- const headers = {
25
- "content-type": "application/x-amz-json-1.0",
26
- "x-amz-target": "ComputeOptimizerService.ExportAutoScalingGroupRecommendations",
27
- };
18
+ const headers = sharedHeaders("ExportAutoScalingGroupRecommendations");
28
19
  let body;
29
- body = JSON.stringify(se_ExportAutoScalingGroupRecommendationsRequest(input, context));
20
+ body = JSON.stringify(_json(input));
30
21
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
31
22
  };
32
23
  export const se_ExportEBSVolumeRecommendationsCommand = async (input, context) => {
33
- const headers = {
34
- "content-type": "application/x-amz-json-1.0",
35
- "x-amz-target": "ComputeOptimizerService.ExportEBSVolumeRecommendations",
36
- };
24
+ const headers = sharedHeaders("ExportEBSVolumeRecommendations");
37
25
  let body;
38
- body = JSON.stringify(se_ExportEBSVolumeRecommendationsRequest(input, context));
26
+ body = JSON.stringify(_json(input));
39
27
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
40
28
  };
41
29
  export const se_ExportEC2InstanceRecommendationsCommand = async (input, context) => {
42
- const headers = {
43
- "content-type": "application/x-amz-json-1.0",
44
- "x-amz-target": "ComputeOptimizerService.ExportEC2InstanceRecommendations",
45
- };
30
+ const headers = sharedHeaders("ExportEC2InstanceRecommendations");
46
31
  let body;
47
- body = JSON.stringify(se_ExportEC2InstanceRecommendationsRequest(input, context));
32
+ body = JSON.stringify(_json(input));
48
33
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
49
34
  };
50
35
  export const se_ExportECSServiceRecommendationsCommand = async (input, context) => {
51
- const headers = {
52
- "content-type": "application/x-amz-json-1.0",
53
- "x-amz-target": "ComputeOptimizerService.ExportECSServiceRecommendations",
54
- };
36
+ const headers = sharedHeaders("ExportECSServiceRecommendations");
55
37
  let body;
56
- body = JSON.stringify(se_ExportECSServiceRecommendationsRequest(input, context));
38
+ body = JSON.stringify(_json(input));
57
39
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
58
40
  };
59
41
  export const se_ExportLambdaFunctionRecommendationsCommand = async (input, context) => {
60
- const headers = {
61
- "content-type": "application/x-amz-json-1.0",
62
- "x-amz-target": "ComputeOptimizerService.ExportLambdaFunctionRecommendations",
63
- };
42
+ const headers = sharedHeaders("ExportLambdaFunctionRecommendations");
64
43
  let body;
65
- body = JSON.stringify(se_ExportLambdaFunctionRecommendationsRequest(input, context));
44
+ body = JSON.stringify(_json(input));
66
45
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
67
46
  };
68
47
  export const se_GetAutoScalingGroupRecommendationsCommand = async (input, context) => {
69
- const headers = {
70
- "content-type": "application/x-amz-json-1.0",
71
- "x-amz-target": "ComputeOptimizerService.GetAutoScalingGroupRecommendations",
72
- };
48
+ const headers = sharedHeaders("GetAutoScalingGroupRecommendations");
73
49
  let body;
74
- body = JSON.stringify(se_GetAutoScalingGroupRecommendationsRequest(input, context));
50
+ body = JSON.stringify(_json(input));
75
51
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
76
52
  };
77
53
  export const se_GetEBSVolumeRecommendationsCommand = async (input, context) => {
78
- const headers = {
79
- "content-type": "application/x-amz-json-1.0",
80
- "x-amz-target": "ComputeOptimizerService.GetEBSVolumeRecommendations",
81
- };
54
+ const headers = sharedHeaders("GetEBSVolumeRecommendations");
82
55
  let body;
83
- body = JSON.stringify(se_GetEBSVolumeRecommendationsRequest(input, context));
56
+ body = JSON.stringify(_json(input));
84
57
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
85
58
  };
86
59
  export const se_GetEC2InstanceRecommendationsCommand = async (input, context) => {
87
- const headers = {
88
- "content-type": "application/x-amz-json-1.0",
89
- "x-amz-target": "ComputeOptimizerService.GetEC2InstanceRecommendations",
90
- };
60
+ const headers = sharedHeaders("GetEC2InstanceRecommendations");
91
61
  let body;
92
- body = JSON.stringify(se_GetEC2InstanceRecommendationsRequest(input, context));
62
+ body = JSON.stringify(_json(input));
93
63
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
94
64
  };
95
65
  export const se_GetEC2RecommendationProjectedMetricsCommand = async (input, context) => {
96
- const headers = {
97
- "content-type": "application/x-amz-json-1.0",
98
- "x-amz-target": "ComputeOptimizerService.GetEC2RecommendationProjectedMetrics",
99
- };
66
+ const headers = sharedHeaders("GetEC2RecommendationProjectedMetrics");
100
67
  let body;
101
68
  body = JSON.stringify(se_GetEC2RecommendationProjectedMetricsRequest(input, context));
102
69
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
103
70
  };
104
71
  export const se_GetECSServiceRecommendationProjectedMetricsCommand = async (input, context) => {
105
- const headers = {
106
- "content-type": "application/x-amz-json-1.0",
107
- "x-amz-target": "ComputeOptimizerService.GetECSServiceRecommendationProjectedMetrics",
108
- };
72
+ const headers = sharedHeaders("GetECSServiceRecommendationProjectedMetrics");
109
73
  let body;
110
74
  body = JSON.stringify(se_GetECSServiceRecommendationProjectedMetricsRequest(input, context));
111
75
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
112
76
  };
113
77
  export const se_GetECSServiceRecommendationsCommand = async (input, context) => {
114
- const headers = {
115
- "content-type": "application/x-amz-json-1.0",
116
- "x-amz-target": "ComputeOptimizerService.GetECSServiceRecommendations",
117
- };
78
+ const headers = sharedHeaders("GetECSServiceRecommendations");
118
79
  let body;
119
- body = JSON.stringify(se_GetECSServiceRecommendationsRequest(input, context));
80
+ body = JSON.stringify(_json(input));
120
81
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
121
82
  };
122
83
  export const se_GetEffectiveRecommendationPreferencesCommand = async (input, context) => {
123
- const headers = {
124
- "content-type": "application/x-amz-json-1.0",
125
- "x-amz-target": "ComputeOptimizerService.GetEffectiveRecommendationPreferences",
126
- };
84
+ const headers = sharedHeaders("GetEffectiveRecommendationPreferences");
127
85
  let body;
128
- body = JSON.stringify(se_GetEffectiveRecommendationPreferencesRequest(input, context));
86
+ body = JSON.stringify(_json(input));
129
87
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
130
88
  };
131
89
  export const se_GetEnrollmentStatusCommand = async (input, context) => {
132
- const headers = {
133
- "content-type": "application/x-amz-json-1.0",
134
- "x-amz-target": "ComputeOptimizerService.GetEnrollmentStatus",
135
- };
90
+ const headers = sharedHeaders("GetEnrollmentStatus");
136
91
  let body;
137
- body = JSON.stringify(se_GetEnrollmentStatusRequest(input, context));
92
+ body = JSON.stringify(_json(input));
138
93
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
139
94
  };
140
95
  export const se_GetEnrollmentStatusesForOrganizationCommand = async (input, context) => {
141
- const headers = {
142
- "content-type": "application/x-amz-json-1.0",
143
- "x-amz-target": "ComputeOptimizerService.GetEnrollmentStatusesForOrganization",
144
- };
96
+ const headers = sharedHeaders("GetEnrollmentStatusesForOrganization");
145
97
  let body;
146
- body = JSON.stringify(se_GetEnrollmentStatusesForOrganizationRequest(input, context));
98
+ body = JSON.stringify(_json(input));
147
99
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
148
100
  };
149
101
  export const se_GetLambdaFunctionRecommendationsCommand = async (input, context) => {
150
- const headers = {
151
- "content-type": "application/x-amz-json-1.0",
152
- "x-amz-target": "ComputeOptimizerService.GetLambdaFunctionRecommendations",
153
- };
102
+ const headers = sharedHeaders("GetLambdaFunctionRecommendations");
154
103
  let body;
155
- body = JSON.stringify(se_GetLambdaFunctionRecommendationsRequest(input, context));
104
+ body = JSON.stringify(_json(input));
156
105
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
157
106
  };
158
107
  export const se_GetRecommendationPreferencesCommand = async (input, context) => {
159
- const headers = {
160
- "content-type": "application/x-amz-json-1.0",
161
- "x-amz-target": "ComputeOptimizerService.GetRecommendationPreferences",
162
- };
108
+ const headers = sharedHeaders("GetRecommendationPreferences");
163
109
  let body;
164
- body = JSON.stringify(se_GetRecommendationPreferencesRequest(input, context));
110
+ body = JSON.stringify(_json(input));
165
111
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
166
112
  };
167
113
  export const se_GetRecommendationSummariesCommand = async (input, context) => {
168
- const headers = {
169
- "content-type": "application/x-amz-json-1.0",
170
- "x-amz-target": "ComputeOptimizerService.GetRecommendationSummaries",
171
- };
114
+ const headers = sharedHeaders("GetRecommendationSummaries");
172
115
  let body;
173
- body = JSON.stringify(se_GetRecommendationSummariesRequest(input, context));
116
+ body = JSON.stringify(_json(input));
174
117
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
175
118
  };
176
119
  export const se_PutRecommendationPreferencesCommand = async (input, context) => {
177
- const headers = {
178
- "content-type": "application/x-amz-json-1.0",
179
- "x-amz-target": "ComputeOptimizerService.PutRecommendationPreferences",
180
- };
120
+ const headers = sharedHeaders("PutRecommendationPreferences");
181
121
  let body;
182
- body = JSON.stringify(se_PutRecommendationPreferencesRequest(input, context));
122
+ body = JSON.stringify(_json(input));
183
123
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
184
124
  };
185
125
  export const se_UpdateEnrollmentStatusCommand = async (input, context) => {
186
- const headers = {
187
- "content-type": "application/x-amz-json-1.0",
188
- "x-amz-target": "ComputeOptimizerService.UpdateEnrollmentStatus",
189
- };
126
+ const headers = sharedHeaders("UpdateEnrollmentStatus");
190
127
  let body;
191
- body = JSON.stringify(se_UpdateEnrollmentStatusRequest(input, context));
128
+ body = JSON.stringify(_json(input));
192
129
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
193
130
  };
194
131
  export const de_DeleteRecommendationPreferencesCommand = async (output, context) => {
@@ -197,12 +134,12 @@ export const de_DeleteRecommendationPreferencesCommand = async (output, context)
197
134
  }
198
135
  const data = await parseBody(output.body, context);
199
136
  let contents = {};
200
- contents = de_DeleteRecommendationPreferencesResponse(data, context);
137
+ contents = _json(data);
201
138
  const response = {
202
139
  $metadata: deserializeMetadata(output),
203
140
  ...contents,
204
141
  };
205
- return Promise.resolve(response);
142
+ return response;
206
143
  };
207
144
  const de_DeleteRecommendationPreferencesCommandError = async (output, context) => {
208
145
  const parsedOutput = {
@@ -237,10 +174,9 @@ const de_DeleteRecommendationPreferencesCommandError = async (output, context) =
237
174
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
238
175
  default:
239
176
  const parsedBody = parsedOutput.body;
240
- throwDefaultError({
177
+ return throwDefaultError({
241
178
  output,
242
179
  parsedBody,
243
- exceptionCtor: __BaseException,
244
180
  errorCode,
245
181
  });
246
182
  }
@@ -256,7 +192,7 @@ export const de_DescribeRecommendationExportJobsCommand = async (output, context
256
192
  $metadata: deserializeMetadata(output),
257
193
  ...contents,
258
194
  };
259
- return Promise.resolve(response);
195
+ return response;
260
196
  };
261
197
  const de_DescribeRecommendationExportJobsCommandError = async (output, context) => {
262
198
  const parsedOutput = {
@@ -291,10 +227,9 @@ const de_DescribeRecommendationExportJobsCommandError = async (output, context)
291
227
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
292
228
  default:
293
229
  const parsedBody = parsedOutput.body;
294
- throwDefaultError({
230
+ return throwDefaultError({
295
231
  output,
296
232
  parsedBody,
297
- exceptionCtor: __BaseException,
298
233
  errorCode,
299
234
  });
300
235
  }
@@ -305,12 +240,12 @@ export const de_ExportAutoScalingGroupRecommendationsCommand = async (output, co
305
240
  }
306
241
  const data = await parseBody(output.body, context);
307
242
  let contents = {};
308
- contents = de_ExportAutoScalingGroupRecommendationsResponse(data, context);
243
+ contents = _json(data);
309
244
  const response = {
310
245
  $metadata: deserializeMetadata(output),
311
246
  ...contents,
312
247
  };
313
- return Promise.resolve(response);
248
+ return response;
314
249
  };
315
250
  const de_ExportAutoScalingGroupRecommendationsCommandError = async (output, context) => {
316
251
  const parsedOutput = {
@@ -345,10 +280,9 @@ const de_ExportAutoScalingGroupRecommendationsCommandError = async (output, cont
345
280
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
346
281
  default:
347
282
  const parsedBody = parsedOutput.body;
348
- throwDefaultError({
283
+ return throwDefaultError({
349
284
  output,
350
285
  parsedBody,
351
- exceptionCtor: __BaseException,
352
286
  errorCode,
353
287
  });
354
288
  }
@@ -359,12 +293,12 @@ export const de_ExportEBSVolumeRecommendationsCommand = async (output, context)
359
293
  }
360
294
  const data = await parseBody(output.body, context);
361
295
  let contents = {};
362
- contents = de_ExportEBSVolumeRecommendationsResponse(data, context);
296
+ contents = _json(data);
363
297
  const response = {
364
298
  $metadata: deserializeMetadata(output),
365
299
  ...contents,
366
300
  };
367
- return Promise.resolve(response);
301
+ return response;
368
302
  };
369
303
  const de_ExportEBSVolumeRecommendationsCommandError = async (output, context) => {
370
304
  const parsedOutput = {
@@ -399,10 +333,9 @@ const de_ExportEBSVolumeRecommendationsCommandError = async (output, context) =>
399
333
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
400
334
  default:
401
335
  const parsedBody = parsedOutput.body;
402
- throwDefaultError({
336
+ return throwDefaultError({
403
337
  output,
404
338
  parsedBody,
405
- exceptionCtor: __BaseException,
406
339
  errorCode,
407
340
  });
408
341
  }
@@ -413,12 +346,12 @@ export const de_ExportEC2InstanceRecommendationsCommand = async (output, context
413
346
  }
414
347
  const data = await parseBody(output.body, context);
415
348
  let contents = {};
416
- contents = de_ExportEC2InstanceRecommendationsResponse(data, context);
349
+ contents = _json(data);
417
350
  const response = {
418
351
  $metadata: deserializeMetadata(output),
419
352
  ...contents,
420
353
  };
421
- return Promise.resolve(response);
354
+ return response;
422
355
  };
423
356
  const de_ExportEC2InstanceRecommendationsCommandError = async (output, context) => {
424
357
  const parsedOutput = {
@@ -453,10 +386,9 @@ const de_ExportEC2InstanceRecommendationsCommandError = async (output, context)
453
386
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
454
387
  default:
455
388
  const parsedBody = parsedOutput.body;
456
- throwDefaultError({
389
+ return throwDefaultError({
457
390
  output,
458
391
  parsedBody,
459
- exceptionCtor: __BaseException,
460
392
  errorCode,
461
393
  });
462
394
  }
@@ -467,12 +399,12 @@ export const de_ExportECSServiceRecommendationsCommand = async (output, context)
467
399
  }
468
400
  const data = await parseBody(output.body, context);
469
401
  let contents = {};
470
- contents = de_ExportECSServiceRecommendationsResponse(data, context);
402
+ contents = _json(data);
471
403
  const response = {
472
404
  $metadata: deserializeMetadata(output),
473
405
  ...contents,
474
406
  };
475
- return Promise.resolve(response);
407
+ return response;
476
408
  };
477
409
  const de_ExportECSServiceRecommendationsCommandError = async (output, context) => {
478
410
  const parsedOutput = {
@@ -507,10 +439,9 @@ const de_ExportECSServiceRecommendationsCommandError = async (output, context) =
507
439
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
508
440
  default:
509
441
  const parsedBody = parsedOutput.body;
510
- throwDefaultError({
442
+ return throwDefaultError({
511
443
  output,
512
444
  parsedBody,
513
- exceptionCtor: __BaseException,
514
445
  errorCode,
515
446
  });
516
447
  }
@@ -521,12 +452,12 @@ export const de_ExportLambdaFunctionRecommendationsCommand = async (output, cont
521
452
  }
522
453
  const data = await parseBody(output.body, context);
523
454
  let contents = {};
524
- contents = de_ExportLambdaFunctionRecommendationsResponse(data, context);
455
+ contents = _json(data);
525
456
  const response = {
526
457
  $metadata: deserializeMetadata(output),
527
458
  ...contents,
528
459
  };
529
- return Promise.resolve(response);
460
+ return response;
530
461
  };
531
462
  const de_ExportLambdaFunctionRecommendationsCommandError = async (output, context) => {
532
463
  const parsedOutput = {
@@ -561,10 +492,9 @@ const de_ExportLambdaFunctionRecommendationsCommandError = async (output, contex
561
492
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
562
493
  default:
563
494
  const parsedBody = parsedOutput.body;
564
- throwDefaultError({
495
+ return throwDefaultError({
565
496
  output,
566
497
  parsedBody,
567
- exceptionCtor: __BaseException,
568
498
  errorCode,
569
499
  });
570
500
  }
@@ -580,7 +510,7 @@ export const de_GetAutoScalingGroupRecommendationsCommand = async (output, conte
580
510
  $metadata: deserializeMetadata(output),
581
511
  ...contents,
582
512
  };
583
- return Promise.resolve(response);
513
+ return response;
584
514
  };
585
515
  const de_GetAutoScalingGroupRecommendationsCommandError = async (output, context) => {
586
516
  const parsedOutput = {
@@ -615,10 +545,9 @@ const de_GetAutoScalingGroupRecommendationsCommandError = async (output, context
615
545
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
616
546
  default:
617
547
  const parsedBody = parsedOutput.body;
618
- throwDefaultError({
548
+ return throwDefaultError({
619
549
  output,
620
550
  parsedBody,
621
- exceptionCtor: __BaseException,
622
551
  errorCode,
623
552
  });
624
553
  }
@@ -634,7 +563,7 @@ export const de_GetEBSVolumeRecommendationsCommand = async (output, context) =>
634
563
  $metadata: deserializeMetadata(output),
635
564
  ...contents,
636
565
  };
637
- return Promise.resolve(response);
566
+ return response;
638
567
  };
639
568
  const de_GetEBSVolumeRecommendationsCommandError = async (output, context) => {
640
569
  const parsedOutput = {
@@ -669,10 +598,9 @@ const de_GetEBSVolumeRecommendationsCommandError = async (output, context) => {
669
598
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
670
599
  default:
671
600
  const parsedBody = parsedOutput.body;
672
- throwDefaultError({
601
+ return throwDefaultError({
673
602
  output,
674
603
  parsedBody,
675
- exceptionCtor: __BaseException,
676
604
  errorCode,
677
605
  });
678
606
  }
@@ -688,7 +616,7 @@ export const de_GetEC2InstanceRecommendationsCommand = async (output, context) =
688
616
  $metadata: deserializeMetadata(output),
689
617
  ...contents,
690
618
  };
691
- return Promise.resolve(response);
619
+ return response;
692
620
  };
693
621
  const de_GetEC2InstanceRecommendationsCommandError = async (output, context) => {
694
622
  const parsedOutput = {
@@ -723,10 +651,9 @@ const de_GetEC2InstanceRecommendationsCommandError = async (output, context) =>
723
651
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
724
652
  default:
725
653
  const parsedBody = parsedOutput.body;
726
- throwDefaultError({
654
+ return throwDefaultError({
727
655
  output,
728
656
  parsedBody,
729
- exceptionCtor: __BaseException,
730
657
  errorCode,
731
658
  });
732
659
  }
@@ -742,7 +669,7 @@ export const de_GetEC2RecommendationProjectedMetricsCommand = async (output, con
742
669
  $metadata: deserializeMetadata(output),
743
670
  ...contents,
744
671
  };
745
- return Promise.resolve(response);
672
+ return response;
746
673
  };
747
674
  const de_GetEC2RecommendationProjectedMetricsCommandError = async (output, context) => {
748
675
  const parsedOutput = {
@@ -777,10 +704,9 @@ const de_GetEC2RecommendationProjectedMetricsCommandError = async (output, conte
777
704
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
778
705
  default:
779
706
  const parsedBody = parsedOutput.body;
780
- throwDefaultError({
707
+ return throwDefaultError({
781
708
  output,
782
709
  parsedBody,
783
- exceptionCtor: __BaseException,
784
710
  errorCode,
785
711
  });
786
712
  }
@@ -796,7 +722,7 @@ export const de_GetECSServiceRecommendationProjectedMetricsCommand = async (outp
796
722
  $metadata: deserializeMetadata(output),
797
723
  ...contents,
798
724
  };
799
- return Promise.resolve(response);
725
+ return response;
800
726
  };
801
727
  const de_GetECSServiceRecommendationProjectedMetricsCommandError = async (output, context) => {
802
728
  const parsedOutput = {
@@ -831,10 +757,9 @@ const de_GetECSServiceRecommendationProjectedMetricsCommandError = async (output
831
757
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
832
758
  default:
833
759
  const parsedBody = parsedOutput.body;
834
- throwDefaultError({
760
+ return throwDefaultError({
835
761
  output,
836
762
  parsedBody,
837
- exceptionCtor: __BaseException,
838
763
  errorCode,
839
764
  });
840
765
  }
@@ -850,7 +775,7 @@ export const de_GetECSServiceRecommendationsCommand = async (output, context) =>
850
775
  $metadata: deserializeMetadata(output),
851
776
  ...contents,
852
777
  };
853
- return Promise.resolve(response);
778
+ return response;
854
779
  };
855
780
  const de_GetECSServiceRecommendationsCommandError = async (output, context) => {
856
781
  const parsedOutput = {
@@ -885,10 +810,9 @@ const de_GetECSServiceRecommendationsCommandError = async (output, context) => {
885
810
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
886
811
  default:
887
812
  const parsedBody = parsedOutput.body;
888
- throwDefaultError({
813
+ return throwDefaultError({
889
814
  output,
890
815
  parsedBody,
891
- exceptionCtor: __BaseException,
892
816
  errorCode,
893
817
  });
894
818
  }
@@ -899,12 +823,12 @@ export const de_GetEffectiveRecommendationPreferencesCommand = async (output, co
899
823
  }
900
824
  const data = await parseBody(output.body, context);
901
825
  let contents = {};
902
- contents = de_GetEffectiveRecommendationPreferencesResponse(data, context);
826
+ contents = _json(data);
903
827
  const response = {
904
828
  $metadata: deserializeMetadata(output),
905
829
  ...contents,
906
830
  };
907
- return Promise.resolve(response);
831
+ return response;
908
832
  };
909
833
  const de_GetEffectiveRecommendationPreferencesCommandError = async (output, context) => {
910
834
  const parsedOutput = {
@@ -939,10 +863,9 @@ const de_GetEffectiveRecommendationPreferencesCommandError = async (output, cont
939
863
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
940
864
  default:
941
865
  const parsedBody = parsedOutput.body;
942
- throwDefaultError({
866
+ return throwDefaultError({
943
867
  output,
944
868
  parsedBody,
945
- exceptionCtor: __BaseException,
946
869
  errorCode,
947
870
  });
948
871
  }
@@ -958,7 +881,7 @@ export const de_GetEnrollmentStatusCommand = async (output, context) => {
958
881
  $metadata: deserializeMetadata(output),
959
882
  ...contents,
960
883
  };
961
- return Promise.resolve(response);
884
+ return response;
962
885
  };
963
886
  const de_GetEnrollmentStatusCommandError = async (output, context) => {
964
887
  const parsedOutput = {
@@ -987,10 +910,9 @@ const de_GetEnrollmentStatusCommandError = async (output, context) => {
987
910
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
988
911
  default:
989
912
  const parsedBody = parsedOutput.body;
990
- throwDefaultError({
913
+ return throwDefaultError({
991
914
  output,
992
915
  parsedBody,
993
- exceptionCtor: __BaseException,
994
916
  errorCode,
995
917
  });
996
918
  }
@@ -1006,7 +928,7 @@ export const de_GetEnrollmentStatusesForOrganizationCommand = async (output, con
1006
928
  $metadata: deserializeMetadata(output),
1007
929
  ...contents,
1008
930
  };
1009
- return Promise.resolve(response);
931
+ return response;
1010
932
  };
1011
933
  const de_GetEnrollmentStatusesForOrganizationCommandError = async (output, context) => {
1012
934
  const parsedOutput = {
@@ -1035,10 +957,9 @@ const de_GetEnrollmentStatusesForOrganizationCommandError = async (output, conte
1035
957
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1036
958
  default:
1037
959
  const parsedBody = parsedOutput.body;
1038
- throwDefaultError({
960
+ return throwDefaultError({
1039
961
  output,
1040
962
  parsedBody,
1041
- exceptionCtor: __BaseException,
1042
963
  errorCode,
1043
964
  });
1044
965
  }
@@ -1054,7 +975,7 @@ export const de_GetLambdaFunctionRecommendationsCommand = async (output, context
1054
975
  $metadata: deserializeMetadata(output),
1055
976
  ...contents,
1056
977
  };
1057
- return Promise.resolve(response);
978
+ return response;
1058
979
  };
1059
980
  const de_GetLambdaFunctionRecommendationsCommandError = async (output, context) => {
1060
981
  const parsedOutput = {
@@ -1089,10 +1010,9 @@ const de_GetLambdaFunctionRecommendationsCommandError = async (output, context)
1089
1010
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1090
1011
  default:
1091
1012
  const parsedBody = parsedOutput.body;
1092
- throwDefaultError({
1013
+ return throwDefaultError({
1093
1014
  output,
1094
1015
  parsedBody,
1095
- exceptionCtor: __BaseException,
1096
1016
  errorCode,
1097
1017
  });
1098
1018
  }
@@ -1103,12 +1023,12 @@ export const de_GetRecommendationPreferencesCommand = async (output, context) =>
1103
1023
  }
1104
1024
  const data = await parseBody(output.body, context);
1105
1025
  let contents = {};
1106
- contents = de_GetRecommendationPreferencesResponse(data, context);
1026
+ contents = _json(data);
1107
1027
  const response = {
1108
1028
  $metadata: deserializeMetadata(output),
1109
1029
  ...contents,
1110
1030
  };
1111
- return Promise.resolve(response);
1031
+ return response;
1112
1032
  };
1113
1033
  const de_GetRecommendationPreferencesCommandError = async (output, context) => {
1114
1034
  const parsedOutput = {
@@ -1143,10 +1063,9 @@ const de_GetRecommendationPreferencesCommandError = async (output, context) => {
1143
1063
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1144
1064
  default:
1145
1065
  const parsedBody = parsedOutput.body;
1146
- throwDefaultError({
1066
+ return throwDefaultError({
1147
1067
  output,
1148
1068
  parsedBody,
1149
- exceptionCtor: __BaseException,
1150
1069
  errorCode,
1151
1070
  });
1152
1071
  }
@@ -1162,7 +1081,7 @@ export const de_GetRecommendationSummariesCommand = async (output, context) => {
1162
1081
  $metadata: deserializeMetadata(output),
1163
1082
  ...contents,
1164
1083
  };
1165
- return Promise.resolve(response);
1084
+ return response;
1166
1085
  };
1167
1086
  const de_GetRecommendationSummariesCommandError = async (output, context) => {
1168
1087
  const parsedOutput = {
@@ -1194,10 +1113,9 @@ const de_GetRecommendationSummariesCommandError = async (output, context) => {
1194
1113
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1195
1114
  default:
1196
1115
  const parsedBody = parsedOutput.body;
1197
- throwDefaultError({
1116
+ return throwDefaultError({
1198
1117
  output,
1199
1118
  parsedBody,
1200
- exceptionCtor: __BaseException,
1201
1119
  errorCode,
1202
1120
  });
1203
1121
  }
@@ -1208,12 +1126,12 @@ export const de_PutRecommendationPreferencesCommand = async (output, context) =>
1208
1126
  }
1209
1127
  const data = await parseBody(output.body, context);
1210
1128
  let contents = {};
1211
- contents = de_PutRecommendationPreferencesResponse(data, context);
1129
+ contents = _json(data);
1212
1130
  const response = {
1213
1131
  $metadata: deserializeMetadata(output),
1214
1132
  ...contents,
1215
1133
  };
1216
- return Promise.resolve(response);
1134
+ return response;
1217
1135
  };
1218
1136
  const de_PutRecommendationPreferencesCommandError = async (output, context) => {
1219
1137
  const parsedOutput = {
@@ -1248,10 +1166,9 @@ const de_PutRecommendationPreferencesCommandError = async (output, context) => {
1248
1166
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1249
1167
  default:
1250
1168
  const parsedBody = parsedOutput.body;
1251
- throwDefaultError({
1169
+ return throwDefaultError({
1252
1170
  output,
1253
1171
  parsedBody,
1254
- exceptionCtor: __BaseException,
1255
1172
  errorCode,
1256
1173
  });
1257
1174
  }
@@ -1262,12 +1179,12 @@ export const de_UpdateEnrollmentStatusCommand = async (output, context) => {
1262
1179
  }
1263
1180
  const data = await parseBody(output.body, context);
1264
1181
  let contents = {};
1265
- contents = de_UpdateEnrollmentStatusResponse(data, context);
1182
+ contents = _json(data);
1266
1183
  const response = {
1267
1184
  $metadata: deserializeMetadata(output),
1268
1185
  ...contents,
1269
1186
  };
1270
- return Promise.resolve(response);
1187
+ return response;
1271
1188
  };
1272
1189
  const de_UpdateEnrollmentStatusCommandError = async (output, context) => {
1273
1190
  const parsedOutput = {
@@ -1296,17 +1213,16 @@ const de_UpdateEnrollmentStatusCommandError = async (output, context) => {
1296
1213
  throw await de_ThrottlingExceptionRes(parsedOutput, context);
1297
1214
  default:
1298
1215
  const parsedBody = parsedOutput.body;
1299
- throwDefaultError({
1216
+ return throwDefaultError({
1300
1217
  output,
1301
1218
  parsedBody,
1302
- exceptionCtor: __BaseException,
1303
1219
  errorCode,
1304
1220
  });
1305
1221
  }
1306
1222
  };
1307
1223
  const de_AccessDeniedExceptionRes = async (parsedOutput, context) => {
1308
1224
  const body = parsedOutput.body;
1309
- const deserialized = de_AccessDeniedException(body, context);
1225
+ const deserialized = _json(body);
1310
1226
  const exception = new AccessDeniedException({
1311
1227
  $metadata: deserializeMetadata(parsedOutput),
1312
1228
  ...deserialized,
@@ -1315,7 +1231,7 @@ const de_AccessDeniedExceptionRes = async (parsedOutput, context) => {
1315
1231
  };
1316
1232
  const de_InternalServerExceptionRes = async (parsedOutput, context) => {
1317
1233
  const body = parsedOutput.body;
1318
- const deserialized = de_InternalServerException(body, context);
1234
+ const deserialized = _json(body);
1319
1235
  const exception = new InternalServerException({
1320
1236
  $metadata: deserializeMetadata(parsedOutput),
1321
1237
  ...deserialized,
@@ -1324,7 +1240,7 @@ const de_InternalServerExceptionRes = async (parsedOutput, context) => {
1324
1240
  };
1325
1241
  const de_InvalidParameterValueExceptionRes = async (parsedOutput, context) => {
1326
1242
  const body = parsedOutput.body;
1327
- const deserialized = de_InvalidParameterValueException(body, context);
1243
+ const deserialized = _json(body);
1328
1244
  const exception = new InvalidParameterValueException({
1329
1245
  $metadata: deserializeMetadata(parsedOutput),
1330
1246
  ...deserialized,
@@ -1333,7 +1249,7 @@ const de_InvalidParameterValueExceptionRes = async (parsedOutput, context) => {
1333
1249
  };
1334
1250
  const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
1335
1251
  const body = parsedOutput.body;
1336
- const deserialized = de_LimitExceededException(body, context);
1252
+ const deserialized = _json(body);
1337
1253
  const exception = new LimitExceededException({
1338
1254
  $metadata: deserializeMetadata(parsedOutput),
1339
1255
  ...deserialized,
@@ -1342,7 +1258,7 @@ const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
1342
1258
  };
1343
1259
  const de_MissingAuthenticationTokenRes = async (parsedOutput, context) => {
1344
1260
  const body = parsedOutput.body;
1345
- const deserialized = de_MissingAuthenticationToken(body, context);
1261
+ const deserialized = _json(body);
1346
1262
  const exception = new MissingAuthenticationToken({
1347
1263
  $metadata: deserializeMetadata(parsedOutput),
1348
1264
  ...deserialized,
@@ -1351,7 +1267,7 @@ const de_MissingAuthenticationTokenRes = async (parsedOutput, context) => {
1351
1267
  };
1352
1268
  const de_OptInRequiredExceptionRes = async (parsedOutput, context) => {
1353
1269
  const body = parsedOutput.body;
1354
- const deserialized = de_OptInRequiredException(body, context);
1270
+ const deserialized = _json(body);
1355
1271
  const exception = new OptInRequiredException({
1356
1272
  $metadata: deserializeMetadata(parsedOutput),
1357
1273
  ...deserialized,
@@ -1360,7 +1276,7 @@ const de_OptInRequiredExceptionRes = async (parsedOutput, context) => {
1360
1276
  };
1361
1277
  const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
1362
1278
  const body = parsedOutput.body;
1363
- const deserialized = de_ResourceNotFoundException(body, context);
1279
+ const deserialized = _json(body);
1364
1280
  const exception = new ResourceNotFoundException({
1365
1281
  $metadata: deserializeMetadata(parsedOutput),
1366
1282
  ...deserialized,
@@ -1369,7 +1285,7 @@ const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
1369
1285
  };
1370
1286
  const de_ServiceUnavailableExceptionRes = async (parsedOutput, context) => {
1371
1287
  const body = parsedOutput.body;
1372
- const deserialized = de_ServiceUnavailableException(body, context);
1288
+ const deserialized = _json(body);
1373
1289
  const exception = new ServiceUnavailableException({
1374
1290
  $metadata: deserializeMetadata(parsedOutput),
1375
1291
  ...deserialized,
@@ -1378,1183 +1294,411 @@ const de_ServiceUnavailableExceptionRes = async (parsedOutput, context) => {
1378
1294
  };
1379
1295
  const de_ThrottlingExceptionRes = async (parsedOutput, context) => {
1380
1296
  const body = parsedOutput.body;
1381
- const deserialized = de_ThrottlingException(body, context);
1297
+ const deserialized = _json(body);
1382
1298
  const exception = new ThrottlingException({
1383
1299
  $metadata: deserializeMetadata(parsedOutput),
1384
1300
  ...deserialized,
1385
1301
  });
1386
1302
  return __decorateServiceException(exception, body);
1387
1303
  };
1388
- const se_AccountIds = (input, context) => {
1389
- return input
1390
- .filter((e) => e != null)
1391
- .map((entry) => {
1392
- return entry;
1304
+ const se_GetEC2RecommendationProjectedMetricsRequest = (input, context) => {
1305
+ return take(input, {
1306
+ endTime: (_) => Math.round(_.getTime() / 1000),
1307
+ instanceArn: [],
1308
+ period: [],
1309
+ recommendationPreferences: _json,
1310
+ startTime: (_) => Math.round(_.getTime() / 1000),
1311
+ stat: [],
1393
1312
  });
1394
1313
  };
1395
- const se_AutoScalingGroupArns = (input, context) => {
1396
- return input
1397
- .filter((e) => e != null)
1398
- .map((entry) => {
1399
- return entry;
1314
+ const se_GetECSServiceRecommendationProjectedMetricsRequest = (input, context) => {
1315
+ return take(input, {
1316
+ endTime: (_) => Math.round(_.getTime() / 1000),
1317
+ period: [],
1318
+ serviceArn: [],
1319
+ startTime: (_) => Math.round(_.getTime() / 1000),
1320
+ stat: [],
1400
1321
  });
1401
1322
  };
1402
- const se_CpuVendorArchitectures = (input, context) => {
1403
- return input
1323
+ const de_AccountEnrollmentStatus = (output, context) => {
1324
+ return take(output, {
1325
+ accountId: __expectString,
1326
+ lastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1327
+ status: __expectString,
1328
+ statusReason: __expectString,
1329
+ });
1330
+ };
1331
+ const de_AccountEnrollmentStatuses = (output, context) => {
1332
+ const retVal = (output || [])
1404
1333
  .filter((e) => e != null)
1405
1334
  .map((entry) => {
1406
- return entry;
1335
+ return de_AccountEnrollmentStatus(entry, context);
1407
1336
  });
1337
+ return retVal;
1408
1338
  };
1409
- const se_DeleteRecommendationPreferencesRequest = (input, context) => {
1410
- return {
1411
- ...(input.recommendationPreferenceNames != null && {
1412
- recommendationPreferenceNames: se_RecommendationPreferenceNames(input.recommendationPreferenceNames, context),
1413
- }),
1414
- ...(input.resourceType != null && { resourceType: input.resourceType }),
1415
- ...(input.scope != null && { scope: se_Scope(input.scope, context) }),
1416
- };
1417
- };
1418
- const se_DescribeRecommendationExportJobsRequest = (input, context) => {
1419
- return {
1420
- ...(input.filters != null && { filters: se_JobFilters(input.filters, context) }),
1421
- ...(input.jobIds != null && { jobIds: se_JobIds(input.jobIds, context) }),
1422
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1423
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1424
- };
1339
+ const de_AutoScalingGroupRecommendation = (output, context) => {
1340
+ return take(output, {
1341
+ accountId: __expectString,
1342
+ autoScalingGroupArn: __expectString,
1343
+ autoScalingGroupName: __expectString,
1344
+ currentConfiguration: _json,
1345
+ currentPerformanceRisk: __expectString,
1346
+ effectiveRecommendationPreferences: _json,
1347
+ finding: __expectString,
1348
+ inferredWorkloadTypes: _json,
1349
+ lastRefreshTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1350
+ lookBackPeriodInDays: __limitedParseDouble,
1351
+ recommendationOptions: (_) => de_AutoScalingGroupRecommendationOptions(_, context),
1352
+ utilizationMetrics: (_) => de_UtilizationMetrics(_, context),
1353
+ });
1425
1354
  };
1426
- const se_EBSFilter = (input, context) => {
1427
- return {
1428
- ...(input.name != null && { name: input.name }),
1429
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1430
- };
1355
+ const de_AutoScalingGroupRecommendationOption = (output, context) => {
1356
+ return take(output, {
1357
+ configuration: _json,
1358
+ migrationEffort: __expectString,
1359
+ performanceRisk: __limitedParseDouble,
1360
+ projectedUtilizationMetrics: (_) => de_ProjectedUtilizationMetrics(_, context),
1361
+ rank: __expectInt32,
1362
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1363
+ });
1431
1364
  };
1432
- const se_EBSFilters = (input, context) => {
1433
- return input
1365
+ const de_AutoScalingGroupRecommendationOptions = (output, context) => {
1366
+ const retVal = (output || [])
1434
1367
  .filter((e) => e != null)
1435
1368
  .map((entry) => {
1436
- return se_EBSFilter(entry, context);
1369
+ return de_AutoScalingGroupRecommendationOption(entry, context);
1437
1370
  });
1371
+ return retVal;
1438
1372
  };
1439
- const se_ECSServiceRecommendationFilter = (input, context) => {
1440
- return {
1441
- ...(input.name != null && { name: input.name }),
1442
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1443
- };
1444
- };
1445
- const se_ECSServiceRecommendationFilters = (input, context) => {
1446
- return input
1373
+ const de_AutoScalingGroupRecommendations = (output, context) => {
1374
+ const retVal = (output || [])
1447
1375
  .filter((e) => e != null)
1448
1376
  .map((entry) => {
1449
- return se_ECSServiceRecommendationFilter(entry, context);
1377
+ return de_AutoScalingGroupRecommendation(entry, context);
1450
1378
  });
1379
+ return retVal;
1451
1380
  };
1452
- const se_EnrollmentFilter = (input, context) => {
1453
- return {
1454
- ...(input.name != null && { name: input.name }),
1455
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1456
- };
1381
+ const de_DescribeRecommendationExportJobsResponse = (output, context) => {
1382
+ return take(output, {
1383
+ nextToken: __expectString,
1384
+ recommendationExportJobs: (_) => de_RecommendationExportJobs(_, context),
1385
+ });
1457
1386
  };
1458
- const se_EnrollmentFilters = (input, context) => {
1459
- return input
1460
- .filter((e) => e != null)
1461
- .map((entry) => {
1462
- return se_EnrollmentFilter(entry, context);
1387
+ const de_EBSUtilizationMetric = (output, context) => {
1388
+ return take(output, {
1389
+ name: __expectString,
1390
+ statistic: __expectString,
1391
+ value: __limitedParseDouble,
1463
1392
  });
1464
1393
  };
1465
- const se_ExportableAutoScalingGroupFields = (input, context) => {
1466
- return input
1394
+ const de_EBSUtilizationMetrics = (output, context) => {
1395
+ const retVal = (output || [])
1467
1396
  .filter((e) => e != null)
1468
1397
  .map((entry) => {
1469
- return entry;
1398
+ return de_EBSUtilizationMetric(entry, context);
1470
1399
  });
1400
+ return retVal;
1471
1401
  };
1472
- const se_ExportableECSServiceFields = (input, context) => {
1473
- return input
1474
- .filter((e) => e != null)
1475
- .map((entry) => {
1476
- return entry;
1402
+ const de_ECSServiceProjectedMetric = (output, context) => {
1403
+ return take(output, {
1404
+ lowerBoundValues: (_) => de_MetricValues(_, context),
1405
+ name: __expectString,
1406
+ timestamps: (_) => de_Timestamps(_, context),
1407
+ upperBoundValues: (_) => de_MetricValues(_, context),
1477
1408
  });
1478
1409
  };
1479
- const se_ExportableInstanceFields = (input, context) => {
1480
- return input
1410
+ const de_ECSServiceProjectedMetrics = (output, context) => {
1411
+ const retVal = (output || [])
1481
1412
  .filter((e) => e != null)
1482
1413
  .map((entry) => {
1483
- return entry;
1414
+ return de_ECSServiceProjectedMetric(entry, context);
1484
1415
  });
1416
+ return retVal;
1485
1417
  };
1486
- const se_ExportableLambdaFunctionFields = (input, context) => {
1487
- return input
1488
- .filter((e) => e != null)
1489
- .map((entry) => {
1490
- return entry;
1418
+ const de_ECSServiceProjectedUtilizationMetric = (output, context) => {
1419
+ return take(output, {
1420
+ lowerBoundValue: __limitedParseDouble,
1421
+ name: __expectString,
1422
+ statistic: __expectString,
1423
+ upperBoundValue: __limitedParseDouble,
1491
1424
  });
1492
1425
  };
1493
- const se_ExportableVolumeFields = (input, context) => {
1494
- return input
1426
+ const de_ECSServiceProjectedUtilizationMetrics = (output, context) => {
1427
+ const retVal = (output || [])
1495
1428
  .filter((e) => e != null)
1496
1429
  .map((entry) => {
1497
- return entry;
1430
+ return de_ECSServiceProjectedUtilizationMetric(entry, context);
1498
1431
  });
1432
+ return retVal;
1499
1433
  };
1500
- const se_ExportAutoScalingGroupRecommendationsRequest = (input, context) => {
1501
- return {
1502
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1503
- ...(input.fieldsToExport != null && {
1504
- fieldsToExport: se_ExportableAutoScalingGroupFields(input.fieldsToExport, context),
1505
- }),
1506
- ...(input.fileFormat != null && { fileFormat: input.fileFormat }),
1507
- ...(input.filters != null && { filters: se_Filters(input.filters, context) }),
1508
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1509
- ...(input.recommendationPreferences != null && {
1510
- recommendationPreferences: se_RecommendationPreferences(input.recommendationPreferences, context),
1511
- }),
1512
- ...(input.s3DestinationConfig != null && {
1513
- s3DestinationConfig: se_S3DestinationConfig(input.s3DestinationConfig, context),
1514
- }),
1515
- };
1516
- };
1517
- const se_ExportEBSVolumeRecommendationsRequest = (input, context) => {
1518
- return {
1519
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1520
- ...(input.fieldsToExport != null && { fieldsToExport: se_ExportableVolumeFields(input.fieldsToExport, context) }),
1521
- ...(input.fileFormat != null && { fileFormat: input.fileFormat }),
1522
- ...(input.filters != null && { filters: se_EBSFilters(input.filters, context) }),
1523
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1524
- ...(input.s3DestinationConfig != null && {
1525
- s3DestinationConfig: se_S3DestinationConfig(input.s3DestinationConfig, context),
1526
- }),
1527
- };
1528
- };
1529
- const se_ExportEC2InstanceRecommendationsRequest = (input, context) => {
1530
- return {
1531
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1532
- ...(input.fieldsToExport != null && { fieldsToExport: se_ExportableInstanceFields(input.fieldsToExport, context) }),
1533
- ...(input.fileFormat != null && { fileFormat: input.fileFormat }),
1534
- ...(input.filters != null && { filters: se_Filters(input.filters, context) }),
1535
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1536
- ...(input.recommendationPreferences != null && {
1537
- recommendationPreferences: se_RecommendationPreferences(input.recommendationPreferences, context),
1538
- }),
1539
- ...(input.s3DestinationConfig != null && {
1540
- s3DestinationConfig: se_S3DestinationConfig(input.s3DestinationConfig, context),
1541
- }),
1542
- };
1543
- };
1544
- const se_ExportECSServiceRecommendationsRequest = (input, context) => {
1545
- return {
1546
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1547
- ...(input.fieldsToExport != null && {
1548
- fieldsToExport: se_ExportableECSServiceFields(input.fieldsToExport, context),
1549
- }),
1550
- ...(input.fileFormat != null && { fileFormat: input.fileFormat }),
1551
- ...(input.filters != null && { filters: se_ECSServiceRecommendationFilters(input.filters, context) }),
1552
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1553
- ...(input.s3DestinationConfig != null && {
1554
- s3DestinationConfig: se_S3DestinationConfig(input.s3DestinationConfig, context),
1555
- }),
1556
- };
1557
- };
1558
- const se_ExportLambdaFunctionRecommendationsRequest = (input, context) => {
1559
- return {
1560
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1561
- ...(input.fieldsToExport != null && {
1562
- fieldsToExport: se_ExportableLambdaFunctionFields(input.fieldsToExport, context),
1563
- }),
1564
- ...(input.fileFormat != null && { fileFormat: input.fileFormat }),
1565
- ...(input.filters != null && { filters: se_LambdaFunctionRecommendationFilters(input.filters, context) }),
1566
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1567
- ...(input.s3DestinationConfig != null && {
1568
- s3DestinationConfig: se_S3DestinationConfig(input.s3DestinationConfig, context),
1569
- }),
1570
- };
1571
- };
1572
- const se_ExternalMetricsPreference = (input, context) => {
1573
- return {
1574
- ...(input.source != null && { source: input.source }),
1575
- };
1434
+ const de_ECSServiceRecommendation = (output, context) => {
1435
+ return take(output, {
1436
+ accountId: __expectString,
1437
+ currentPerformanceRisk: __expectString,
1438
+ currentServiceConfiguration: _json,
1439
+ finding: __expectString,
1440
+ findingReasonCodes: _json,
1441
+ lastRefreshTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1442
+ launchType: __expectString,
1443
+ lookbackPeriodInDays: __limitedParseDouble,
1444
+ serviceArn: __expectString,
1445
+ serviceRecommendationOptions: (_) => de_ECSServiceRecommendationOptions(_, context),
1446
+ utilizationMetrics: (_) => de_ECSServiceUtilizationMetrics(_, context),
1447
+ });
1576
1448
  };
1577
- const se_Filter = (input, context) => {
1578
- return {
1579
- ...(input.name != null && { name: input.name }),
1580
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1581
- };
1449
+ const de_ECSServiceRecommendationOption = (output, context) => {
1450
+ return take(output, {
1451
+ containerRecommendations: _json,
1452
+ cpu: __expectInt32,
1453
+ memory: __expectInt32,
1454
+ projectedUtilizationMetrics: (_) => de_ECSServiceProjectedUtilizationMetrics(_, context),
1455
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1456
+ });
1582
1457
  };
1583
- const se_Filters = (input, context) => {
1584
- return input
1458
+ const de_ECSServiceRecommendationOptions = (output, context) => {
1459
+ const retVal = (output || [])
1585
1460
  .filter((e) => e != null)
1586
1461
  .map((entry) => {
1587
- return se_Filter(entry, context);
1462
+ return de_ECSServiceRecommendationOption(entry, context);
1588
1463
  });
1464
+ return retVal;
1589
1465
  };
1590
- const se_FilterValues = (input, context) => {
1591
- return input
1466
+ const de_ECSServiceRecommendations = (output, context) => {
1467
+ const retVal = (output || [])
1592
1468
  .filter((e) => e != null)
1593
1469
  .map((entry) => {
1594
- return entry;
1470
+ return de_ECSServiceRecommendation(entry, context);
1471
+ });
1472
+ return retVal;
1473
+ };
1474
+ const de_ECSServiceRecommendedOptionProjectedMetric = (output, context) => {
1475
+ return take(output, {
1476
+ projectedMetrics: (_) => de_ECSServiceProjectedMetrics(_, context),
1477
+ recommendedCpuUnits: __expectInt32,
1478
+ recommendedMemorySize: __expectInt32,
1595
1479
  });
1596
1480
  };
1597
- const se_FunctionArns = (input, context) => {
1598
- return input
1481
+ const de_ECSServiceRecommendedOptionProjectedMetrics = (output, context) => {
1482
+ const retVal = (output || [])
1599
1483
  .filter((e) => e != null)
1600
1484
  .map((entry) => {
1601
- return entry;
1485
+ return de_ECSServiceRecommendedOptionProjectedMetric(entry, context);
1602
1486
  });
1487
+ return retVal;
1603
1488
  };
1604
- const se_GetAutoScalingGroupRecommendationsRequest = (input, context) => {
1605
- return {
1606
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1607
- ...(input.autoScalingGroupArns != null && {
1608
- autoScalingGroupArns: se_AutoScalingGroupArns(input.autoScalingGroupArns, context),
1609
- }),
1610
- ...(input.filters != null && { filters: se_Filters(input.filters, context) }),
1611
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1612
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1613
- ...(input.recommendationPreferences != null && {
1614
- recommendationPreferences: se_RecommendationPreferences(input.recommendationPreferences, context),
1615
- }),
1616
- };
1617
- };
1618
- const se_GetEBSVolumeRecommendationsRequest = (input, context) => {
1619
- return {
1620
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1621
- ...(input.filters != null && { filters: se_EBSFilters(input.filters, context) }),
1622
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1623
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1624
- ...(input.volumeArns != null && { volumeArns: se_VolumeArns(input.volumeArns, context) }),
1625
- };
1626
- };
1627
- const se_GetEC2InstanceRecommendationsRequest = (input, context) => {
1628
- return {
1629
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1630
- ...(input.filters != null && { filters: se_Filters(input.filters, context) }),
1631
- ...(input.instanceArns != null && { instanceArns: se_InstanceArns(input.instanceArns, context) }),
1632
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1633
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1634
- ...(input.recommendationPreferences != null && {
1635
- recommendationPreferences: se_RecommendationPreferences(input.recommendationPreferences, context),
1636
- }),
1637
- };
1489
+ const de_ECSServiceUtilizationMetric = (output, context) => {
1490
+ return take(output, {
1491
+ name: __expectString,
1492
+ statistic: __expectString,
1493
+ value: __limitedParseDouble,
1494
+ });
1638
1495
  };
1639
- const se_GetEC2RecommendationProjectedMetricsRequest = (input, context) => {
1640
- return {
1641
- ...(input.endTime != null && { endTime: Math.round(input.endTime.getTime() / 1000) }),
1642
- ...(input.instanceArn != null && { instanceArn: input.instanceArn }),
1643
- ...(input.period != null && { period: input.period }),
1644
- ...(input.recommendationPreferences != null && {
1645
- recommendationPreferences: se_RecommendationPreferences(input.recommendationPreferences, context),
1646
- }),
1647
- ...(input.startTime != null && { startTime: Math.round(input.startTime.getTime() / 1000) }),
1648
- ...(input.stat != null && { stat: input.stat }),
1649
- };
1496
+ const de_ECSServiceUtilizationMetrics = (output, context) => {
1497
+ const retVal = (output || [])
1498
+ .filter((e) => e != null)
1499
+ .map((entry) => {
1500
+ return de_ECSServiceUtilizationMetric(entry, context);
1501
+ });
1502
+ return retVal;
1650
1503
  };
1651
- const se_GetECSServiceRecommendationProjectedMetricsRequest = (input, context) => {
1652
- return {
1653
- ...(input.endTime != null && { endTime: Math.round(input.endTime.getTime() / 1000) }),
1654
- ...(input.period != null && { period: input.period }),
1655
- ...(input.serviceArn != null && { serviceArn: input.serviceArn }),
1656
- ...(input.startTime != null && { startTime: Math.round(input.startTime.getTime() / 1000) }),
1657
- ...(input.stat != null && { stat: input.stat }),
1658
- };
1504
+ const de_EstimatedMonthlySavings = (output, context) => {
1505
+ return take(output, {
1506
+ currency: __expectString,
1507
+ value: __limitedParseDouble,
1508
+ });
1659
1509
  };
1660
- const se_GetECSServiceRecommendationsRequest = (input, context) => {
1661
- return {
1662
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1663
- ...(input.filters != null && { filters: se_ECSServiceRecommendationFilters(input.filters, context) }),
1664
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1665
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1666
- ...(input.serviceArns != null && { serviceArns: se_ServiceArns(input.serviceArns, context) }),
1667
- };
1510
+ const de_GetAutoScalingGroupRecommendationsResponse = (output, context) => {
1511
+ return take(output, {
1512
+ autoScalingGroupRecommendations: (_) => de_AutoScalingGroupRecommendations(_, context),
1513
+ errors: _json,
1514
+ nextToken: __expectString,
1515
+ });
1668
1516
  };
1669
- const se_GetEffectiveRecommendationPreferencesRequest = (input, context) => {
1670
- return {
1671
- ...(input.resourceArn != null && { resourceArn: input.resourceArn }),
1672
- };
1517
+ const de_GetEBSVolumeRecommendationsResponse = (output, context) => {
1518
+ return take(output, {
1519
+ errors: _json,
1520
+ nextToken: __expectString,
1521
+ volumeRecommendations: (_) => de_VolumeRecommendations(_, context),
1522
+ });
1673
1523
  };
1674
- const se_GetEnrollmentStatusesForOrganizationRequest = (input, context) => {
1675
- return {
1676
- ...(input.filters != null && { filters: se_EnrollmentFilters(input.filters, context) }),
1677
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1678
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1679
- };
1524
+ const de_GetEC2InstanceRecommendationsResponse = (output, context) => {
1525
+ return take(output, {
1526
+ errors: _json,
1527
+ instanceRecommendations: (_) => de_InstanceRecommendations(_, context),
1528
+ nextToken: __expectString,
1529
+ });
1680
1530
  };
1681
- const se_GetEnrollmentStatusRequest = (input, context) => {
1682
- return {};
1531
+ const de_GetEC2RecommendationProjectedMetricsResponse = (output, context) => {
1532
+ return take(output, {
1533
+ recommendedOptionProjectedMetrics: (_) => de_RecommendedOptionProjectedMetrics(_, context),
1534
+ });
1683
1535
  };
1684
- const se_GetLambdaFunctionRecommendationsRequest = (input, context) => {
1685
- return {
1686
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1687
- ...(input.filters != null && { filters: se_LambdaFunctionRecommendationFilters(input.filters, context) }),
1688
- ...(input.functionArns != null && { functionArns: se_FunctionArns(input.functionArns, context) }),
1689
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1690
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1691
- };
1536
+ const de_GetECSServiceRecommendationProjectedMetricsResponse = (output, context) => {
1537
+ return take(output, {
1538
+ recommendedOptionProjectedMetrics: (_) => de_ECSServiceRecommendedOptionProjectedMetrics(_, context),
1539
+ });
1692
1540
  };
1693
- const se_GetRecommendationPreferencesRequest = (input, context) => {
1694
- return {
1695
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1696
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1697
- ...(input.resourceType != null && { resourceType: input.resourceType }),
1698
- ...(input.scope != null && { scope: se_Scope(input.scope, context) }),
1699
- };
1541
+ const de_GetECSServiceRecommendationsResponse = (output, context) => {
1542
+ return take(output, {
1543
+ ecsServiceRecommendations: (_) => de_ECSServiceRecommendations(_, context),
1544
+ errors: _json,
1545
+ nextToken: __expectString,
1546
+ });
1700
1547
  };
1701
- const se_GetRecommendationSummariesRequest = (input, context) => {
1702
- return {
1703
- ...(input.accountIds != null && { accountIds: se_AccountIds(input.accountIds, context) }),
1704
- ...(input.maxResults != null && { maxResults: input.maxResults }),
1705
- ...(input.nextToken != null && { nextToken: input.nextToken }),
1706
- };
1548
+ const de_GetEnrollmentStatusesForOrganizationResponse = (output, context) => {
1549
+ return take(output, {
1550
+ accountEnrollmentStatuses: (_) => de_AccountEnrollmentStatuses(_, context),
1551
+ nextToken: __expectString,
1552
+ });
1707
1553
  };
1708
- const se_InstanceArns = (input, context) => {
1709
- return input
1710
- .filter((e) => e != null)
1711
- .map((entry) => {
1712
- return entry;
1554
+ const de_GetEnrollmentStatusResponse = (output, context) => {
1555
+ return take(output, {
1556
+ lastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1557
+ memberAccountsEnrolled: __expectBoolean,
1558
+ numberOfMemberAccountsOptedIn: __expectInt32,
1559
+ status: __expectString,
1560
+ statusReason: __expectString,
1713
1561
  });
1714
1562
  };
1715
- const se_JobFilter = (input, context) => {
1716
- return {
1717
- ...(input.name != null && { name: input.name }),
1718
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1719
- };
1563
+ const de_GetLambdaFunctionRecommendationsResponse = (output, context) => {
1564
+ return take(output, {
1565
+ lambdaFunctionRecommendations: (_) => de_LambdaFunctionRecommendations(_, context),
1566
+ nextToken: __expectString,
1567
+ });
1720
1568
  };
1721
- const se_JobFilters = (input, context) => {
1722
- return input
1723
- .filter((e) => e != null)
1724
- .map((entry) => {
1725
- return se_JobFilter(entry, context);
1569
+ const de_GetRecommendationSummariesResponse = (output, context) => {
1570
+ return take(output, {
1571
+ nextToken: __expectString,
1572
+ recommendationSummaries: (_) => de_RecommendationSummaries(_, context),
1726
1573
  });
1727
1574
  };
1728
- const se_JobIds = (input, context) => {
1729
- return input
1730
- .filter((e) => e != null)
1731
- .map((entry) => {
1732
- return entry;
1575
+ const de_InstanceRecommendation = (output, context) => {
1576
+ return take(output, {
1577
+ accountId: __expectString,
1578
+ currentInstanceType: __expectString,
1579
+ currentPerformanceRisk: __expectString,
1580
+ effectiveRecommendationPreferences: _json,
1581
+ finding: __expectString,
1582
+ findingReasonCodes: _json,
1583
+ inferredWorkloadTypes: _json,
1584
+ instanceArn: __expectString,
1585
+ instanceName: __expectString,
1586
+ instanceState: __expectString,
1587
+ lastRefreshTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1588
+ lookBackPeriodInDays: __limitedParseDouble,
1589
+ recommendationOptions: (_) => de_RecommendationOptions(_, context),
1590
+ recommendationSources: _json,
1591
+ utilizationMetrics: (_) => de_UtilizationMetrics(_, context),
1733
1592
  });
1734
1593
  };
1735
- const se_LambdaFunctionRecommendationFilter = (input, context) => {
1736
- return {
1737
- ...(input.name != null && { name: input.name }),
1738
- ...(input.values != null && { values: se_FilterValues(input.values, context) }),
1739
- };
1594
+ const de_InstanceRecommendationOption = (output, context) => {
1595
+ return take(output, {
1596
+ instanceType: __expectString,
1597
+ migrationEffort: __expectString,
1598
+ performanceRisk: __limitedParseDouble,
1599
+ platformDifferences: _json,
1600
+ projectedUtilizationMetrics: (_) => de_ProjectedUtilizationMetrics(_, context),
1601
+ rank: __expectInt32,
1602
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1603
+ });
1740
1604
  };
1741
- const se_LambdaFunctionRecommendationFilters = (input, context) => {
1742
- return input
1605
+ const de_InstanceRecommendations = (output, context) => {
1606
+ const retVal = (output || [])
1743
1607
  .filter((e) => e != null)
1744
1608
  .map((entry) => {
1745
- return se_LambdaFunctionRecommendationFilter(entry, context);
1609
+ return de_InstanceRecommendation(entry, context);
1746
1610
  });
1611
+ return retVal;
1747
1612
  };
1748
- const se_PutRecommendationPreferencesRequest = (input, context) => {
1749
- return {
1750
- ...(input.enhancedInfrastructureMetrics != null && {
1751
- enhancedInfrastructureMetrics: input.enhancedInfrastructureMetrics,
1752
- }),
1753
- ...(input.externalMetricsPreference != null && {
1754
- externalMetricsPreference: se_ExternalMetricsPreference(input.externalMetricsPreference, context),
1755
- }),
1756
- ...(input.inferredWorkloadTypes != null && { inferredWorkloadTypes: input.inferredWorkloadTypes }),
1757
- ...(input.resourceType != null && { resourceType: input.resourceType }),
1758
- ...(input.scope != null && { scope: se_Scope(input.scope, context) }),
1759
- };
1613
+ const de_LambdaFunctionMemoryProjectedMetric = (output, context) => {
1614
+ return take(output, {
1615
+ name: __expectString,
1616
+ statistic: __expectString,
1617
+ value: __limitedParseDouble,
1618
+ });
1760
1619
  };
1761
- const se_RecommendationPreferenceNames = (input, context) => {
1762
- return input
1620
+ const de_LambdaFunctionMemoryProjectedMetrics = (output, context) => {
1621
+ const retVal = (output || [])
1763
1622
  .filter((e) => e != null)
1764
1623
  .map((entry) => {
1765
- return entry;
1624
+ return de_LambdaFunctionMemoryProjectedMetric(entry, context);
1766
1625
  });
1626
+ return retVal;
1767
1627
  };
1768
- const se_RecommendationPreferences = (input, context) => {
1769
- return {
1770
- ...(input.cpuVendorArchitectures != null && {
1771
- cpuVendorArchitectures: se_CpuVendorArchitectures(input.cpuVendorArchitectures, context),
1772
- }),
1773
- };
1774
- };
1775
- const se_S3DestinationConfig = (input, context) => {
1776
- return {
1777
- ...(input.bucket != null && { bucket: input.bucket }),
1778
- ...(input.keyPrefix != null && { keyPrefix: input.keyPrefix }),
1779
- };
1780
- };
1781
- const se_Scope = (input, context) => {
1782
- return {
1783
- ...(input.name != null && { name: input.name }),
1784
- ...(input.value != null && { value: input.value }),
1785
- };
1628
+ const de_LambdaFunctionMemoryRecommendationOption = (output, context) => {
1629
+ return take(output, {
1630
+ memorySize: __expectInt32,
1631
+ projectedUtilizationMetrics: (_) => de_LambdaFunctionMemoryProjectedMetrics(_, context),
1632
+ rank: __expectInt32,
1633
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1634
+ });
1786
1635
  };
1787
- const se_ServiceArns = (input, context) => {
1788
- return input
1636
+ const de_LambdaFunctionMemoryRecommendationOptions = (output, context) => {
1637
+ const retVal = (output || [])
1789
1638
  .filter((e) => e != null)
1790
1639
  .map((entry) => {
1791
- return entry;
1640
+ return de_LambdaFunctionMemoryRecommendationOption(entry, context);
1792
1641
  });
1642
+ return retVal;
1793
1643
  };
1794
- const se_UpdateEnrollmentStatusRequest = (input, context) => {
1795
- return {
1796
- ...(input.includeMemberAccounts != null && { includeMemberAccounts: input.includeMemberAccounts }),
1797
- ...(input.status != null && { status: input.status }),
1798
- };
1644
+ const de_LambdaFunctionRecommendation = (output, context) => {
1645
+ return take(output, {
1646
+ accountId: __expectString,
1647
+ currentMemorySize: __expectInt32,
1648
+ currentPerformanceRisk: __expectString,
1649
+ finding: __expectString,
1650
+ findingReasonCodes: _json,
1651
+ functionArn: __expectString,
1652
+ functionVersion: __expectString,
1653
+ lastRefreshTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1654
+ lookbackPeriodInDays: __limitedParseDouble,
1655
+ memorySizeRecommendationOptions: (_) => de_LambdaFunctionMemoryRecommendationOptions(_, context),
1656
+ numberOfInvocations: __expectLong,
1657
+ utilizationMetrics: (_) => de_LambdaFunctionUtilizationMetrics(_, context),
1658
+ });
1799
1659
  };
1800
- const se_VolumeArns = (input, context) => {
1801
- return input
1660
+ const de_LambdaFunctionRecommendations = (output, context) => {
1661
+ const retVal = (output || [])
1802
1662
  .filter((e) => e != null)
1803
1663
  .map((entry) => {
1804
- return entry;
1664
+ return de_LambdaFunctionRecommendation(entry, context);
1805
1665
  });
1666
+ return retVal;
1806
1667
  };
1807
- const de_AccessDeniedException = (output, context) => {
1808
- return {
1809
- message: __expectString(output.message),
1810
- };
1811
- };
1812
- const de_AccountEnrollmentStatus = (output, context) => {
1813
- return {
1814
- accountId: __expectString(output.accountId),
1815
- lastUpdatedTimestamp: output.lastUpdatedTimestamp != null
1816
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedTimestamp)))
1817
- : undefined,
1818
- status: __expectString(output.status),
1819
- statusReason: __expectString(output.statusReason),
1820
- };
1668
+ const de_LambdaFunctionUtilizationMetric = (output, context) => {
1669
+ return take(output, {
1670
+ name: __expectString,
1671
+ statistic: __expectString,
1672
+ value: __limitedParseDouble,
1673
+ });
1821
1674
  };
1822
- const de_AccountEnrollmentStatuses = (output, context) => {
1675
+ const de_LambdaFunctionUtilizationMetrics = (output, context) => {
1823
1676
  const retVal = (output || [])
1824
1677
  .filter((e) => e != null)
1825
1678
  .map((entry) => {
1826
- if (entry === null) {
1827
- return null;
1828
- }
1829
- return de_AccountEnrollmentStatus(entry, context);
1679
+ return de_LambdaFunctionUtilizationMetric(entry, context);
1830
1680
  });
1831
1681
  return retVal;
1832
1682
  };
1833
- const de_AutoScalingGroupConfiguration = (output, context) => {
1834
- return {
1835
- desiredCapacity: __expectInt32(output.desiredCapacity),
1836
- instanceType: __expectString(output.instanceType),
1837
- maxSize: __expectInt32(output.maxSize),
1838
- minSize: __expectInt32(output.minSize),
1839
- };
1840
- };
1841
- const de_AutoScalingGroupRecommendation = (output, context) => {
1842
- return {
1843
- accountId: __expectString(output.accountId),
1844
- autoScalingGroupArn: __expectString(output.autoScalingGroupArn),
1845
- autoScalingGroupName: __expectString(output.autoScalingGroupName),
1846
- currentConfiguration: output.currentConfiguration != null
1847
- ? de_AutoScalingGroupConfiguration(output.currentConfiguration, context)
1848
- : undefined,
1849
- currentPerformanceRisk: __expectString(output.currentPerformanceRisk),
1850
- effectiveRecommendationPreferences: output.effectiveRecommendationPreferences != null
1851
- ? de_EffectiveRecommendationPreferences(output.effectiveRecommendationPreferences, context)
1852
- : undefined,
1853
- finding: __expectString(output.finding),
1854
- inferredWorkloadTypes: output.inferredWorkloadTypes != null
1855
- ? de_InferredWorkloadTypes(output.inferredWorkloadTypes, context)
1856
- : undefined,
1857
- lastRefreshTimestamp: output.lastRefreshTimestamp != null
1858
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp)))
1859
- : undefined,
1860
- lookBackPeriodInDays: __limitedParseDouble(output.lookBackPeriodInDays),
1861
- recommendationOptions: output.recommendationOptions != null
1862
- ? de_AutoScalingGroupRecommendationOptions(output.recommendationOptions, context)
1863
- : undefined,
1864
- utilizationMetrics: output.utilizationMetrics != null ? de_UtilizationMetrics(output.utilizationMetrics, context) : undefined,
1865
- };
1866
- };
1867
- const de_AutoScalingGroupRecommendationOption = (output, context) => {
1868
- return {
1869
- configuration: output.configuration != null ? de_AutoScalingGroupConfiguration(output.configuration, context) : undefined,
1870
- migrationEffort: __expectString(output.migrationEffort),
1871
- performanceRisk: __limitedParseDouble(output.performanceRisk),
1872
- projectedUtilizationMetrics: output.projectedUtilizationMetrics != null
1873
- ? de_ProjectedUtilizationMetrics(output.projectedUtilizationMetrics, context)
1874
- : undefined,
1875
- rank: __expectInt32(output.rank),
1876
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
1877
- };
1878
- };
1879
- const de_AutoScalingGroupRecommendationOptions = (output, context) => {
1880
- const retVal = (output || [])
1881
- .filter((e) => e != null)
1882
- .map((entry) => {
1883
- if (entry === null) {
1884
- return null;
1885
- }
1886
- return de_AutoScalingGroupRecommendationOption(entry, context);
1887
- });
1888
- return retVal;
1889
- };
1890
- const de_AutoScalingGroupRecommendations = (output, context) => {
1891
- const retVal = (output || [])
1892
- .filter((e) => e != null)
1893
- .map((entry) => {
1894
- if (entry === null) {
1895
- return null;
1896
- }
1897
- return de_AutoScalingGroupRecommendation(entry, context);
1898
- });
1899
- return retVal;
1900
- };
1901
- const de_ContainerConfiguration = (output, context) => {
1902
- return {
1903
- containerName: __expectString(output.containerName),
1904
- cpu: __expectInt32(output.cpu),
1905
- memorySizeConfiguration: output.memorySizeConfiguration != null
1906
- ? de_MemorySizeConfiguration(output.memorySizeConfiguration, context)
1907
- : undefined,
1908
- };
1909
- };
1910
- const de_ContainerConfigurations = (output, context) => {
1911
- const retVal = (output || [])
1912
- .filter((e) => e != null)
1913
- .map((entry) => {
1914
- if (entry === null) {
1915
- return null;
1916
- }
1917
- return de_ContainerConfiguration(entry, context);
1918
- });
1919
- return retVal;
1920
- };
1921
- const de_ContainerRecommendation = (output, context) => {
1922
- return {
1923
- containerName: __expectString(output.containerName),
1924
- cpu: __expectInt32(output.cpu),
1925
- memorySizeConfiguration: output.memorySizeConfiguration != null
1926
- ? de_MemorySizeConfiguration(output.memorySizeConfiguration, context)
1927
- : undefined,
1928
- };
1929
- };
1930
- const de_ContainerRecommendations = (output, context) => {
1931
- const retVal = (output || [])
1932
- .filter((e) => e != null)
1933
- .map((entry) => {
1934
- if (entry === null) {
1935
- return null;
1936
- }
1937
- return de_ContainerRecommendation(entry, context);
1938
- });
1939
- return retVal;
1940
- };
1941
- const de_CpuVendorArchitectures = (output, context) => {
1942
- const retVal = (output || [])
1943
- .filter((e) => e != null)
1944
- .map((entry) => {
1945
- if (entry === null) {
1946
- return null;
1947
- }
1948
- return __expectString(entry);
1949
- });
1950
- return retVal;
1951
- };
1952
- const de_CurrentPerformanceRiskRatings = (output, context) => {
1953
- return {
1954
- high: __expectLong(output.high),
1955
- low: __expectLong(output.low),
1956
- medium: __expectLong(output.medium),
1957
- veryLow: __expectLong(output.veryLow),
1958
- };
1959
- };
1960
- const de_DeleteRecommendationPreferencesResponse = (output, context) => {
1961
- return {};
1962
- };
1963
- const de_DescribeRecommendationExportJobsResponse = (output, context) => {
1964
- return {
1965
- nextToken: __expectString(output.nextToken),
1966
- recommendationExportJobs: output.recommendationExportJobs != null
1967
- ? de_RecommendationExportJobs(output.recommendationExportJobs, context)
1968
- : undefined,
1969
- };
1970
- };
1971
- const de_EBSUtilizationMetric = (output, context) => {
1972
- return {
1973
- name: __expectString(output.name),
1974
- statistic: __expectString(output.statistic),
1975
- value: __limitedParseDouble(output.value),
1976
- };
1977
- };
1978
- const de_EBSUtilizationMetrics = (output, context) => {
1979
- const retVal = (output || [])
1980
- .filter((e) => e != null)
1981
- .map((entry) => {
1982
- if (entry === null) {
1983
- return null;
1984
- }
1985
- return de_EBSUtilizationMetric(entry, context);
1986
- });
1987
- return retVal;
1988
- };
1989
- const de_ECSServiceProjectedMetric = (output, context) => {
1990
- return {
1991
- lowerBoundValues: output.lowerBoundValues != null ? de_MetricValues(output.lowerBoundValues, context) : undefined,
1992
- name: __expectString(output.name),
1993
- timestamps: output.timestamps != null ? de_Timestamps(output.timestamps, context) : undefined,
1994
- upperBoundValues: output.upperBoundValues != null ? de_MetricValues(output.upperBoundValues, context) : undefined,
1995
- };
1996
- };
1997
- const de_ECSServiceProjectedMetrics = (output, context) => {
1998
- const retVal = (output || [])
1999
- .filter((e) => e != null)
2000
- .map((entry) => {
2001
- if (entry === null) {
2002
- return null;
2003
- }
2004
- return de_ECSServiceProjectedMetric(entry, context);
2005
- });
2006
- return retVal;
2007
- };
2008
- const de_ECSServiceProjectedUtilizationMetric = (output, context) => {
2009
- return {
2010
- lowerBoundValue: __limitedParseDouble(output.lowerBoundValue),
2011
- name: __expectString(output.name),
2012
- statistic: __expectString(output.statistic),
2013
- upperBoundValue: __limitedParseDouble(output.upperBoundValue),
2014
- };
2015
- };
2016
- const de_ECSServiceProjectedUtilizationMetrics = (output, context) => {
2017
- const retVal = (output || [])
2018
- .filter((e) => e != null)
2019
- .map((entry) => {
2020
- if (entry === null) {
2021
- return null;
2022
- }
2023
- return de_ECSServiceProjectedUtilizationMetric(entry, context);
2024
- });
2025
- return retVal;
2026
- };
2027
- const de_ECSServiceRecommendation = (output, context) => {
2028
- return {
2029
- accountId: __expectString(output.accountId),
2030
- currentPerformanceRisk: __expectString(output.currentPerformanceRisk),
2031
- currentServiceConfiguration: output.currentServiceConfiguration != null
2032
- ? de_ServiceConfiguration(output.currentServiceConfiguration, context)
2033
- : undefined,
2034
- finding: __expectString(output.finding),
2035
- findingReasonCodes: output.findingReasonCodes != null
2036
- ? de_ECSServiceRecommendationFindingReasonCodes(output.findingReasonCodes, context)
2037
- : undefined,
2038
- lastRefreshTimestamp: output.lastRefreshTimestamp != null
2039
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp)))
2040
- : undefined,
2041
- launchType: __expectString(output.launchType),
2042
- lookbackPeriodInDays: __limitedParseDouble(output.lookbackPeriodInDays),
2043
- serviceArn: __expectString(output.serviceArn),
2044
- serviceRecommendationOptions: output.serviceRecommendationOptions != null
2045
- ? de_ECSServiceRecommendationOptions(output.serviceRecommendationOptions, context)
2046
- : undefined,
2047
- utilizationMetrics: output.utilizationMetrics != null
2048
- ? de_ECSServiceUtilizationMetrics(output.utilizationMetrics, context)
2049
- : undefined,
2050
- };
2051
- };
2052
- const de_ECSServiceRecommendationFindingReasonCodes = (output, context) => {
2053
- const retVal = (output || [])
2054
- .filter((e) => e != null)
2055
- .map((entry) => {
2056
- if (entry === null) {
2057
- return null;
2058
- }
2059
- return __expectString(entry);
2060
- });
2061
- return retVal;
2062
- };
2063
- const de_ECSServiceRecommendationOption = (output, context) => {
2064
- return {
2065
- containerRecommendations: output.containerRecommendations != null
2066
- ? de_ContainerRecommendations(output.containerRecommendations, context)
2067
- : undefined,
2068
- cpu: __expectInt32(output.cpu),
2069
- memory: __expectInt32(output.memory),
2070
- projectedUtilizationMetrics: output.projectedUtilizationMetrics != null
2071
- ? de_ECSServiceProjectedUtilizationMetrics(output.projectedUtilizationMetrics, context)
2072
- : undefined,
2073
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
2074
- };
2075
- };
2076
- const de_ECSServiceRecommendationOptions = (output, context) => {
2077
- const retVal = (output || [])
2078
- .filter((e) => e != null)
2079
- .map((entry) => {
2080
- if (entry === null) {
2081
- return null;
2082
- }
2083
- return de_ECSServiceRecommendationOption(entry, context);
2084
- });
2085
- return retVal;
2086
- };
2087
- const de_ECSServiceRecommendations = (output, context) => {
2088
- const retVal = (output || [])
2089
- .filter((e) => e != null)
2090
- .map((entry) => {
2091
- if (entry === null) {
2092
- return null;
2093
- }
2094
- return de_ECSServiceRecommendation(entry, context);
2095
- });
2096
- return retVal;
2097
- };
2098
- const de_ECSServiceRecommendedOptionProjectedMetric = (output, context) => {
2099
- return {
2100
- projectedMetrics: output.projectedMetrics != null ? de_ECSServiceProjectedMetrics(output.projectedMetrics, context) : undefined,
2101
- recommendedCpuUnits: __expectInt32(output.recommendedCpuUnits),
2102
- recommendedMemorySize: __expectInt32(output.recommendedMemorySize),
2103
- };
2104
- };
2105
- const de_ECSServiceRecommendedOptionProjectedMetrics = (output, context) => {
2106
- const retVal = (output || [])
2107
- .filter((e) => e != null)
2108
- .map((entry) => {
2109
- if (entry === null) {
2110
- return null;
2111
- }
2112
- return de_ECSServiceRecommendedOptionProjectedMetric(entry, context);
2113
- });
2114
- return retVal;
2115
- };
2116
- const de_ECSServiceUtilizationMetric = (output, context) => {
2117
- return {
2118
- name: __expectString(output.name),
2119
- statistic: __expectString(output.statistic),
2120
- value: __limitedParseDouble(output.value),
2121
- };
2122
- };
2123
- const de_ECSServiceUtilizationMetrics = (output, context) => {
2124
- const retVal = (output || [])
2125
- .filter((e) => e != null)
2126
- .map((entry) => {
2127
- if (entry === null) {
2128
- return null;
2129
- }
2130
- return de_ECSServiceUtilizationMetric(entry, context);
2131
- });
2132
- return retVal;
2133
- };
2134
- const de_EffectiveRecommendationPreferences = (output, context) => {
2135
- return {
2136
- cpuVendorArchitectures: output.cpuVendorArchitectures != null
2137
- ? de_CpuVendorArchitectures(output.cpuVendorArchitectures, context)
2138
- : undefined,
2139
- enhancedInfrastructureMetrics: __expectString(output.enhancedInfrastructureMetrics),
2140
- externalMetricsPreference: output.externalMetricsPreference != null
2141
- ? de_ExternalMetricsPreference(output.externalMetricsPreference, context)
2142
- : undefined,
2143
- inferredWorkloadTypes: __expectString(output.inferredWorkloadTypes),
2144
- };
2145
- };
2146
- const de_EstimatedMonthlySavings = (output, context) => {
2147
- return {
2148
- currency: __expectString(output.currency),
2149
- value: __limitedParseDouble(output.value),
2150
- };
2151
- };
2152
- const de_ExportAutoScalingGroupRecommendationsResponse = (output, context) => {
2153
- return {
2154
- jobId: __expectString(output.jobId),
2155
- s3Destination: output.s3Destination != null ? de_S3Destination(output.s3Destination, context) : undefined,
2156
- };
2157
- };
2158
- const de_ExportDestination = (output, context) => {
2159
- return {
2160
- s3: output.s3 != null ? de_S3Destination(output.s3, context) : undefined,
2161
- };
2162
- };
2163
- const de_ExportEBSVolumeRecommendationsResponse = (output, context) => {
2164
- return {
2165
- jobId: __expectString(output.jobId),
2166
- s3Destination: output.s3Destination != null ? de_S3Destination(output.s3Destination, context) : undefined,
2167
- };
2168
- };
2169
- const de_ExportEC2InstanceRecommendationsResponse = (output, context) => {
2170
- return {
2171
- jobId: __expectString(output.jobId),
2172
- s3Destination: output.s3Destination != null ? de_S3Destination(output.s3Destination, context) : undefined,
2173
- };
2174
- };
2175
- const de_ExportECSServiceRecommendationsResponse = (output, context) => {
2176
- return {
2177
- jobId: __expectString(output.jobId),
2178
- s3Destination: output.s3Destination != null ? de_S3Destination(output.s3Destination, context) : undefined,
2179
- };
2180
- };
2181
- const de_ExportLambdaFunctionRecommendationsResponse = (output, context) => {
2182
- return {
2183
- jobId: __expectString(output.jobId),
2184
- s3Destination: output.s3Destination != null ? de_S3Destination(output.s3Destination, context) : undefined,
2185
- };
2186
- };
2187
- const de_ExternalMetricsPreference = (output, context) => {
2188
- return {
2189
- source: __expectString(output.source),
2190
- };
2191
- };
2192
- const de_GetAutoScalingGroupRecommendationsResponse = (output, context) => {
2193
- return {
2194
- autoScalingGroupRecommendations: output.autoScalingGroupRecommendations != null
2195
- ? de_AutoScalingGroupRecommendations(output.autoScalingGroupRecommendations, context)
2196
- : undefined,
2197
- errors: output.errors != null ? de_GetRecommendationErrors(output.errors, context) : undefined,
2198
- nextToken: __expectString(output.nextToken),
2199
- };
2200
- };
2201
- const de_GetEBSVolumeRecommendationsResponse = (output, context) => {
2202
- return {
2203
- errors: output.errors != null ? de_GetRecommendationErrors(output.errors, context) : undefined,
2204
- nextToken: __expectString(output.nextToken),
2205
- volumeRecommendations: output.volumeRecommendations != null
2206
- ? de_VolumeRecommendations(output.volumeRecommendations, context)
2207
- : undefined,
2208
- };
2209
- };
2210
- const de_GetEC2InstanceRecommendationsResponse = (output, context) => {
2211
- return {
2212
- errors: output.errors != null ? de_GetRecommendationErrors(output.errors, context) : undefined,
2213
- instanceRecommendations: output.instanceRecommendations != null
2214
- ? de_InstanceRecommendations(output.instanceRecommendations, context)
2215
- : undefined,
2216
- nextToken: __expectString(output.nextToken),
2217
- };
2218
- };
2219
- const de_GetEC2RecommendationProjectedMetricsResponse = (output, context) => {
2220
- return {
2221
- recommendedOptionProjectedMetrics: output.recommendedOptionProjectedMetrics != null
2222
- ? de_RecommendedOptionProjectedMetrics(output.recommendedOptionProjectedMetrics, context)
2223
- : undefined,
2224
- };
2225
- };
2226
- const de_GetECSServiceRecommendationProjectedMetricsResponse = (output, context) => {
2227
- return {
2228
- recommendedOptionProjectedMetrics: output.recommendedOptionProjectedMetrics != null
2229
- ? de_ECSServiceRecommendedOptionProjectedMetrics(output.recommendedOptionProjectedMetrics, context)
2230
- : undefined,
2231
- };
2232
- };
2233
- const de_GetECSServiceRecommendationsResponse = (output, context) => {
2234
- return {
2235
- ecsServiceRecommendations: output.ecsServiceRecommendations != null
2236
- ? de_ECSServiceRecommendations(output.ecsServiceRecommendations, context)
2237
- : undefined,
2238
- errors: output.errors != null ? de_GetRecommendationErrors(output.errors, context) : undefined,
2239
- nextToken: __expectString(output.nextToken),
2240
- };
2241
- };
2242
- const de_GetEffectiveRecommendationPreferencesResponse = (output, context) => {
2243
- return {
2244
- enhancedInfrastructureMetrics: __expectString(output.enhancedInfrastructureMetrics),
2245
- externalMetricsPreference: output.externalMetricsPreference != null
2246
- ? de_ExternalMetricsPreference(output.externalMetricsPreference, context)
2247
- : undefined,
2248
- };
2249
- };
2250
- const de_GetEnrollmentStatusesForOrganizationResponse = (output, context) => {
2251
- return {
2252
- accountEnrollmentStatuses: output.accountEnrollmentStatuses != null
2253
- ? de_AccountEnrollmentStatuses(output.accountEnrollmentStatuses, context)
2254
- : undefined,
2255
- nextToken: __expectString(output.nextToken),
2256
- };
2257
- };
2258
- const de_GetEnrollmentStatusResponse = (output, context) => {
2259
- return {
2260
- lastUpdatedTimestamp: output.lastUpdatedTimestamp != null
2261
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedTimestamp)))
2262
- : undefined,
2263
- memberAccountsEnrolled: __expectBoolean(output.memberAccountsEnrolled),
2264
- numberOfMemberAccountsOptedIn: __expectInt32(output.numberOfMemberAccountsOptedIn),
2265
- status: __expectString(output.status),
2266
- statusReason: __expectString(output.statusReason),
2267
- };
2268
- };
2269
- const de_GetLambdaFunctionRecommendationsResponse = (output, context) => {
2270
- return {
2271
- lambdaFunctionRecommendations: output.lambdaFunctionRecommendations != null
2272
- ? de_LambdaFunctionRecommendations(output.lambdaFunctionRecommendations, context)
2273
- : undefined,
2274
- nextToken: __expectString(output.nextToken),
2275
- };
2276
- };
2277
- const de_GetRecommendationError = (output, context) => {
2278
- return {
2279
- code: __expectString(output.code),
2280
- identifier: __expectString(output.identifier),
2281
- message: __expectString(output.message),
2282
- };
2283
- };
2284
- const de_GetRecommendationErrors = (output, context) => {
2285
- const retVal = (output || [])
2286
- .filter((e) => e != null)
2287
- .map((entry) => {
2288
- if (entry === null) {
2289
- return null;
2290
- }
2291
- return de_GetRecommendationError(entry, context);
2292
- });
2293
- return retVal;
2294
- };
2295
- const de_GetRecommendationPreferencesResponse = (output, context) => {
2296
- return {
2297
- nextToken: __expectString(output.nextToken),
2298
- recommendationPreferencesDetails: output.recommendationPreferencesDetails != null
2299
- ? de_RecommendationPreferencesDetails(output.recommendationPreferencesDetails, context)
2300
- : undefined,
2301
- };
2302
- };
2303
- const de_GetRecommendationSummariesResponse = (output, context) => {
2304
- return {
2305
- nextToken: __expectString(output.nextToken),
2306
- recommendationSummaries: output.recommendationSummaries != null
2307
- ? de_RecommendationSummaries(output.recommendationSummaries, context)
2308
- : undefined,
2309
- };
2310
- };
2311
- const de_InferredWorkloadTypes = (output, context) => {
2312
- const retVal = (output || [])
2313
- .filter((e) => e != null)
2314
- .map((entry) => {
2315
- if (entry === null) {
2316
- return null;
2317
- }
2318
- return __expectString(entry);
2319
- });
2320
- return retVal;
2321
- };
2322
- const de_InstanceRecommendation = (output, context) => {
2323
- return {
2324
- accountId: __expectString(output.accountId),
2325
- currentInstanceType: __expectString(output.currentInstanceType),
2326
- currentPerformanceRisk: __expectString(output.currentPerformanceRisk),
2327
- effectiveRecommendationPreferences: output.effectiveRecommendationPreferences != null
2328
- ? de_EffectiveRecommendationPreferences(output.effectiveRecommendationPreferences, context)
2329
- : undefined,
2330
- finding: __expectString(output.finding),
2331
- findingReasonCodes: output.findingReasonCodes != null
2332
- ? de_InstanceRecommendationFindingReasonCodes(output.findingReasonCodes, context)
2333
- : undefined,
2334
- inferredWorkloadTypes: output.inferredWorkloadTypes != null
2335
- ? de_InferredWorkloadTypes(output.inferredWorkloadTypes, context)
2336
- : undefined,
2337
- instanceArn: __expectString(output.instanceArn),
2338
- instanceName: __expectString(output.instanceName),
2339
- instanceState: __expectString(output.instanceState),
2340
- lastRefreshTimestamp: output.lastRefreshTimestamp != null
2341
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp)))
2342
- : undefined,
2343
- lookBackPeriodInDays: __limitedParseDouble(output.lookBackPeriodInDays),
2344
- recommendationOptions: output.recommendationOptions != null
2345
- ? de_RecommendationOptions(output.recommendationOptions, context)
2346
- : undefined,
2347
- recommendationSources: output.recommendationSources != null
2348
- ? de_RecommendationSources(output.recommendationSources, context)
2349
- : undefined,
2350
- utilizationMetrics: output.utilizationMetrics != null ? de_UtilizationMetrics(output.utilizationMetrics, context) : undefined,
2351
- };
2352
- };
2353
- const de_InstanceRecommendationFindingReasonCodes = (output, context) => {
2354
- const retVal = (output || [])
2355
- .filter((e) => e != null)
2356
- .map((entry) => {
2357
- if (entry === null) {
2358
- return null;
2359
- }
2360
- return __expectString(entry);
2361
- });
2362
- return retVal;
2363
- };
2364
- const de_InstanceRecommendationOption = (output, context) => {
2365
- return {
2366
- instanceType: __expectString(output.instanceType),
2367
- migrationEffort: __expectString(output.migrationEffort),
2368
- performanceRisk: __limitedParseDouble(output.performanceRisk),
2369
- platformDifferences: output.platformDifferences != null ? de_PlatformDifferences(output.platformDifferences, context) : undefined,
2370
- projectedUtilizationMetrics: output.projectedUtilizationMetrics != null
2371
- ? de_ProjectedUtilizationMetrics(output.projectedUtilizationMetrics, context)
2372
- : undefined,
2373
- rank: __expectInt32(output.rank),
2374
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
2375
- };
2376
- };
2377
- const de_InstanceRecommendations = (output, context) => {
2378
- const retVal = (output || [])
2379
- .filter((e) => e != null)
2380
- .map((entry) => {
2381
- if (entry === null) {
2382
- return null;
2383
- }
2384
- return de_InstanceRecommendation(entry, context);
2385
- });
2386
- return retVal;
2387
- };
2388
- const de_InternalServerException = (output, context) => {
2389
- return {
2390
- message: __expectString(output.message),
2391
- };
2392
- };
2393
- const de_InvalidParameterValueException = (output, context) => {
2394
- return {
2395
- message: __expectString(output.message),
2396
- };
2397
- };
2398
- const de_LambdaFunctionMemoryProjectedMetric = (output, context) => {
2399
- return {
2400
- name: __expectString(output.name),
2401
- statistic: __expectString(output.statistic),
2402
- value: __limitedParseDouble(output.value),
2403
- };
2404
- };
2405
- const de_LambdaFunctionMemoryProjectedMetrics = (output, context) => {
2406
- const retVal = (output || [])
2407
- .filter((e) => e != null)
2408
- .map((entry) => {
2409
- if (entry === null) {
2410
- return null;
2411
- }
2412
- return de_LambdaFunctionMemoryProjectedMetric(entry, context);
2413
- });
2414
- return retVal;
2415
- };
2416
- const de_LambdaFunctionMemoryRecommendationOption = (output, context) => {
2417
- return {
2418
- memorySize: __expectInt32(output.memorySize),
2419
- projectedUtilizationMetrics: output.projectedUtilizationMetrics != null
2420
- ? de_LambdaFunctionMemoryProjectedMetrics(output.projectedUtilizationMetrics, context)
2421
- : undefined,
2422
- rank: __expectInt32(output.rank),
2423
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
2424
- };
2425
- };
2426
- const de_LambdaFunctionMemoryRecommendationOptions = (output, context) => {
2427
- const retVal = (output || [])
2428
- .filter((e) => e != null)
2429
- .map((entry) => {
2430
- if (entry === null) {
2431
- return null;
2432
- }
2433
- return de_LambdaFunctionMemoryRecommendationOption(entry, context);
2434
- });
2435
- return retVal;
2436
- };
2437
- const de_LambdaFunctionRecommendation = (output, context) => {
2438
- return {
2439
- accountId: __expectString(output.accountId),
2440
- currentMemorySize: __expectInt32(output.currentMemorySize),
2441
- currentPerformanceRisk: __expectString(output.currentPerformanceRisk),
2442
- finding: __expectString(output.finding),
2443
- findingReasonCodes: output.findingReasonCodes != null
2444
- ? de_LambdaFunctionRecommendationFindingReasonCodes(output.findingReasonCodes, context)
2445
- : undefined,
2446
- functionArn: __expectString(output.functionArn),
2447
- functionVersion: __expectString(output.functionVersion),
2448
- lastRefreshTimestamp: output.lastRefreshTimestamp != null
2449
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp)))
2450
- : undefined,
2451
- lookbackPeriodInDays: __limitedParseDouble(output.lookbackPeriodInDays),
2452
- memorySizeRecommendationOptions: output.memorySizeRecommendationOptions != null
2453
- ? de_LambdaFunctionMemoryRecommendationOptions(output.memorySizeRecommendationOptions, context)
2454
- : undefined,
2455
- numberOfInvocations: __expectLong(output.numberOfInvocations),
2456
- utilizationMetrics: output.utilizationMetrics != null
2457
- ? de_LambdaFunctionUtilizationMetrics(output.utilizationMetrics, context)
2458
- : undefined,
2459
- };
2460
- };
2461
- const de_LambdaFunctionRecommendationFindingReasonCodes = (output, context) => {
2462
- const retVal = (output || [])
2463
- .filter((e) => e != null)
2464
- .map((entry) => {
2465
- if (entry === null) {
2466
- return null;
2467
- }
2468
- return __expectString(entry);
2469
- });
2470
- return retVal;
2471
- };
2472
- const de_LambdaFunctionRecommendations = (output, context) => {
2473
- const retVal = (output || [])
2474
- .filter((e) => e != null)
2475
- .map((entry) => {
2476
- if (entry === null) {
2477
- return null;
2478
- }
2479
- return de_LambdaFunctionRecommendation(entry, context);
2480
- });
2481
- return retVal;
2482
- };
2483
- const de_LambdaFunctionUtilizationMetric = (output, context) => {
2484
- return {
2485
- name: __expectString(output.name),
2486
- statistic: __expectString(output.statistic),
2487
- value: __limitedParseDouble(output.value),
2488
- };
2489
- };
2490
- const de_LambdaFunctionUtilizationMetrics = (output, context) => {
2491
- const retVal = (output || [])
2492
- .filter((e) => e != null)
2493
- .map((entry) => {
2494
- if (entry === null) {
2495
- return null;
2496
- }
2497
- return de_LambdaFunctionUtilizationMetric(entry, context);
2498
- });
2499
- return retVal;
2500
- };
2501
- const de_LimitExceededException = (output, context) => {
2502
- return {
2503
- message: __expectString(output.message),
2504
- };
2505
- };
2506
- const de_MemorySizeConfiguration = (output, context) => {
2507
- return {
2508
- memory: __expectInt32(output.memory),
2509
- memoryReservation: __expectInt32(output.memoryReservation),
2510
- };
2511
- };
2512
1683
  const de_MetricValues = (output, context) => {
2513
1684
  const retVal = (output || [])
2514
1685
  .filter((e) => e != null)
2515
1686
  .map((entry) => {
2516
- if (entry === null) {
2517
- return null;
2518
- }
2519
1687
  return __limitedParseDouble(entry);
2520
1688
  });
2521
1689
  return retVal;
2522
1690
  };
2523
- const de_MissingAuthenticationToken = (output, context) => {
2524
- return {
2525
- message: __expectString(output.message),
2526
- };
2527
- };
2528
- const de_OptInRequiredException = (output, context) => {
2529
- return {
2530
- message: __expectString(output.message),
2531
- };
2532
- };
2533
- const de_PlatformDifferences = (output, context) => {
2534
- const retVal = (output || [])
2535
- .filter((e) => e != null)
2536
- .map((entry) => {
2537
- if (entry === null) {
2538
- return null;
2539
- }
2540
- return __expectString(entry);
2541
- });
2542
- return retVal;
2543
- };
2544
1691
  const de_ProjectedMetric = (output, context) => {
2545
- return {
2546
- name: __expectString(output.name),
2547
- timestamps: output.timestamps != null ? de_Timestamps(output.timestamps, context) : undefined,
2548
- values: output.values != null ? de_MetricValues(output.values, context) : undefined,
2549
- };
1692
+ return take(output, {
1693
+ name: __expectString,
1694
+ timestamps: (_) => de_Timestamps(_, context),
1695
+ values: (_) => de_MetricValues(_, context),
1696
+ });
2550
1697
  };
2551
1698
  const de_ProjectedMetrics = (output, context) => {
2552
1699
  const retVal = (output || [])
2553
1700
  .filter((e) => e != null)
2554
1701
  .map((entry) => {
2555
- if (entry === null) {
2556
- return null;
2557
- }
2558
1702
  return de_ProjectedMetric(entry, context);
2559
1703
  });
2560
1704
  return retVal;
@@ -2563,55 +1707,39 @@ const de_ProjectedUtilizationMetrics = (output, context) => {
2563
1707
  const retVal = (output || [])
2564
1708
  .filter((e) => e != null)
2565
1709
  .map((entry) => {
2566
- if (entry === null) {
2567
- return null;
2568
- }
2569
1710
  return de_UtilizationMetric(entry, context);
2570
1711
  });
2571
1712
  return retVal;
2572
1713
  };
2573
- const de_PutRecommendationPreferencesResponse = (output, context) => {
2574
- return {};
2575
- };
2576
1714
  const de_ReasonCodeSummaries = (output, context) => {
2577
1715
  const retVal = (output || [])
2578
1716
  .filter((e) => e != null)
2579
1717
  .map((entry) => {
2580
- if (entry === null) {
2581
- return null;
2582
- }
2583
1718
  return de_ReasonCodeSummary(entry, context);
2584
1719
  });
2585
1720
  return retVal;
2586
1721
  };
2587
1722
  const de_ReasonCodeSummary = (output, context) => {
2588
- return {
2589
- name: __expectString(output.name),
2590
- value: __limitedParseDouble(output.value),
2591
- };
1723
+ return take(output, {
1724
+ name: __expectString,
1725
+ value: __limitedParseDouble,
1726
+ });
2592
1727
  };
2593
1728
  const de_RecommendationExportJob = (output, context) => {
2594
- return {
2595
- creationTimestamp: output.creationTimestamp != null
2596
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationTimestamp)))
2597
- : undefined,
2598
- destination: output.destination != null ? de_ExportDestination(output.destination, context) : undefined,
2599
- failureReason: __expectString(output.failureReason),
2600
- jobId: __expectString(output.jobId),
2601
- lastUpdatedTimestamp: output.lastUpdatedTimestamp != null
2602
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedTimestamp)))
2603
- : undefined,
2604
- resourceType: __expectString(output.resourceType),
2605
- status: __expectString(output.status),
2606
- };
1729
+ return take(output, {
1730
+ creationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1731
+ destination: _json,
1732
+ failureReason: __expectString,
1733
+ jobId: __expectString,
1734
+ lastUpdatedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1735
+ resourceType: __expectString,
1736
+ status: __expectString,
1737
+ });
2607
1738
  };
2608
1739
  const de_RecommendationExportJobs = (output, context) => {
2609
1740
  const retVal = (output || [])
2610
1741
  .filter((e) => e != null)
2611
1742
  .map((entry) => {
2612
- if (entry === null) {
2613
- return null;
2614
- }
2615
1743
  return de_RecommendationExportJob(entry, context);
2616
1744
  });
2617
1745
  return retVal;
@@ -2620,235 +1748,111 @@ const de_RecommendationOptions = (output, context) => {
2620
1748
  const retVal = (output || [])
2621
1749
  .filter((e) => e != null)
2622
1750
  .map((entry) => {
2623
- if (entry === null) {
2624
- return null;
2625
- }
2626
1751
  return de_InstanceRecommendationOption(entry, context);
2627
1752
  });
2628
1753
  return retVal;
2629
1754
  };
2630
- const de_RecommendationPreferencesDetail = (output, context) => {
2631
- return {
2632
- enhancedInfrastructureMetrics: __expectString(output.enhancedInfrastructureMetrics),
2633
- externalMetricsPreference: output.externalMetricsPreference != null
2634
- ? de_ExternalMetricsPreference(output.externalMetricsPreference, context)
2635
- : undefined,
2636
- inferredWorkloadTypes: __expectString(output.inferredWorkloadTypes),
2637
- resourceType: __expectString(output.resourceType),
2638
- scope: output.scope != null ? de_Scope(output.scope, context) : undefined,
2639
- };
2640
- };
2641
- const de_RecommendationPreferencesDetails = (output, context) => {
2642
- const retVal = (output || [])
2643
- .filter((e) => e != null)
2644
- .map((entry) => {
2645
- if (entry === null) {
2646
- return null;
2647
- }
2648
- return de_RecommendationPreferencesDetail(entry, context);
2649
- });
2650
- return retVal;
2651
- };
2652
- const de_RecommendationSource = (output, context) => {
2653
- return {
2654
- recommendationSourceArn: __expectString(output.recommendationSourceArn),
2655
- recommendationSourceType: __expectString(output.recommendationSourceType),
2656
- };
2657
- };
2658
- const de_RecommendationSources = (output, context) => {
2659
- const retVal = (output || [])
2660
- .filter((e) => e != null)
2661
- .map((entry) => {
2662
- if (entry === null) {
2663
- return null;
2664
- }
2665
- return de_RecommendationSource(entry, context);
2666
- });
2667
- return retVal;
2668
- };
2669
1755
  const de_RecommendationSummaries = (output, context) => {
2670
1756
  const retVal = (output || [])
2671
1757
  .filter((e) => e != null)
2672
1758
  .map((entry) => {
2673
- if (entry === null) {
2674
- return null;
2675
- }
2676
1759
  return de_RecommendationSummary(entry, context);
2677
1760
  });
2678
1761
  return retVal;
2679
1762
  };
2680
1763
  const de_RecommendationSummary = (output, context) => {
2681
- return {
2682
- accountId: __expectString(output.accountId),
2683
- currentPerformanceRiskRatings: output.currentPerformanceRiskRatings != null
2684
- ? de_CurrentPerformanceRiskRatings(output.currentPerformanceRiskRatings, context)
2685
- : undefined,
2686
- recommendationResourceType: __expectString(output.recommendationResourceType),
2687
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
2688
- summaries: output.summaries != null ? de_Summaries(output.summaries, context) : undefined,
2689
- };
1764
+ return take(output, {
1765
+ accountId: __expectString,
1766
+ currentPerformanceRiskRatings: _json,
1767
+ recommendationResourceType: __expectString,
1768
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1769
+ summaries: (_) => de_Summaries(_, context),
1770
+ });
2690
1771
  };
2691
1772
  const de_RecommendedOptionProjectedMetric = (output, context) => {
2692
- return {
2693
- projectedMetrics: output.projectedMetrics != null ? de_ProjectedMetrics(output.projectedMetrics, context) : undefined,
2694
- rank: __expectInt32(output.rank),
2695
- recommendedInstanceType: __expectString(output.recommendedInstanceType),
2696
- };
1773
+ return take(output, {
1774
+ projectedMetrics: (_) => de_ProjectedMetrics(_, context),
1775
+ rank: __expectInt32,
1776
+ recommendedInstanceType: __expectString,
1777
+ });
2697
1778
  };
2698
1779
  const de_RecommendedOptionProjectedMetrics = (output, context) => {
2699
1780
  const retVal = (output || [])
2700
1781
  .filter((e) => e != null)
2701
1782
  .map((entry) => {
2702
- if (entry === null) {
2703
- return null;
2704
- }
2705
1783
  return de_RecommendedOptionProjectedMetric(entry, context);
2706
1784
  });
2707
1785
  return retVal;
2708
1786
  };
2709
- const de_ResourceNotFoundException = (output, context) => {
2710
- return {
2711
- message: __expectString(output.message),
2712
- };
2713
- };
2714
- const de_S3Destination = (output, context) => {
2715
- return {
2716
- bucket: __expectString(output.bucket),
2717
- key: __expectString(output.key),
2718
- metadataKey: __expectString(output.metadataKey),
2719
- };
2720
- };
2721
1787
  const de_SavingsOpportunity = (output, context) => {
2722
- return {
2723
- estimatedMonthlySavings: output.estimatedMonthlySavings != null
2724
- ? de_EstimatedMonthlySavings(output.estimatedMonthlySavings, context)
2725
- : undefined,
2726
- savingsOpportunityPercentage: __limitedParseDouble(output.savingsOpportunityPercentage),
2727
- };
2728
- };
2729
- const de_Scope = (output, context) => {
2730
- return {
2731
- name: __expectString(output.name),
2732
- value: __expectString(output.value),
2733
- };
2734
- };
2735
- const de_ServiceConfiguration = (output, context) => {
2736
- return {
2737
- autoScalingConfiguration: __expectString(output.autoScalingConfiguration),
2738
- containerConfigurations: output.containerConfigurations != null
2739
- ? de_ContainerConfigurations(output.containerConfigurations, context)
2740
- : undefined,
2741
- cpu: __expectInt32(output.cpu),
2742
- memory: __expectInt32(output.memory),
2743
- taskDefinitionArn: __expectString(output.taskDefinitionArn),
2744
- };
2745
- };
2746
- const de_ServiceUnavailableException = (output, context) => {
2747
- return {
2748
- message: __expectString(output.message),
2749
- };
1788
+ return take(output, {
1789
+ estimatedMonthlySavings: (_) => de_EstimatedMonthlySavings(_, context),
1790
+ savingsOpportunityPercentage: __limitedParseDouble,
1791
+ });
2750
1792
  };
2751
1793
  const de_Summaries = (output, context) => {
2752
1794
  const retVal = (output || [])
2753
1795
  .filter((e) => e != null)
2754
1796
  .map((entry) => {
2755
- if (entry === null) {
2756
- return null;
2757
- }
2758
1797
  return de_Summary(entry, context);
2759
1798
  });
2760
1799
  return retVal;
2761
1800
  };
2762
1801
  const de_Summary = (output, context) => {
2763
- return {
2764
- name: __expectString(output.name),
2765
- reasonCodeSummaries: output.reasonCodeSummaries != null ? de_ReasonCodeSummaries(output.reasonCodeSummaries, context) : undefined,
2766
- value: __limitedParseDouble(output.value),
2767
- };
2768
- };
2769
- const de_ThrottlingException = (output, context) => {
2770
- return {
2771
- message: __expectString(output.message),
2772
- };
1802
+ return take(output, {
1803
+ name: __expectString,
1804
+ reasonCodeSummaries: (_) => de_ReasonCodeSummaries(_, context),
1805
+ value: __limitedParseDouble,
1806
+ });
2773
1807
  };
2774
1808
  const de_Timestamps = (output, context) => {
2775
1809
  const retVal = (output || [])
2776
1810
  .filter((e) => e != null)
2777
1811
  .map((entry) => {
2778
- if (entry === null) {
2779
- return null;
2780
- }
2781
1812
  return __expectNonNull(__parseEpochTimestamp(__expectNumber(entry)));
2782
1813
  });
2783
1814
  return retVal;
2784
1815
  };
2785
- const de_UpdateEnrollmentStatusResponse = (output, context) => {
2786
- return {
2787
- status: __expectString(output.status),
2788
- statusReason: __expectString(output.statusReason),
2789
- };
2790
- };
2791
1816
  const de_UtilizationMetric = (output, context) => {
2792
- return {
2793
- name: __expectString(output.name),
2794
- statistic: __expectString(output.statistic),
2795
- value: __limitedParseDouble(output.value),
2796
- };
1817
+ return take(output, {
1818
+ name: __expectString,
1819
+ statistic: __expectString,
1820
+ value: __limitedParseDouble,
1821
+ });
2797
1822
  };
2798
1823
  const de_UtilizationMetrics = (output, context) => {
2799
1824
  const retVal = (output || [])
2800
1825
  .filter((e) => e != null)
2801
1826
  .map((entry) => {
2802
- if (entry === null) {
2803
- return null;
2804
- }
2805
1827
  return de_UtilizationMetric(entry, context);
2806
1828
  });
2807
1829
  return retVal;
2808
1830
  };
2809
- const de_VolumeConfiguration = (output, context) => {
2810
- return {
2811
- rootVolume: __expectBoolean(output.rootVolume),
2812
- volumeBaselineIOPS: __expectInt32(output.volumeBaselineIOPS),
2813
- volumeBaselineThroughput: __expectInt32(output.volumeBaselineThroughput),
2814
- volumeBurstIOPS: __expectInt32(output.volumeBurstIOPS),
2815
- volumeBurstThroughput: __expectInt32(output.volumeBurstThroughput),
2816
- volumeSize: __expectInt32(output.volumeSize),
2817
- volumeType: __expectString(output.volumeType),
2818
- };
2819
- };
2820
1831
  const de_VolumeRecommendation = (output, context) => {
2821
- return {
2822
- accountId: __expectString(output.accountId),
2823
- currentConfiguration: output.currentConfiguration != null ? de_VolumeConfiguration(output.currentConfiguration, context) : undefined,
2824
- currentPerformanceRisk: __expectString(output.currentPerformanceRisk),
2825
- finding: __expectString(output.finding),
2826
- lastRefreshTimestamp: output.lastRefreshTimestamp != null
2827
- ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp)))
2828
- : undefined,
2829
- lookBackPeriodInDays: __limitedParseDouble(output.lookBackPeriodInDays),
2830
- utilizationMetrics: output.utilizationMetrics != null ? de_EBSUtilizationMetrics(output.utilizationMetrics, context) : undefined,
2831
- volumeArn: __expectString(output.volumeArn),
2832
- volumeRecommendationOptions: output.volumeRecommendationOptions != null
2833
- ? de_VolumeRecommendationOptions(output.volumeRecommendationOptions, context)
2834
- : undefined,
2835
- };
1832
+ return take(output, {
1833
+ accountId: __expectString,
1834
+ currentConfiguration: _json,
1835
+ currentPerformanceRisk: __expectString,
1836
+ finding: __expectString,
1837
+ lastRefreshTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1838
+ lookBackPeriodInDays: __limitedParseDouble,
1839
+ utilizationMetrics: (_) => de_EBSUtilizationMetrics(_, context),
1840
+ volumeArn: __expectString,
1841
+ volumeRecommendationOptions: (_) => de_VolumeRecommendationOptions(_, context),
1842
+ });
2836
1843
  };
2837
1844
  const de_VolumeRecommendationOption = (output, context) => {
2838
- return {
2839
- configuration: output.configuration != null ? de_VolumeConfiguration(output.configuration, context) : undefined,
2840
- performanceRisk: __limitedParseDouble(output.performanceRisk),
2841
- rank: __expectInt32(output.rank),
2842
- savingsOpportunity: output.savingsOpportunity != null ? de_SavingsOpportunity(output.savingsOpportunity, context) : undefined,
2843
- };
1845
+ return take(output, {
1846
+ configuration: _json,
1847
+ performanceRisk: __limitedParseDouble,
1848
+ rank: __expectInt32,
1849
+ savingsOpportunity: (_) => de_SavingsOpportunity(_, context),
1850
+ });
2844
1851
  };
2845
1852
  const de_VolumeRecommendationOptions = (output, context) => {
2846
1853
  const retVal = (output || [])
2847
1854
  .filter((e) => e != null)
2848
1855
  .map((entry) => {
2849
- if (entry === null) {
2850
- return null;
2851
- }
2852
1856
  return de_VolumeRecommendationOption(entry, context);
2853
1857
  });
2854
1858
  return retVal;
@@ -2857,9 +1861,6 @@ const de_VolumeRecommendations = (output, context) => {
2857
1861
  const retVal = (output || [])
2858
1862
  .filter((e) => e != null)
2859
1863
  .map((entry) => {
2860
- if (entry === null) {
2861
- return null;
2862
- }
2863
1864
  return de_VolumeRecommendation(entry, context);
2864
1865
  });
2865
1866
  return retVal;
@@ -2877,6 +1878,7 @@ const collectBody = (streamBody = new Uint8Array(), context) => {
2877
1878
  return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());
2878
1879
  };
2879
1880
  const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
1881
+ const throwDefaultError = withBaseException(__BaseException);
2880
1882
  const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {
2881
1883
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2882
1884
  const contents = {
@@ -2895,6 +1897,12 @@ const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, bod
2895
1897
  }
2896
1898
  return new __HttpRequest(contents);
2897
1899
  };
1900
+ function sharedHeaders(operation) {
1901
+ return {
1902
+ "content-type": "application/x-amz-json-1.0",
1903
+ "x-amz-target": `ComputeOptimizerService.${operation}`,
1904
+ };
1905
+ }
2898
1906
  const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
2899
1907
  if (encoded.length) {
2900
1908
  return JSON.parse(encoded);