@aws-sdk/client-trustedadvisor 3.454.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +285 -0
  3. package/dist-cjs/TrustedAdvisor.js +31 -0
  4. package/dist-cjs/TrustedAdvisorClient.js +43 -0
  5. package/dist-cjs/commands/GetOrganizationRecommendationCommand.js +52 -0
  6. package/dist-cjs/commands/GetRecommendationCommand.js +52 -0
  7. package/dist-cjs/commands/ListChecksCommand.js +51 -0
  8. package/dist-cjs/commands/ListOrganizationRecommendationAccountsCommand.js +52 -0
  9. package/dist-cjs/commands/ListOrganizationRecommendationResourcesCommand.js +51 -0
  10. package/dist-cjs/commands/ListOrganizationRecommendationsCommand.js +51 -0
  11. package/dist-cjs/commands/ListRecommendationResourcesCommand.js +51 -0
  12. package/dist-cjs/commands/ListRecommendationsCommand.js +51 -0
  13. package/dist-cjs/commands/UpdateOrganizationRecommendationLifecycleCommand.js +52 -0
  14. package/dist-cjs/commands/UpdateRecommendationLifecycleCommand.js +52 -0
  15. package/dist-cjs/commands/index.js +13 -0
  16. package/dist-cjs/endpoint/EndpointParameters.js +12 -0
  17. package/dist-cjs/endpoint/endpointResolver.js +12 -0
  18. package/dist-cjs/endpoint/ruleset.js +7 -0
  19. package/dist-cjs/extensionConfiguration.js +2 -0
  20. package/dist-cjs/index.js +12 -0
  21. package/dist-cjs/models/TrustedAdvisorServiceException.js +12 -0
  22. package/dist-cjs/models/index.js +4 -0
  23. package/dist-cjs/models/models_0.js +202 -0
  24. package/dist-cjs/pagination/Interfaces.js +2 -0
  25. package/dist-cjs/pagination/ListChecksPaginator.js +29 -0
  26. package/dist-cjs/pagination/ListOrganizationRecommendationAccountsPaginator.js +29 -0
  27. package/dist-cjs/pagination/ListOrganizationRecommendationResourcesPaginator.js +29 -0
  28. package/dist-cjs/pagination/ListOrganizationRecommendationsPaginator.js +29 -0
  29. package/dist-cjs/pagination/ListRecommendationResourcesPaginator.js +29 -0
  30. package/dist-cjs/pagination/ListRecommendationsPaginator.js +29 -0
  31. package/dist-cjs/pagination/index.js +10 -0
  32. package/dist-cjs/protocols/Aws_restJson1.js +1023 -0
  33. package/dist-cjs/runtimeConfig.browser.js +39 -0
  34. package/dist-cjs/runtimeConfig.js +50 -0
  35. package/dist-cjs/runtimeConfig.native.js +15 -0
  36. package/dist-cjs/runtimeConfig.shared.js +24 -0
  37. package/dist-cjs/runtimeExtensions.js +22 -0
  38. package/dist-es/TrustedAdvisor.js +27 -0
  39. package/dist-es/TrustedAdvisorClient.js +39 -0
  40. package/dist-es/commands/GetOrganizationRecommendationCommand.js +48 -0
  41. package/dist-es/commands/GetRecommendationCommand.js +48 -0
  42. package/dist-es/commands/ListChecksCommand.js +47 -0
  43. package/dist-es/commands/ListOrganizationRecommendationAccountsCommand.js +48 -0
  44. package/dist-es/commands/ListOrganizationRecommendationResourcesCommand.js +47 -0
  45. package/dist-es/commands/ListOrganizationRecommendationsCommand.js +47 -0
  46. package/dist-es/commands/ListRecommendationResourcesCommand.js +47 -0
  47. package/dist-es/commands/ListRecommendationsCommand.js +47 -0
  48. package/dist-es/commands/UpdateOrganizationRecommendationLifecycleCommand.js +48 -0
  49. package/dist-es/commands/UpdateRecommendationLifecycleCommand.js +48 -0
  50. package/dist-es/commands/index.js +10 -0
  51. package/dist-es/endpoint/EndpointParameters.js +8 -0
  52. package/dist-es/endpoint/endpointResolver.js +8 -0
  53. package/dist-es/endpoint/ruleset.js +4 -0
  54. package/dist-es/extensionConfiguration.js +1 -0
  55. package/dist-es/index.js +7 -0
  56. package/dist-es/models/TrustedAdvisorServiceException.js +8 -0
  57. package/dist-es/models/index.js +1 -0
  58. package/dist-es/models/models_0.js +185 -0
  59. package/dist-es/pagination/Interfaces.js +1 -0
  60. package/dist-es/pagination/ListChecksPaginator.js +25 -0
  61. package/dist-es/pagination/ListOrganizationRecommendationAccountsPaginator.js +25 -0
  62. package/dist-es/pagination/ListOrganizationRecommendationResourcesPaginator.js +25 -0
  63. package/dist-es/pagination/ListOrganizationRecommendationsPaginator.js +25 -0
  64. package/dist-es/pagination/ListRecommendationResourcesPaginator.js +25 -0
  65. package/dist-es/pagination/ListRecommendationsPaginator.js +25 -0
  66. package/dist-es/pagination/index.js +7 -0
  67. package/dist-es/protocols/Aws_restJson1.js +1000 -0
  68. package/dist-es/runtimeConfig.browser.js +34 -0
  69. package/dist-es/runtimeConfig.js +45 -0
  70. package/dist-es/runtimeConfig.native.js +11 -0
  71. package/dist-es/runtimeConfig.shared.js +20 -0
  72. package/dist-es/runtimeExtensions.js +18 -0
  73. package/dist-types/TrustedAdvisor.d.ts +80 -0
  74. package/dist-types/TrustedAdvisorClient.d.ts +179 -0
  75. package/dist-types/commands/GetOrganizationRecommendationCommand.d.ts +125 -0
  76. package/dist-types/commands/GetRecommendationCommand.d.ts +123 -0
  77. package/dist-types/commands/ListChecksCommand.d.ts +108 -0
  78. package/dist-types/commands/ListOrganizationRecommendationAccountsCommand.d.ts +105 -0
  79. package/dist-types/commands/ListOrganizationRecommendationResourcesCommand.d.ts +110 -0
  80. package/dist-types/commands/ListOrganizationRecommendationsCommand.d.ts +127 -0
  81. package/dist-types/commands/ListRecommendationResourcesCommand.d.ts +106 -0
  82. package/dist-types/commands/ListRecommendationsCommand.d.ts +125 -0
  83. package/dist-types/commands/UpdateOrganizationRecommendationLifecycleCommand.d.ts +94 -0
  84. package/dist-types/commands/UpdateRecommendationLifecycleCommand.d.ts +92 -0
  85. package/dist-types/commands/index.d.ts +10 -0
  86. package/dist-types/endpoint/EndpointParameters.d.ts +22 -0
  87. package/dist-types/endpoint/endpointResolver.d.ts +5 -0
  88. package/dist-types/endpoint/ruleset.d.ts +2 -0
  89. package/dist-types/extensionConfiguration.d.ts +8 -0
  90. package/dist-types/index.d.ts +15 -0
  91. package/dist-types/models/TrustedAdvisorServiceException.d.ts +13 -0
  92. package/dist-types/models/index.d.ts +1 -0
  93. package/dist-types/models/models_0.d.ts +1322 -0
  94. package/dist-types/pagination/Interfaces.d.ts +8 -0
  95. package/dist-types/pagination/ListChecksPaginator.d.ts +7 -0
  96. package/dist-types/pagination/ListOrganizationRecommendationAccountsPaginator.d.ts +7 -0
  97. package/dist-types/pagination/ListOrganizationRecommendationResourcesPaginator.d.ts +7 -0
  98. package/dist-types/pagination/ListOrganizationRecommendationsPaginator.d.ts +7 -0
  99. package/dist-types/pagination/ListRecommendationResourcesPaginator.d.ts +7 -0
  100. package/dist-types/pagination/ListRecommendationsPaginator.d.ts +7 -0
  101. package/dist-types/pagination/index.d.ts +7 -0
  102. package/dist-types/protocols/Aws_restJson1.d.ts +92 -0
  103. package/dist-types/runtimeConfig.browser.d.ts +46 -0
  104. package/dist-types/runtimeConfig.d.ts +46 -0
  105. package/dist-types/runtimeConfig.native.d.ts +45 -0
  106. package/dist-types/runtimeConfig.shared.d.ts +19 -0
  107. package/dist-types/runtimeExtensions.d.ts +17 -0
  108. package/dist-types/ts3.4/TrustedAdvisor.d.ts +195 -0
  109. package/dist-types/ts3.4/TrustedAdvisorClient.d.ts +179 -0
  110. package/dist-types/ts3.4/commands/GetOrganizationRecommendationCommand.d.ts +42 -0
  111. package/dist-types/ts3.4/commands/GetRecommendationCommand.d.ts +39 -0
  112. package/dist-types/ts3.4/commands/ListChecksCommand.d.ts +35 -0
  113. package/dist-types/ts3.4/commands/ListOrganizationRecommendationAccountsCommand.d.ts +42 -0
  114. package/dist-types/ts3.4/commands/ListOrganizationRecommendationResourcesCommand.d.ts +42 -0
  115. package/dist-types/ts3.4/commands/ListOrganizationRecommendationsCommand.d.ts +42 -0
  116. package/dist-types/ts3.4/commands/ListRecommendationResourcesCommand.d.ts +42 -0
  117. package/dist-types/ts3.4/commands/ListRecommendationsCommand.d.ts +39 -0
  118. package/dist-types/ts3.4/commands/UpdateOrganizationRecommendationLifecycleCommand.d.ts +38 -0
  119. package/dist-types/ts3.4/commands/UpdateRecommendationLifecycleCommand.d.ts +38 -0
  120. package/dist-types/ts3.4/commands/index.d.ts +10 -0
  121. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +33 -0
  122. package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
  123. package/dist-types/ts3.4/endpoint/ruleset.d.ts +2 -0
  124. package/dist-types/ts3.4/extensionConfiguration.d.ts +7 -0
  125. package/dist-types/ts3.4/index.d.ts +10 -0
  126. package/dist-types/ts3.4/models/TrustedAdvisorServiceException.d.ts +8 -0
  127. package/dist-types/ts3.4/models/index.d.ts +1 -0
  128. package/dist-types/ts3.4/models/models_0.d.ts +397 -0
  129. package/dist-types/ts3.4/pagination/Interfaces.d.ts +6 -0
  130. package/dist-types/ts3.4/pagination/ListChecksPaginator.d.ts +11 -0
  131. package/dist-types/ts3.4/pagination/ListOrganizationRecommendationAccountsPaginator.d.ts +11 -0
  132. package/dist-types/ts3.4/pagination/ListOrganizationRecommendationResourcesPaginator.d.ts +11 -0
  133. package/dist-types/ts3.4/pagination/ListOrganizationRecommendationsPaginator.d.ts +11 -0
  134. package/dist-types/ts3.4/pagination/ListRecommendationResourcesPaginator.d.ts +11 -0
  135. package/dist-types/ts3.4/pagination/ListRecommendationsPaginator.d.ts +11 -0
  136. package/dist-types/ts3.4/pagination/index.d.ts +7 -0
  137. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +125 -0
  138. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +97 -0
  139. package/dist-types/ts3.4/runtimeConfig.d.ts +97 -0
  140. package/dist-types/ts3.4/runtimeConfig.native.d.ts +88 -0
  141. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +19 -0
  142. package/dist-types/ts3.4/runtimeExtensions.d.ts +11 -0
  143. package/package.json +102 -0
@@ -0,0 +1,1000 @@
1
+ import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
2
+ import { _json, collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, take, withBaseException, } from "@smithy/smithy-client";
3
+ import { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ThrottlingException, ValidationException, } from "../models/models_0";
4
+ import { TrustedAdvisorServiceException as __BaseException } from "../models/TrustedAdvisorServiceException";
5
+ export const se_GetOrganizationRecommendationCommand = async (input, context) => {
6
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
7
+ const headers = {};
8
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
9
+ "/v1/organization-recommendations/{organizationRecommendationIdentifier}";
10
+ resolvedPath = __resolvedPath(resolvedPath, input, "organizationRecommendationIdentifier", () => input.organizationRecommendationIdentifier, "{organizationRecommendationIdentifier}", false);
11
+ let body;
12
+ return new __HttpRequest({
13
+ protocol,
14
+ hostname,
15
+ port,
16
+ method: "GET",
17
+ headers,
18
+ path: resolvedPath,
19
+ body,
20
+ });
21
+ };
22
+ export const se_GetRecommendationCommand = async (input, context) => {
23
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
24
+ const headers = {};
25
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
26
+ "/v1/recommendations/{recommendationIdentifier}";
27
+ resolvedPath = __resolvedPath(resolvedPath, input, "recommendationIdentifier", () => input.recommendationIdentifier, "{recommendationIdentifier}", false);
28
+ let body;
29
+ return new __HttpRequest({
30
+ protocol,
31
+ hostname,
32
+ port,
33
+ method: "GET",
34
+ headers,
35
+ path: resolvedPath,
36
+ body,
37
+ });
38
+ };
39
+ export const se_ListChecksCommand = async (input, context) => {
40
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
41
+ const headers = {};
42
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/checks";
43
+ const query = map({
44
+ nextToken: [, input.nextToken],
45
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
46
+ pillar: [, input.pillar],
47
+ awsService: [, input.awsService],
48
+ source: [, input.source],
49
+ language: [, input.language],
50
+ });
51
+ let body;
52
+ return new __HttpRequest({
53
+ protocol,
54
+ hostname,
55
+ port,
56
+ method: "GET",
57
+ headers,
58
+ path: resolvedPath,
59
+ query,
60
+ body,
61
+ });
62
+ };
63
+ export const se_ListOrganizationRecommendationAccountsCommand = async (input, context) => {
64
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
65
+ const headers = {};
66
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
67
+ "/v1/organization-recommendations/{organizationRecommendationIdentifier}/accounts";
68
+ resolvedPath = __resolvedPath(resolvedPath, input, "organizationRecommendationIdentifier", () => input.organizationRecommendationIdentifier, "{organizationRecommendationIdentifier}", false);
69
+ const query = map({
70
+ nextToken: [, input.nextToken],
71
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
72
+ affectedAccountId: [, input.affectedAccountId],
73
+ });
74
+ let body;
75
+ return new __HttpRequest({
76
+ protocol,
77
+ hostname,
78
+ port,
79
+ method: "GET",
80
+ headers,
81
+ path: resolvedPath,
82
+ query,
83
+ body,
84
+ });
85
+ };
86
+ export const se_ListOrganizationRecommendationResourcesCommand = async (input, context) => {
87
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
88
+ const headers = {};
89
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
90
+ "/v1/organization-recommendations/{organizationRecommendationIdentifier}/resources";
91
+ resolvedPath = __resolvedPath(resolvedPath, input, "organizationRecommendationIdentifier", () => input.organizationRecommendationIdentifier, "{organizationRecommendationIdentifier}", false);
92
+ const query = map({
93
+ nextToken: [, input.nextToken],
94
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
95
+ status: [, input.status],
96
+ regionCode: [, input.regionCode],
97
+ affectedAccountId: [, input.affectedAccountId],
98
+ });
99
+ let body;
100
+ return new __HttpRequest({
101
+ protocol,
102
+ hostname,
103
+ port,
104
+ method: "GET",
105
+ headers,
106
+ path: resolvedPath,
107
+ query,
108
+ body,
109
+ });
110
+ };
111
+ export const se_ListOrganizationRecommendationsCommand = async (input, context) => {
112
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
113
+ const headers = {};
114
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/organization-recommendations";
115
+ const query = map({
116
+ nextToken: [, input.nextToken],
117
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
118
+ type: [, input.type],
119
+ status: [, input.status],
120
+ pillar: [, input.pillar],
121
+ awsService: [, input.awsService],
122
+ source: [, input.source],
123
+ checkIdentifier: [, input.checkIdentifier],
124
+ afterLastUpdatedAt: [
125
+ () => input.afterLastUpdatedAt !== void 0,
126
+ () => (input.afterLastUpdatedAt.toISOString().split(".")[0] + "Z").toString(),
127
+ ],
128
+ beforeLastUpdatedAt: [
129
+ () => input.beforeLastUpdatedAt !== void 0,
130
+ () => (input.beforeLastUpdatedAt.toISOString().split(".")[0] + "Z").toString(),
131
+ ],
132
+ });
133
+ let body;
134
+ return new __HttpRequest({
135
+ protocol,
136
+ hostname,
137
+ port,
138
+ method: "GET",
139
+ headers,
140
+ path: resolvedPath,
141
+ query,
142
+ body,
143
+ });
144
+ };
145
+ export const se_ListRecommendationResourcesCommand = async (input, context) => {
146
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
147
+ const headers = {};
148
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
149
+ "/v1/recommendations/{recommendationIdentifier}/resources";
150
+ resolvedPath = __resolvedPath(resolvedPath, input, "recommendationIdentifier", () => input.recommendationIdentifier, "{recommendationIdentifier}", false);
151
+ const query = map({
152
+ nextToken: [, input.nextToken],
153
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
154
+ status: [, input.status],
155
+ regionCode: [, input.regionCode],
156
+ });
157
+ let body;
158
+ return new __HttpRequest({
159
+ protocol,
160
+ hostname,
161
+ port,
162
+ method: "GET",
163
+ headers,
164
+ path: resolvedPath,
165
+ query,
166
+ body,
167
+ });
168
+ };
169
+ export const se_ListRecommendationsCommand = async (input, context) => {
170
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
171
+ const headers = {};
172
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v1/recommendations";
173
+ const query = map({
174
+ nextToken: [, input.nextToken],
175
+ maxResults: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
176
+ type: [, input.type],
177
+ status: [, input.status],
178
+ pillar: [, input.pillar],
179
+ awsService: [, input.awsService],
180
+ source: [, input.source],
181
+ checkIdentifier: [, input.checkIdentifier],
182
+ afterLastUpdatedAt: [
183
+ () => input.afterLastUpdatedAt !== void 0,
184
+ () => (input.afterLastUpdatedAt.toISOString().split(".")[0] + "Z").toString(),
185
+ ],
186
+ beforeLastUpdatedAt: [
187
+ () => input.beforeLastUpdatedAt !== void 0,
188
+ () => (input.beforeLastUpdatedAt.toISOString().split(".")[0] + "Z").toString(),
189
+ ],
190
+ });
191
+ let body;
192
+ return new __HttpRequest({
193
+ protocol,
194
+ hostname,
195
+ port,
196
+ method: "GET",
197
+ headers,
198
+ path: resolvedPath,
199
+ query,
200
+ body,
201
+ });
202
+ };
203
+ export const se_UpdateOrganizationRecommendationLifecycleCommand = async (input, context) => {
204
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
205
+ const headers = {
206
+ "content-type": "application/json",
207
+ };
208
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
209
+ "/v1/organization-recommendations/{organizationRecommendationIdentifier}/lifecycle";
210
+ resolvedPath = __resolvedPath(resolvedPath, input, "organizationRecommendationIdentifier", () => input.organizationRecommendationIdentifier, "{organizationRecommendationIdentifier}", false);
211
+ let body;
212
+ body = JSON.stringify(take(input, {
213
+ lifecycleStage: [],
214
+ updateReason: [],
215
+ updateReasonCode: [],
216
+ }));
217
+ return new __HttpRequest({
218
+ protocol,
219
+ hostname,
220
+ port,
221
+ method: "PUT",
222
+ headers,
223
+ path: resolvedPath,
224
+ body,
225
+ });
226
+ };
227
+ export const se_UpdateRecommendationLifecycleCommand = async (input, context) => {
228
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
229
+ const headers = {
230
+ "content-type": "application/json",
231
+ };
232
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
233
+ "/v1/recommendations/{recommendationIdentifier}/lifecycle";
234
+ resolvedPath = __resolvedPath(resolvedPath, input, "recommendationIdentifier", () => input.recommendationIdentifier, "{recommendationIdentifier}", false);
235
+ let body;
236
+ body = JSON.stringify(take(input, {
237
+ lifecycleStage: [],
238
+ updateReason: [],
239
+ updateReasonCode: [],
240
+ }));
241
+ return new __HttpRequest({
242
+ protocol,
243
+ hostname,
244
+ port,
245
+ method: "PUT",
246
+ headers,
247
+ path: resolvedPath,
248
+ body,
249
+ });
250
+ };
251
+ export const de_GetOrganizationRecommendationCommand = async (output, context) => {
252
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
253
+ return de_GetOrganizationRecommendationCommandError(output, context);
254
+ }
255
+ const contents = map({
256
+ $metadata: deserializeMetadata(output),
257
+ });
258
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
259
+ const doc = take(data, {
260
+ organizationRecommendation: (_) => de_OrganizationRecommendation(_, context),
261
+ });
262
+ Object.assign(contents, doc);
263
+ return contents;
264
+ };
265
+ const de_GetOrganizationRecommendationCommandError = async (output, context) => {
266
+ const parsedOutput = {
267
+ ...output,
268
+ body: await parseErrorBody(output.body, context),
269
+ };
270
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
271
+ switch (errorCode) {
272
+ case "AccessDeniedException":
273
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
274
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
275
+ case "InternalServerException":
276
+ case "com.amazonaws.trustedadvisor#InternalServerException":
277
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
278
+ case "ResourceNotFoundException":
279
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
280
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
281
+ case "ThrottlingException":
282
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
283
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
284
+ case "ValidationException":
285
+ case "com.amazonaws.trustedadvisor#ValidationException":
286
+ throw await de_ValidationExceptionRes(parsedOutput, context);
287
+ default:
288
+ const parsedBody = parsedOutput.body;
289
+ return throwDefaultError({
290
+ output,
291
+ parsedBody,
292
+ errorCode,
293
+ });
294
+ }
295
+ };
296
+ export const de_GetRecommendationCommand = async (output, context) => {
297
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
298
+ return de_GetRecommendationCommandError(output, context);
299
+ }
300
+ const contents = map({
301
+ $metadata: deserializeMetadata(output),
302
+ });
303
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
304
+ const doc = take(data, {
305
+ recommendation: (_) => de_Recommendation(_, context),
306
+ });
307
+ Object.assign(contents, doc);
308
+ return contents;
309
+ };
310
+ const de_GetRecommendationCommandError = async (output, context) => {
311
+ const parsedOutput = {
312
+ ...output,
313
+ body: await parseErrorBody(output.body, context),
314
+ };
315
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
316
+ switch (errorCode) {
317
+ case "AccessDeniedException":
318
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
319
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
320
+ case "InternalServerException":
321
+ case "com.amazonaws.trustedadvisor#InternalServerException":
322
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
323
+ case "ResourceNotFoundException":
324
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
325
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
326
+ case "ThrottlingException":
327
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
328
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
329
+ case "ValidationException":
330
+ case "com.amazonaws.trustedadvisor#ValidationException":
331
+ throw await de_ValidationExceptionRes(parsedOutput, context);
332
+ default:
333
+ const parsedBody = parsedOutput.body;
334
+ return throwDefaultError({
335
+ output,
336
+ parsedBody,
337
+ errorCode,
338
+ });
339
+ }
340
+ };
341
+ export const de_ListChecksCommand = async (output, context) => {
342
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
343
+ return de_ListChecksCommandError(output, context);
344
+ }
345
+ const contents = map({
346
+ $metadata: deserializeMetadata(output),
347
+ });
348
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
349
+ const doc = take(data, {
350
+ checkSummaries: _json,
351
+ nextToken: __expectString,
352
+ });
353
+ Object.assign(contents, doc);
354
+ return contents;
355
+ };
356
+ const de_ListChecksCommandError = async (output, context) => {
357
+ const parsedOutput = {
358
+ ...output,
359
+ body: await parseErrorBody(output.body, context),
360
+ };
361
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
362
+ switch (errorCode) {
363
+ case "AccessDeniedException":
364
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
365
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
366
+ case "InternalServerException":
367
+ case "com.amazonaws.trustedadvisor#InternalServerException":
368
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
369
+ case "ThrottlingException":
370
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
371
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
372
+ case "ValidationException":
373
+ case "com.amazonaws.trustedadvisor#ValidationException":
374
+ throw await de_ValidationExceptionRes(parsedOutput, context);
375
+ default:
376
+ const parsedBody = parsedOutput.body;
377
+ return throwDefaultError({
378
+ output,
379
+ parsedBody,
380
+ errorCode,
381
+ });
382
+ }
383
+ };
384
+ export const de_ListOrganizationRecommendationAccountsCommand = async (output, context) => {
385
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
386
+ return de_ListOrganizationRecommendationAccountsCommandError(output, context);
387
+ }
388
+ const contents = map({
389
+ $metadata: deserializeMetadata(output),
390
+ });
391
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
392
+ const doc = take(data, {
393
+ accountRecommendationLifecycleSummaries: (_) => de_AccountRecommendationLifecycleSummaryList(_, context),
394
+ nextToken: __expectString,
395
+ });
396
+ Object.assign(contents, doc);
397
+ return contents;
398
+ };
399
+ const de_ListOrganizationRecommendationAccountsCommandError = async (output, context) => {
400
+ const parsedOutput = {
401
+ ...output,
402
+ body: await parseErrorBody(output.body, context),
403
+ };
404
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
405
+ switch (errorCode) {
406
+ case "AccessDeniedException":
407
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
408
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
409
+ case "InternalServerException":
410
+ case "com.amazonaws.trustedadvisor#InternalServerException":
411
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
412
+ case "ResourceNotFoundException":
413
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
414
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
415
+ case "ThrottlingException":
416
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
417
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
418
+ case "ValidationException":
419
+ case "com.amazonaws.trustedadvisor#ValidationException":
420
+ throw await de_ValidationExceptionRes(parsedOutput, context);
421
+ default:
422
+ const parsedBody = parsedOutput.body;
423
+ return throwDefaultError({
424
+ output,
425
+ parsedBody,
426
+ errorCode,
427
+ });
428
+ }
429
+ };
430
+ export const de_ListOrganizationRecommendationResourcesCommand = async (output, context) => {
431
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
432
+ return de_ListOrganizationRecommendationResourcesCommandError(output, context);
433
+ }
434
+ const contents = map({
435
+ $metadata: deserializeMetadata(output),
436
+ });
437
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
438
+ const doc = take(data, {
439
+ nextToken: __expectString,
440
+ organizationRecommendationResourceSummaries: (_) => de_OrganizationRecommendationResourceSummaryList(_, context),
441
+ });
442
+ Object.assign(contents, doc);
443
+ return contents;
444
+ };
445
+ const de_ListOrganizationRecommendationResourcesCommandError = async (output, context) => {
446
+ const parsedOutput = {
447
+ ...output,
448
+ body: await parseErrorBody(output.body, context),
449
+ };
450
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
451
+ switch (errorCode) {
452
+ case "AccessDeniedException":
453
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
454
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
455
+ case "InternalServerException":
456
+ case "com.amazonaws.trustedadvisor#InternalServerException":
457
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
458
+ case "ResourceNotFoundException":
459
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
460
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
461
+ case "ThrottlingException":
462
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
463
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
464
+ case "ValidationException":
465
+ case "com.amazonaws.trustedadvisor#ValidationException":
466
+ throw await de_ValidationExceptionRes(parsedOutput, context);
467
+ default:
468
+ const parsedBody = parsedOutput.body;
469
+ return throwDefaultError({
470
+ output,
471
+ parsedBody,
472
+ errorCode,
473
+ });
474
+ }
475
+ };
476
+ export const de_ListOrganizationRecommendationsCommand = async (output, context) => {
477
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
478
+ return de_ListOrganizationRecommendationsCommandError(output, context);
479
+ }
480
+ const contents = map({
481
+ $metadata: deserializeMetadata(output),
482
+ });
483
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
484
+ const doc = take(data, {
485
+ nextToken: __expectString,
486
+ organizationRecommendationSummaries: (_) => de_OrganizationRecommendationSummaryList(_, context),
487
+ });
488
+ Object.assign(contents, doc);
489
+ return contents;
490
+ };
491
+ const de_ListOrganizationRecommendationsCommandError = async (output, context) => {
492
+ const parsedOutput = {
493
+ ...output,
494
+ body: await parseErrorBody(output.body, context),
495
+ };
496
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
497
+ switch (errorCode) {
498
+ case "AccessDeniedException":
499
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
500
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
501
+ case "InternalServerException":
502
+ case "com.amazonaws.trustedadvisor#InternalServerException":
503
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
504
+ case "ThrottlingException":
505
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
506
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
507
+ case "ValidationException":
508
+ case "com.amazonaws.trustedadvisor#ValidationException":
509
+ throw await de_ValidationExceptionRes(parsedOutput, context);
510
+ default:
511
+ const parsedBody = parsedOutput.body;
512
+ return throwDefaultError({
513
+ output,
514
+ parsedBody,
515
+ errorCode,
516
+ });
517
+ }
518
+ };
519
+ export const de_ListRecommendationResourcesCommand = async (output, context) => {
520
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
521
+ return de_ListRecommendationResourcesCommandError(output, context);
522
+ }
523
+ const contents = map({
524
+ $metadata: deserializeMetadata(output),
525
+ });
526
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
527
+ const doc = take(data, {
528
+ nextToken: __expectString,
529
+ recommendationResourceSummaries: (_) => de_RecommendationResourceSummaryList(_, context),
530
+ });
531
+ Object.assign(contents, doc);
532
+ return contents;
533
+ };
534
+ const de_ListRecommendationResourcesCommandError = async (output, context) => {
535
+ const parsedOutput = {
536
+ ...output,
537
+ body: await parseErrorBody(output.body, context),
538
+ };
539
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
540
+ switch (errorCode) {
541
+ case "AccessDeniedException":
542
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
543
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
544
+ case "InternalServerException":
545
+ case "com.amazonaws.trustedadvisor#InternalServerException":
546
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
547
+ case "ResourceNotFoundException":
548
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
549
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
550
+ case "ThrottlingException":
551
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
552
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
553
+ case "ValidationException":
554
+ case "com.amazonaws.trustedadvisor#ValidationException":
555
+ throw await de_ValidationExceptionRes(parsedOutput, context);
556
+ default:
557
+ const parsedBody = parsedOutput.body;
558
+ return throwDefaultError({
559
+ output,
560
+ parsedBody,
561
+ errorCode,
562
+ });
563
+ }
564
+ };
565
+ export const de_ListRecommendationsCommand = async (output, context) => {
566
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
567
+ return de_ListRecommendationsCommandError(output, context);
568
+ }
569
+ const contents = map({
570
+ $metadata: deserializeMetadata(output),
571
+ });
572
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
573
+ const doc = take(data, {
574
+ nextToken: __expectString,
575
+ recommendationSummaries: (_) => de_RecommendationSummaryList(_, context),
576
+ });
577
+ Object.assign(contents, doc);
578
+ return contents;
579
+ };
580
+ const de_ListRecommendationsCommandError = async (output, context) => {
581
+ const parsedOutput = {
582
+ ...output,
583
+ body: await parseErrorBody(output.body, context),
584
+ };
585
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
586
+ switch (errorCode) {
587
+ case "AccessDeniedException":
588
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
589
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
590
+ case "InternalServerException":
591
+ case "com.amazonaws.trustedadvisor#InternalServerException":
592
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
593
+ case "ThrottlingException":
594
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
595
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
596
+ case "ValidationException":
597
+ case "com.amazonaws.trustedadvisor#ValidationException":
598
+ throw await de_ValidationExceptionRes(parsedOutput, context);
599
+ default:
600
+ const parsedBody = parsedOutput.body;
601
+ return throwDefaultError({
602
+ output,
603
+ parsedBody,
604
+ errorCode,
605
+ });
606
+ }
607
+ };
608
+ export const de_UpdateOrganizationRecommendationLifecycleCommand = async (output, context) => {
609
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
610
+ return de_UpdateOrganizationRecommendationLifecycleCommandError(output, context);
611
+ }
612
+ const contents = map({
613
+ $metadata: deserializeMetadata(output),
614
+ });
615
+ await collectBody(output.body, context);
616
+ return contents;
617
+ };
618
+ const de_UpdateOrganizationRecommendationLifecycleCommandError = async (output, context) => {
619
+ const parsedOutput = {
620
+ ...output,
621
+ body: await parseErrorBody(output.body, context),
622
+ };
623
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
624
+ switch (errorCode) {
625
+ case "AccessDeniedException":
626
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
627
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
628
+ case "ConflictException":
629
+ case "com.amazonaws.trustedadvisor#ConflictException":
630
+ throw await de_ConflictExceptionRes(parsedOutput, context);
631
+ case "InternalServerException":
632
+ case "com.amazonaws.trustedadvisor#InternalServerException":
633
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
634
+ case "ResourceNotFoundException":
635
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
636
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
637
+ case "ThrottlingException":
638
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
639
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
640
+ case "ValidationException":
641
+ case "com.amazonaws.trustedadvisor#ValidationException":
642
+ throw await de_ValidationExceptionRes(parsedOutput, context);
643
+ default:
644
+ const parsedBody = parsedOutput.body;
645
+ return throwDefaultError({
646
+ output,
647
+ parsedBody,
648
+ errorCode,
649
+ });
650
+ }
651
+ };
652
+ export const de_UpdateRecommendationLifecycleCommand = async (output, context) => {
653
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
654
+ return de_UpdateRecommendationLifecycleCommandError(output, context);
655
+ }
656
+ const contents = map({
657
+ $metadata: deserializeMetadata(output),
658
+ });
659
+ await collectBody(output.body, context);
660
+ return contents;
661
+ };
662
+ const de_UpdateRecommendationLifecycleCommandError = async (output, context) => {
663
+ const parsedOutput = {
664
+ ...output,
665
+ body: await parseErrorBody(output.body, context),
666
+ };
667
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
668
+ switch (errorCode) {
669
+ case "AccessDeniedException":
670
+ case "com.amazonaws.trustedadvisor#AccessDeniedException":
671
+ throw await de_AccessDeniedExceptionRes(parsedOutput, context);
672
+ case "ConflictException":
673
+ case "com.amazonaws.trustedadvisor#ConflictException":
674
+ throw await de_ConflictExceptionRes(parsedOutput, context);
675
+ case "InternalServerException":
676
+ case "com.amazonaws.trustedadvisor#InternalServerException":
677
+ throw await de_InternalServerExceptionRes(parsedOutput, context);
678
+ case "ResourceNotFoundException":
679
+ case "com.amazonaws.trustedadvisor#ResourceNotFoundException":
680
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
681
+ case "ThrottlingException":
682
+ case "com.amazonaws.trustedadvisor#ThrottlingException":
683
+ throw await de_ThrottlingExceptionRes(parsedOutput, context);
684
+ case "ValidationException":
685
+ case "com.amazonaws.trustedadvisor#ValidationException":
686
+ throw await de_ValidationExceptionRes(parsedOutput, context);
687
+ default:
688
+ const parsedBody = parsedOutput.body;
689
+ return throwDefaultError({
690
+ output,
691
+ parsedBody,
692
+ errorCode,
693
+ });
694
+ }
695
+ };
696
+ const throwDefaultError = withBaseException(__BaseException);
697
+ const de_AccessDeniedExceptionRes = async (parsedOutput, context) => {
698
+ const contents = map({});
699
+ const data = parsedOutput.body;
700
+ const doc = take(data, {
701
+ message: __expectString,
702
+ });
703
+ Object.assign(contents, doc);
704
+ const exception = new AccessDeniedException({
705
+ $metadata: deserializeMetadata(parsedOutput),
706
+ ...contents,
707
+ });
708
+ return __decorateServiceException(exception, parsedOutput.body);
709
+ };
710
+ const de_ConflictExceptionRes = async (parsedOutput, context) => {
711
+ const contents = map({});
712
+ const data = parsedOutput.body;
713
+ const doc = take(data, {
714
+ message: __expectString,
715
+ });
716
+ Object.assign(contents, doc);
717
+ const exception = new ConflictException({
718
+ $metadata: deserializeMetadata(parsedOutput),
719
+ ...contents,
720
+ });
721
+ return __decorateServiceException(exception, parsedOutput.body);
722
+ };
723
+ const de_InternalServerExceptionRes = async (parsedOutput, context) => {
724
+ const contents = map({});
725
+ const data = parsedOutput.body;
726
+ const doc = take(data, {
727
+ message: __expectString,
728
+ });
729
+ Object.assign(contents, doc);
730
+ const exception = new InternalServerException({
731
+ $metadata: deserializeMetadata(parsedOutput),
732
+ ...contents,
733
+ });
734
+ return __decorateServiceException(exception, parsedOutput.body);
735
+ };
736
+ const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
737
+ const contents = map({});
738
+ const data = parsedOutput.body;
739
+ const doc = take(data, {
740
+ message: __expectString,
741
+ });
742
+ Object.assign(contents, doc);
743
+ const exception = new ResourceNotFoundException({
744
+ $metadata: deserializeMetadata(parsedOutput),
745
+ ...contents,
746
+ });
747
+ return __decorateServiceException(exception, parsedOutput.body);
748
+ };
749
+ const de_ThrottlingExceptionRes = async (parsedOutput, context) => {
750
+ const contents = map({});
751
+ const data = parsedOutput.body;
752
+ const doc = take(data, {
753
+ message: __expectString,
754
+ });
755
+ Object.assign(contents, doc);
756
+ const exception = new ThrottlingException({
757
+ $metadata: deserializeMetadata(parsedOutput),
758
+ ...contents,
759
+ });
760
+ return __decorateServiceException(exception, parsedOutput.body);
761
+ };
762
+ const de_ValidationExceptionRes = async (parsedOutput, context) => {
763
+ const contents = map({});
764
+ const data = parsedOutput.body;
765
+ const doc = take(data, {
766
+ message: __expectString,
767
+ });
768
+ Object.assign(contents, doc);
769
+ const exception = new ValidationException({
770
+ $metadata: deserializeMetadata(parsedOutput),
771
+ ...contents,
772
+ });
773
+ return __decorateServiceException(exception, parsedOutput.body);
774
+ };
775
+ const de_AccountRecommendationLifecycleSummary = (output, context) => {
776
+ return take(output, {
777
+ accountId: __expectString,
778
+ accountRecommendationArn: __expectString,
779
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
780
+ lifecycleStage: __expectString,
781
+ updateReason: __expectString,
782
+ updateReasonCode: __expectString,
783
+ updatedOnBehalfOf: __expectString,
784
+ updatedOnBehalfOfJobTitle: __expectString,
785
+ });
786
+ };
787
+ const de_AccountRecommendationLifecycleSummaryList = (output, context) => {
788
+ const retVal = (output || [])
789
+ .filter((e) => e != null)
790
+ .map((entry) => {
791
+ return de_AccountRecommendationLifecycleSummary(entry, context);
792
+ });
793
+ return retVal;
794
+ };
795
+ const de_OrganizationRecommendation = (output, context) => {
796
+ return take(output, {
797
+ arn: __expectString,
798
+ awsServices: _json,
799
+ checkArn: __expectString,
800
+ createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
801
+ createdBy: __expectString,
802
+ description: __expectString,
803
+ id: __expectString,
804
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
805
+ lifecycleStage: __expectString,
806
+ name: __expectString,
807
+ pillarSpecificAggregates: (_) => de_RecommendationPillarSpecificAggregates(_, context),
808
+ pillars: _json,
809
+ resolvedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
810
+ resourcesAggregates: _json,
811
+ source: __expectString,
812
+ status: __expectString,
813
+ type: __expectString,
814
+ updateReason: __expectString,
815
+ updateReasonCode: __expectString,
816
+ updatedOnBehalfOf: __expectString,
817
+ updatedOnBehalfOfJobTitle: __expectString,
818
+ });
819
+ };
820
+ const de_OrganizationRecommendationResourceSummary = (output, context) => {
821
+ return take(output, {
822
+ accountId: __expectString,
823
+ arn: __expectString,
824
+ awsResourceId: __expectString,
825
+ id: __expectString,
826
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
827
+ metadata: _json,
828
+ recommendationArn: __expectString,
829
+ regionCode: __expectString,
830
+ status: __expectString,
831
+ });
832
+ };
833
+ const de_OrganizationRecommendationResourceSummaryList = (output, context) => {
834
+ const retVal = (output || [])
835
+ .filter((e) => e != null)
836
+ .map((entry) => {
837
+ return de_OrganizationRecommendationResourceSummary(entry, context);
838
+ });
839
+ return retVal;
840
+ };
841
+ const de_OrganizationRecommendationSummary = (output, context) => {
842
+ return take(output, {
843
+ arn: __expectString,
844
+ awsServices: _json,
845
+ checkArn: __expectString,
846
+ createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
847
+ id: __expectString,
848
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
849
+ lifecycleStage: __expectString,
850
+ name: __expectString,
851
+ pillarSpecificAggregates: (_) => de_RecommendationPillarSpecificAggregates(_, context),
852
+ pillars: _json,
853
+ resourcesAggregates: _json,
854
+ source: __expectString,
855
+ status: __expectString,
856
+ type: __expectString,
857
+ });
858
+ };
859
+ const de_OrganizationRecommendationSummaryList = (output, context) => {
860
+ const retVal = (output || [])
861
+ .filter((e) => e != null)
862
+ .map((entry) => {
863
+ return de_OrganizationRecommendationSummary(entry, context);
864
+ });
865
+ return retVal;
866
+ };
867
+ const de_Recommendation = (output, context) => {
868
+ return take(output, {
869
+ arn: __expectString,
870
+ awsServices: _json,
871
+ checkArn: __expectString,
872
+ createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
873
+ createdBy: __expectString,
874
+ description: __expectString,
875
+ id: __expectString,
876
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
877
+ lifecycleStage: __expectString,
878
+ name: __expectString,
879
+ pillarSpecificAggregates: (_) => de_RecommendationPillarSpecificAggregates(_, context),
880
+ pillars: _json,
881
+ resolvedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
882
+ resourcesAggregates: _json,
883
+ source: __expectString,
884
+ status: __expectString,
885
+ type: __expectString,
886
+ updateReason: __expectString,
887
+ updateReasonCode: __expectString,
888
+ updatedOnBehalfOf: __expectString,
889
+ updatedOnBehalfOfJobTitle: __expectString,
890
+ });
891
+ };
892
+ const de_RecommendationCostOptimizingAggregates = (output, context) => {
893
+ return take(output, {
894
+ estimatedMonthlySavings: __limitedParseDouble,
895
+ estimatedPercentMonthlySavings: __limitedParseDouble,
896
+ });
897
+ };
898
+ const de_RecommendationPillarSpecificAggregates = (output, context) => {
899
+ return take(output, {
900
+ costOptimizing: (_) => de_RecommendationCostOptimizingAggregates(_, context),
901
+ });
902
+ };
903
+ const de_RecommendationResourceSummary = (output, context) => {
904
+ return take(output, {
905
+ arn: __expectString,
906
+ awsResourceId: __expectString,
907
+ id: __expectString,
908
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
909
+ metadata: _json,
910
+ recommendationArn: __expectString,
911
+ regionCode: __expectString,
912
+ status: __expectString,
913
+ });
914
+ };
915
+ const de_RecommendationResourceSummaryList = (output, context) => {
916
+ const retVal = (output || [])
917
+ .filter((e) => e != null)
918
+ .map((entry) => {
919
+ return de_RecommendationResourceSummary(entry, context);
920
+ });
921
+ return retVal;
922
+ };
923
+ const de_RecommendationSummary = (output, context) => {
924
+ return take(output, {
925
+ arn: __expectString,
926
+ awsServices: _json,
927
+ checkArn: __expectString,
928
+ createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
929
+ id: __expectString,
930
+ lastUpdatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
931
+ lifecycleStage: __expectString,
932
+ name: __expectString,
933
+ pillarSpecificAggregates: (_) => de_RecommendationPillarSpecificAggregates(_, context),
934
+ pillars: _json,
935
+ resourcesAggregates: _json,
936
+ source: __expectString,
937
+ status: __expectString,
938
+ type: __expectString,
939
+ });
940
+ };
941
+ const de_RecommendationSummaryList = (output, context) => {
942
+ const retVal = (output || [])
943
+ .filter((e) => e != null)
944
+ .map((entry) => {
945
+ return de_RecommendationSummary(entry, context);
946
+ });
947
+ return retVal;
948
+ };
949
+ const deserializeMetadata = (output) => ({
950
+ httpStatusCode: output.statusCode,
951
+ requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
952
+ extendedRequestId: output.headers["x-amz-id-2"],
953
+ cfId: output.headers["x-amz-cf-id"],
954
+ });
955
+ const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
956
+ const isSerializableHeaderValue = (value) => value !== undefined &&
957
+ value !== null &&
958
+ value !== "" &&
959
+ (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) &&
960
+ (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0);
961
+ const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
962
+ if (encoded.length) {
963
+ return JSON.parse(encoded);
964
+ }
965
+ return {};
966
+ });
967
+ const parseErrorBody = async (errorBody, context) => {
968
+ const value = await parseBody(errorBody, context);
969
+ value.message = value.message ?? value.Message;
970
+ return value;
971
+ };
972
+ const loadRestJsonErrorCode = (output, data) => {
973
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
974
+ const sanitizeErrorCode = (rawValue) => {
975
+ let cleanValue = rawValue;
976
+ if (typeof cleanValue === "number") {
977
+ cleanValue = cleanValue.toString();
978
+ }
979
+ if (cleanValue.indexOf(",") >= 0) {
980
+ cleanValue = cleanValue.split(",")[0];
981
+ }
982
+ if (cleanValue.indexOf(":") >= 0) {
983
+ cleanValue = cleanValue.split(":")[0];
984
+ }
985
+ if (cleanValue.indexOf("#") >= 0) {
986
+ cleanValue = cleanValue.split("#")[1];
987
+ }
988
+ return cleanValue;
989
+ };
990
+ const headerKey = findKey(output.headers, "x-amzn-errortype");
991
+ if (headerKey !== undefined) {
992
+ return sanitizeErrorCode(output.headers[headerKey]);
993
+ }
994
+ if (data.code !== undefined) {
995
+ return sanitizeErrorCode(data.code);
996
+ }
997
+ if (data["__type"] !== undefined) {
998
+ return sanitizeErrorCode(data["__type"]);
999
+ }
1000
+ };