@aws-sdk/client-service-catalog-appregistry 3.28.0 → 3.32.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 (56) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +1 -1
  3. package/ServiceCatalogAppRegistry.ts +40 -2
  4. package/ServiceCatalogAppRegistryClient.ts +7 -1
  5. package/commands/GetAssociatedResourceCommand.ts +98 -0
  6. package/commands/SyncResourceCommand.ts +2 -1
  7. package/dist/cjs/ServiceCatalogAppRegistry.js +16 -1
  8. package/dist/cjs/ServiceCatalogAppRegistry.js.map +1 -1
  9. package/dist/cjs/ServiceCatalogAppRegistryClient.js +1 -1
  10. package/dist/cjs/ServiceCatalogAppRegistryClient.js.map +1 -1
  11. package/dist/cjs/commands/GetAssociatedResourceCommand.js +61 -0
  12. package/dist/cjs/commands/GetAssociatedResourceCommand.js.map +1 -0
  13. package/dist/cjs/commands/SyncResourceCommand.js +2 -1
  14. package/dist/cjs/commands/SyncResourceCommand.js.map +1 -1
  15. package/dist/cjs/index.js +1 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/models/models_0.js +65 -2
  18. package/dist/cjs/models/models_0.js.map +1 -1
  19. package/dist/cjs/package.json +31 -31
  20. package/dist/cjs/protocols/Aws_restJson1.js +188 -32
  21. package/dist/cjs/protocols/Aws_restJson1.js.map +1 -1
  22. package/dist/es/ServiceCatalogAppRegistry.js +16 -1
  23. package/dist/es/ServiceCatalogAppRegistry.js.map +1 -1
  24. package/dist/es/ServiceCatalogAppRegistryClient.js +1 -1
  25. package/dist/es/ServiceCatalogAppRegistryClient.js.map +1 -1
  26. package/dist/es/commands/GetAssociatedResourceCommand.js +65 -0
  27. package/dist/es/commands/GetAssociatedResourceCommand.js.map +1 -0
  28. package/dist/es/commands/SyncResourceCommand.js +2 -1
  29. package/dist/es/commands/SyncResourceCommand.js.map +1 -1
  30. package/dist/es/endpoints.js +1 -2
  31. package/dist/es/endpoints.js.map +1 -1
  32. package/dist/es/index.js +1 -0
  33. package/dist/es/index.js.map +1 -1
  34. package/dist/es/models/models_0.js +51 -0
  35. package/dist/es/models/models_0.js.map +1 -1
  36. package/dist/es/package.json +31 -31
  37. package/dist/es/protocols/Aws_restJson1.js +297 -86
  38. package/dist/es/protocols/Aws_restJson1.js.map +1 -1
  39. package/dist/types/ServiceCatalogAppRegistry.d.ts +10 -2
  40. package/dist/types/ServiceCatalogAppRegistryClient.d.ts +4 -3
  41. package/dist/types/commands/GetAssociatedResourceCommand.d.ts +35 -0
  42. package/dist/types/commands/SyncResourceCommand.d.ts +2 -1
  43. package/dist/types/index.d.ts +1 -0
  44. package/dist/types/models/models_0.d.ts +143 -6
  45. package/dist/types/protocols/Aws_restJson1.d.ts +3 -0
  46. package/dist/types/ts3.4/ServiceCatalogAppRegistry.d.ts +10 -2
  47. package/dist/types/ts3.4/ServiceCatalogAppRegistryClient.d.ts +4 -3
  48. package/dist/types/ts3.4/commands/GetAssociatedResourceCommand.d.ts +35 -0
  49. package/dist/types/ts3.4/commands/SyncResourceCommand.d.ts +2 -1
  50. package/dist/types/ts3.4/index.d.ts +1 -0
  51. package/dist/types/ts3.4/models/models_0.d.ts +143 -6
  52. package/dist/types/ts3.4/protocols/Aws_restJson1.d.ts +3 -0
  53. package/index.ts +1 -0
  54. package/models/models_0.ts +176 -6
  55. package/package.json +31 -31
  56. package/protocols/Aws_restJson1.ts +215 -32
@@ -22,6 +22,10 @@ import {
22
22
  DisassociateResourceCommandOutput,
23
23
  } from "../commands/DisassociateResourceCommand";
24
24
  import { GetApplicationCommandInput, GetApplicationCommandOutput } from "../commands/GetApplicationCommand";
25
+ import {
26
+ GetAssociatedResourceCommandInput,
27
+ GetAssociatedResourceCommandOutput,
28
+ } from "../commands/GetAssociatedResourceCommand";
25
29
  import { GetAttributeGroupCommandInput, GetAttributeGroupCommandOutput } from "../commands/GetAttributeGroupCommand";
26
30
  import { ListApplicationsCommandInput, ListApplicationsCommandOutput } from "../commands/ListApplicationsCommand";
27
31
  import {
@@ -54,17 +58,24 @@ import {
54
58
  AttributeGroup,
55
59
  AttributeGroupSummary,
56
60
  ConflictException,
61
+ Integrations,
57
62
  InternalServerException,
63
+ Resource,
64
+ ResourceGroup,
58
65
  ResourceInfo,
66
+ ResourceIntegrations,
59
67
  ResourceNotFoundException,
60
68
  ServiceQuotaExceededException,
61
69
  ValidationException,
62
70
  } from "../models/models_0";
63
71
  import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
64
72
  import {
65
- expectInt as __expectInt,
73
+ expectInt32 as __expectInt32,
74
+ expectNonNull as __expectNonNull,
75
+ expectObject as __expectObject,
66
76
  expectString as __expectString,
67
77
  extendedEncodeURIComponent as __extendedEncodeURIComponent,
78
+ parseRfc3339DateTime as __parseRfc3339DateTime,
68
79
  } from "@aws-sdk/smithy-client";
69
80
  import {
70
81
  Endpoint as __Endpoint,
@@ -391,6 +402,54 @@ export const serializeAws_restJson1GetApplicationCommand = async (
391
402
  });
392
403
  };
393
404
 
405
+ export const serializeAws_restJson1GetAssociatedResourceCommand = async (
406
+ input: GetAssociatedResourceCommandInput,
407
+ context: __SerdeContext
408
+ ): Promise<__HttpRequest> => {
409
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
410
+ const headers: any = {};
411
+ let resolvedPath =
412
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
413
+ "/applications/{application}/resources/{resourceType}/{resource}";
414
+ if (input.application !== undefined) {
415
+ const labelValue: string = input.application;
416
+ if (labelValue.length <= 0) {
417
+ throw new Error("Empty value provided for input HTTP label: application.");
418
+ }
419
+ resolvedPath = resolvedPath.replace("{application}", __extendedEncodeURIComponent(labelValue));
420
+ } else {
421
+ throw new Error("No value provided for input HTTP label: application.");
422
+ }
423
+ if (input.resourceType !== undefined) {
424
+ const labelValue: string = input.resourceType;
425
+ if (labelValue.length <= 0) {
426
+ throw new Error("Empty value provided for input HTTP label: resourceType.");
427
+ }
428
+ resolvedPath = resolvedPath.replace("{resourceType}", __extendedEncodeURIComponent(labelValue));
429
+ } else {
430
+ throw new Error("No value provided for input HTTP label: resourceType.");
431
+ }
432
+ if (input.resource !== undefined) {
433
+ const labelValue: string = input.resource;
434
+ if (labelValue.length <= 0) {
435
+ throw new Error("Empty value provided for input HTTP label: resource.");
436
+ }
437
+ resolvedPath = resolvedPath.replace("{resource}", __extendedEncodeURIComponent(labelValue));
438
+ } else {
439
+ throw new Error("No value provided for input HTTP label: resource.");
440
+ }
441
+ let body: any;
442
+ return new __HttpRequest({
443
+ protocol,
444
+ hostname,
445
+ port,
446
+ method: "GET",
447
+ headers,
448
+ path: resolvedPath,
449
+ body,
450
+ });
451
+ };
452
+
394
453
  export const serializeAws_restJson1GetAttributeGroupCommand = async (
395
454
  input: GetAttributeGroupCommandInput,
396
455
  context: __SerdeContext
@@ -751,7 +810,7 @@ export const deserializeAws_restJson1AssociateAttributeGroupCommand = async (
751
810
  applicationArn: undefined,
752
811
  attributeGroupArn: undefined,
753
812
  };
754
- const data: any = await parseBody(output.body, context);
813
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
755
814
  if (data.applicationArn !== undefined && data.applicationArn !== null) {
756
815
  contents.applicationArn = __expectString(data.applicationArn);
757
816
  }
@@ -834,7 +893,7 @@ export const deserializeAws_restJson1AssociateResourceCommand = async (
834
893
  applicationArn: undefined,
835
894
  resourceArn: undefined,
836
895
  };
837
- const data: any = await parseBody(output.body, context);
896
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
838
897
  if (data.applicationArn !== undefined && data.applicationArn !== null) {
839
898
  contents.applicationArn = __expectString(data.applicationArn);
840
899
  }
@@ -916,7 +975,7 @@ export const deserializeAws_restJson1CreateApplicationCommand = async (
916
975
  $metadata: deserializeMetadata(output),
917
976
  application: undefined,
918
977
  };
919
- const data: any = await parseBody(output.body, context);
978
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
920
979
  if (data.application !== undefined && data.application !== null) {
921
980
  contents.application = deserializeAws_restJson1Application(data.application, context);
922
981
  }
@@ -987,7 +1046,7 @@ export const deserializeAws_restJson1CreateAttributeGroupCommand = async (
987
1046
  $metadata: deserializeMetadata(output),
988
1047
  attributeGroup: undefined,
989
1048
  };
990
- const data: any = await parseBody(output.body, context);
1049
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
991
1050
  if (data.attributeGroup !== undefined && data.attributeGroup !== null) {
992
1051
  contents.attributeGroup = deserializeAws_restJson1AttributeGroup(data.attributeGroup, context);
993
1052
  }
@@ -1066,7 +1125,7 @@ export const deserializeAws_restJson1DeleteApplicationCommand = async (
1066
1125
  $metadata: deserializeMetadata(output),
1067
1126
  application: undefined,
1068
1127
  };
1069
- const data: any = await parseBody(output.body, context);
1128
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1070
1129
  if (data.application !== undefined && data.application !== null) {
1071
1130
  contents.application = deserializeAws_restJson1ApplicationSummary(data.application, context);
1072
1131
  }
@@ -1137,7 +1196,7 @@ export const deserializeAws_restJson1DeleteAttributeGroupCommand = async (
1137
1196
  $metadata: deserializeMetadata(output),
1138
1197
  attributeGroup: undefined,
1139
1198
  };
1140
- const data: any = await parseBody(output.body, context);
1199
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1141
1200
  if (data.attributeGroup !== undefined && data.attributeGroup !== null) {
1142
1201
  contents.attributeGroup = deserializeAws_restJson1AttributeGroupSummary(data.attributeGroup, context);
1143
1202
  }
@@ -1209,7 +1268,7 @@ export const deserializeAws_restJson1DisassociateAttributeGroupCommand = async (
1209
1268
  applicationArn: undefined,
1210
1269
  attributeGroupArn: undefined,
1211
1270
  };
1212
- const data: any = await parseBody(output.body, context);
1271
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1213
1272
  if (data.applicationArn !== undefined && data.applicationArn !== null) {
1214
1273
  contents.applicationArn = __expectString(data.applicationArn);
1215
1274
  }
@@ -1284,7 +1343,7 @@ export const deserializeAws_restJson1DisassociateResourceCommand = async (
1284
1343
  applicationArn: undefined,
1285
1344
  resourceArn: undefined,
1286
1345
  };
1287
- const data: any = await parseBody(output.body, context);
1346
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1288
1347
  if (data.applicationArn !== undefined && data.applicationArn !== null) {
1289
1348
  contents.applicationArn = __expectString(data.applicationArn);
1290
1349
  }
@@ -1353,19 +1412,20 @@ export const deserializeAws_restJson1GetApplicationCommand = async (
1353
1412
  creationTime: undefined,
1354
1413
  description: undefined,
1355
1414
  id: undefined,
1415
+ integrations: undefined,
1356
1416
  lastUpdateTime: undefined,
1357
1417
  name: undefined,
1358
1418
  tags: undefined,
1359
1419
  };
1360
- const data: any = await parseBody(output.body, context);
1420
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1361
1421
  if (data.arn !== undefined && data.arn !== null) {
1362
1422
  contents.arn = __expectString(data.arn);
1363
1423
  }
1364
1424
  if (data.associatedResourceCount !== undefined && data.associatedResourceCount !== null) {
1365
- contents.associatedResourceCount = __expectInt(data.associatedResourceCount);
1425
+ contents.associatedResourceCount = __expectInt32(data.associatedResourceCount);
1366
1426
  }
1367
1427
  if (data.creationTime !== undefined && data.creationTime !== null) {
1368
- contents.creationTime = new Date(data.creationTime);
1428
+ contents.creationTime = __expectNonNull(__parseRfc3339DateTime(data.creationTime));
1369
1429
  }
1370
1430
  if (data.description !== undefined && data.description !== null) {
1371
1431
  contents.description = __expectString(data.description);
@@ -1373,8 +1433,11 @@ export const deserializeAws_restJson1GetApplicationCommand = async (
1373
1433
  if (data.id !== undefined && data.id !== null) {
1374
1434
  contents.id = __expectString(data.id);
1375
1435
  }
1436
+ if (data.integrations !== undefined && data.integrations !== null) {
1437
+ contents.integrations = deserializeAws_restJson1Integrations(data.integrations, context);
1438
+ }
1376
1439
  if (data.lastUpdateTime !== undefined && data.lastUpdateTime !== null) {
1377
- contents.lastUpdateTime = new Date(data.lastUpdateTime);
1440
+ contents.lastUpdateTime = __expectNonNull(__parseRfc3339DateTime(data.lastUpdateTime));
1378
1441
  }
1379
1442
  if (data.name !== undefined && data.name !== null) {
1380
1443
  contents.name = __expectString(data.name);
@@ -1438,6 +1501,77 @@ const deserializeAws_restJson1GetApplicationCommandError = async (
1438
1501
  return Promise.reject(Object.assign(new Error(message), response));
1439
1502
  };
1440
1503
 
1504
+ export const deserializeAws_restJson1GetAssociatedResourceCommand = async (
1505
+ output: __HttpResponse,
1506
+ context: __SerdeContext
1507
+ ): Promise<GetAssociatedResourceCommandOutput> => {
1508
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1509
+ return deserializeAws_restJson1GetAssociatedResourceCommandError(output, context);
1510
+ }
1511
+ const contents: GetAssociatedResourceCommandOutput = {
1512
+ $metadata: deserializeMetadata(output),
1513
+ resource: undefined,
1514
+ };
1515
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1516
+ if (data.resource !== undefined && data.resource !== null) {
1517
+ contents.resource = deserializeAws_restJson1Resource(data.resource, context);
1518
+ }
1519
+ return Promise.resolve(contents);
1520
+ };
1521
+
1522
+ const deserializeAws_restJson1GetAssociatedResourceCommandError = async (
1523
+ output: __HttpResponse,
1524
+ context: __SerdeContext
1525
+ ): Promise<GetAssociatedResourceCommandOutput> => {
1526
+ const parsedOutput: any = {
1527
+ ...output,
1528
+ body: await parseBody(output.body, context),
1529
+ };
1530
+ let response: __SmithyException & __MetadataBearer & { [key: string]: any };
1531
+ let errorCode: string = "UnknownError";
1532
+ errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1533
+ switch (errorCode) {
1534
+ case "InternalServerException":
1535
+ case "com.amazonaws.servicecatalogappregistry#InternalServerException":
1536
+ response = {
1537
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
1538
+ name: errorCode,
1539
+ $metadata: deserializeMetadata(output),
1540
+ };
1541
+ break;
1542
+ case "ResourceNotFoundException":
1543
+ case "com.amazonaws.servicecatalogappregistry#ResourceNotFoundException":
1544
+ response = {
1545
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
1546
+ name: errorCode,
1547
+ $metadata: deserializeMetadata(output),
1548
+ };
1549
+ break;
1550
+ case "ValidationException":
1551
+ case "com.amazonaws.servicecatalogappregistry#ValidationException":
1552
+ response = {
1553
+ ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)),
1554
+ name: errorCode,
1555
+ $metadata: deserializeMetadata(output),
1556
+ };
1557
+ break;
1558
+ default:
1559
+ const parsedBody = parsedOutput.body;
1560
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
1561
+ response = {
1562
+ ...parsedBody,
1563
+ name: `${errorCode}`,
1564
+ message: parsedBody.message || parsedBody.Message || errorCode,
1565
+ $fault: "client",
1566
+ $metadata: deserializeMetadata(output),
1567
+ } as any;
1568
+ }
1569
+ const message = response.message || response.Message || errorCode;
1570
+ response.message = message;
1571
+ delete response.Message;
1572
+ return Promise.reject(Object.assign(new Error(message), response));
1573
+ };
1574
+
1441
1575
  export const deserializeAws_restJson1GetAttributeGroupCommand = async (
1442
1576
  output: __HttpResponse,
1443
1577
  context: __SerdeContext
@@ -1456,7 +1590,7 @@ export const deserializeAws_restJson1GetAttributeGroupCommand = async (
1456
1590
  name: undefined,
1457
1591
  tags: undefined,
1458
1592
  };
1459
- const data: any = await parseBody(output.body, context);
1593
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1460
1594
  if (data.arn !== undefined && data.arn !== null) {
1461
1595
  contents.arn = __expectString(data.arn);
1462
1596
  }
@@ -1464,7 +1598,7 @@ export const deserializeAws_restJson1GetAttributeGroupCommand = async (
1464
1598
  contents.attributes = __expectString(data.attributes);
1465
1599
  }
1466
1600
  if (data.creationTime !== undefined && data.creationTime !== null) {
1467
- contents.creationTime = new Date(data.creationTime);
1601
+ contents.creationTime = __expectNonNull(__parseRfc3339DateTime(data.creationTime));
1468
1602
  }
1469
1603
  if (data.description !== undefined && data.description !== null) {
1470
1604
  contents.description = __expectString(data.description);
@@ -1473,7 +1607,7 @@ export const deserializeAws_restJson1GetAttributeGroupCommand = async (
1473
1607
  contents.id = __expectString(data.id);
1474
1608
  }
1475
1609
  if (data.lastUpdateTime !== undefined && data.lastUpdateTime !== null) {
1476
- contents.lastUpdateTime = new Date(data.lastUpdateTime);
1610
+ contents.lastUpdateTime = __expectNonNull(__parseRfc3339DateTime(data.lastUpdateTime));
1477
1611
  }
1478
1612
  if (data.name !== undefined && data.name !== null) {
1479
1613
  contents.name = __expectString(data.name);
@@ -1549,7 +1683,7 @@ export const deserializeAws_restJson1ListApplicationsCommand = async (
1549
1683
  applications: undefined,
1550
1684
  nextToken: undefined,
1551
1685
  };
1552
- const data: any = await parseBody(output.body, context);
1686
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1553
1687
  if (data.applications !== undefined && data.applications !== null) {
1554
1688
  contents.applications = deserializeAws_restJson1ApplicationSummaries(data.applications, context);
1555
1689
  }
@@ -1616,7 +1750,7 @@ export const deserializeAws_restJson1ListAssociatedAttributeGroupsCommand = asyn
1616
1750
  attributeGroups: undefined,
1617
1751
  nextToken: undefined,
1618
1752
  };
1619
- const data: any = await parseBody(output.body, context);
1753
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1620
1754
  if (data.attributeGroups !== undefined && data.attributeGroups !== null) {
1621
1755
  contents.attributeGroups = deserializeAws_restJson1AttributeGroupIds(data.attributeGroups, context);
1622
1756
  }
@@ -1691,7 +1825,7 @@ export const deserializeAws_restJson1ListAssociatedResourcesCommand = async (
1691
1825
  nextToken: undefined,
1692
1826
  resources: undefined,
1693
1827
  };
1694
- const data: any = await parseBody(output.body, context);
1828
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1695
1829
  if (data.nextToken !== undefined && data.nextToken !== null) {
1696
1830
  contents.nextToken = __expectString(data.nextToken);
1697
1831
  }
@@ -1766,7 +1900,7 @@ export const deserializeAws_restJson1ListAttributeGroupsCommand = async (
1766
1900
  attributeGroups: undefined,
1767
1901
  nextToken: undefined,
1768
1902
  };
1769
- const data: any = await parseBody(output.body, context);
1903
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1770
1904
  if (data.attributeGroups !== undefined && data.attributeGroups !== null) {
1771
1905
  contents.attributeGroups = deserializeAws_restJson1AttributeGroupSummaries(data.attributeGroups, context);
1772
1906
  }
@@ -1832,7 +1966,7 @@ export const deserializeAws_restJson1ListTagsForResourceCommand = async (
1832
1966
  $metadata: deserializeMetadata(output),
1833
1967
  tags: undefined,
1834
1968
  };
1835
- const data: any = await parseBody(output.body, context);
1969
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1836
1970
  if (data.tags !== undefined && data.tags !== null) {
1837
1971
  contents.tags = deserializeAws_restJson1Tags(data.tags, context);
1838
1972
  }
@@ -1905,7 +2039,7 @@ export const deserializeAws_restJson1SyncResourceCommand = async (
1905
2039
  applicationArn: undefined,
1906
2040
  resourceArn: undefined,
1907
2041
  };
1908
- const data: any = await parseBody(output.body, context);
2042
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1909
2043
  if (data.actionTaken !== undefined && data.actionTaken !== null) {
1910
2044
  contents.actionTaken = __expectString(data.actionTaken);
1911
2045
  }
@@ -2116,7 +2250,7 @@ export const deserializeAws_restJson1UpdateApplicationCommand = async (
2116
2250
  $metadata: deserializeMetadata(output),
2117
2251
  application: undefined,
2118
2252
  };
2119
- const data: any = await parseBody(output.body, context);
2253
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2120
2254
  if (data.application !== undefined && data.application !== null) {
2121
2255
  contents.application = deserializeAws_restJson1Application(data.application, context);
2122
2256
  }
@@ -2187,7 +2321,7 @@ export const deserializeAws_restJson1UpdateAttributeGroupCommand = async (
2187
2321
  $metadata: deserializeMetadata(output),
2188
2322
  attributeGroup: undefined,
2189
2323
  };
2190
- const data: any = await parseBody(output.body, context);
2324
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2191
2325
  if (data.attributeGroup !== undefined && data.attributeGroup !== null) {
2192
2326
  contents.attributeGroup = deserializeAws_restJson1AttributeGroup(data.attributeGroup, context);
2193
2327
  }
@@ -2356,12 +2490,14 @@ const deserializeAws_restJson1Application = (output: any, context: __SerdeContex
2356
2490
  return {
2357
2491
  arn: __expectString(output.arn),
2358
2492
  creationTime:
2359
- output.creationTime !== undefined && output.creationTime !== null ? new Date(output.creationTime) : undefined,
2493
+ output.creationTime !== undefined && output.creationTime !== null
2494
+ ? __expectNonNull(__parseRfc3339DateTime(output.creationTime))
2495
+ : undefined,
2360
2496
  description: __expectString(output.description),
2361
2497
  id: __expectString(output.id),
2362
2498
  lastUpdateTime:
2363
2499
  output.lastUpdateTime !== undefined && output.lastUpdateTime !== null
2364
- ? new Date(output.lastUpdateTime)
2500
+ ? __expectNonNull(__parseRfc3339DateTime(output.lastUpdateTime))
2365
2501
  : undefined,
2366
2502
  name: __expectString(output.name),
2367
2503
  tags:
@@ -2386,12 +2522,14 @@ const deserializeAws_restJson1ApplicationSummary = (output: any, context: __Serd
2386
2522
  return {
2387
2523
  arn: __expectString(output.arn),
2388
2524
  creationTime:
2389
- output.creationTime !== undefined && output.creationTime !== null ? new Date(output.creationTime) : undefined,
2525
+ output.creationTime !== undefined && output.creationTime !== null
2526
+ ? __expectNonNull(__parseRfc3339DateTime(output.creationTime))
2527
+ : undefined,
2390
2528
  description: __expectString(output.description),
2391
2529
  id: __expectString(output.id),
2392
2530
  lastUpdateTime:
2393
2531
  output.lastUpdateTime !== undefined && output.lastUpdateTime !== null
2394
- ? new Date(output.lastUpdateTime)
2532
+ ? __expectNonNull(__parseRfc3339DateTime(output.lastUpdateTime))
2395
2533
  : undefined,
2396
2534
  name: __expectString(output.name),
2397
2535
  } as any;
@@ -2401,12 +2539,14 @@ const deserializeAws_restJson1AttributeGroup = (output: any, context: __SerdeCon
2401
2539
  return {
2402
2540
  arn: __expectString(output.arn),
2403
2541
  creationTime:
2404
- output.creationTime !== undefined && output.creationTime !== null ? new Date(output.creationTime) : undefined,
2542
+ output.creationTime !== undefined && output.creationTime !== null
2543
+ ? __expectNonNull(__parseRfc3339DateTime(output.creationTime))
2544
+ : undefined,
2405
2545
  description: __expectString(output.description),
2406
2546
  id: __expectString(output.id),
2407
2547
  lastUpdateTime:
2408
2548
  output.lastUpdateTime !== undefined && output.lastUpdateTime !== null
2409
- ? new Date(output.lastUpdateTime)
2549
+ ? __expectNonNull(__parseRfc3339DateTime(output.lastUpdateTime))
2410
2550
  : undefined,
2411
2551
  name: __expectString(output.name),
2412
2552
  tags:
@@ -2445,17 +2585,51 @@ const deserializeAws_restJson1AttributeGroupSummary = (output: any, context: __S
2445
2585
  return {
2446
2586
  arn: __expectString(output.arn),
2447
2587
  creationTime:
2448
- output.creationTime !== undefined && output.creationTime !== null ? new Date(output.creationTime) : undefined,
2588
+ output.creationTime !== undefined && output.creationTime !== null
2589
+ ? __expectNonNull(__parseRfc3339DateTime(output.creationTime))
2590
+ : undefined,
2449
2591
  description: __expectString(output.description),
2450
2592
  id: __expectString(output.id),
2451
2593
  lastUpdateTime:
2452
2594
  output.lastUpdateTime !== undefined && output.lastUpdateTime !== null
2453
- ? new Date(output.lastUpdateTime)
2595
+ ? __expectNonNull(__parseRfc3339DateTime(output.lastUpdateTime))
2596
+ : undefined,
2597
+ name: __expectString(output.name),
2598
+ } as any;
2599
+ };
2600
+
2601
+ const deserializeAws_restJson1Integrations = (output: any, context: __SerdeContext): Integrations => {
2602
+ return {
2603
+ resourceGroup:
2604
+ output.resourceGroup !== undefined && output.resourceGroup !== null
2605
+ ? deserializeAws_restJson1ResourceGroup(output.resourceGroup, context)
2606
+ : undefined,
2607
+ } as any;
2608
+ };
2609
+
2610
+ const deserializeAws_restJson1Resource = (output: any, context: __SerdeContext): Resource => {
2611
+ return {
2612
+ arn: __expectString(output.arn),
2613
+ associationTime:
2614
+ output.associationTime !== undefined && output.associationTime !== null
2615
+ ? __expectNonNull(__parseRfc3339DateTime(output.associationTime))
2616
+ : undefined,
2617
+ integrations:
2618
+ output.integrations !== undefined && output.integrations !== null
2619
+ ? deserializeAws_restJson1ResourceIntegrations(output.integrations, context)
2454
2620
  : undefined,
2455
2621
  name: __expectString(output.name),
2456
2622
  } as any;
2457
2623
  };
2458
2624
 
2625
+ const deserializeAws_restJson1ResourceGroup = (output: any, context: __SerdeContext): ResourceGroup => {
2626
+ return {
2627
+ arn: __expectString(output.arn),
2628
+ errorMessage: __expectString(output.errorMessage),
2629
+ state: __expectString(output.state),
2630
+ } as any;
2631
+ };
2632
+
2459
2633
  const deserializeAws_restJson1ResourceInfo = (output: any, context: __SerdeContext): ResourceInfo => {
2460
2634
  return {
2461
2635
  arn: __expectString(output.arn),
@@ -2463,6 +2637,15 @@ const deserializeAws_restJson1ResourceInfo = (output: any, context: __SerdeConte
2463
2637
  } as any;
2464
2638
  };
2465
2639
 
2640
+ const deserializeAws_restJson1ResourceIntegrations = (output: any, context: __SerdeContext): ResourceIntegrations => {
2641
+ return {
2642
+ resourceGroup:
2643
+ output.resourceGroup !== undefined && output.resourceGroup !== null
2644
+ ? deserializeAws_restJson1ResourceGroup(output.resourceGroup, context)
2645
+ : undefined,
2646
+ } as any;
2647
+ };
2648
+
2466
2649
  const deserializeAws_restJson1Resources = (output: any, context: __SerdeContext): ResourceInfo[] => {
2467
2650
  return (output || [])
2468
2651
  .filter((e: any) => e != null)